注释
|
RC ESC(电子速度控制)就像一个业余伺服器一样运行。它是一个 50Hz 的 PWM,脉冲长度从 1ms 到 2ms。 由于主轴已经在 PWM 通道上,我们只需调整 cpu_map.h 中的一些设置即可使其正常工作。 这是一个有效的 cpu_map 示例。只有一个问题。(见文末)
唯一的问题是 spindle_stop() 在我认为您需要 1ms 脉冲时有一个硬编码的 0。我不得不将其更改为 SPINDLE_PWM_OFF_VALUE。(见下文)。
|
|
它工作但主轴在应该关闭时以低速运行(M3 S0)。我认为这款电调的范围比普通电调更广。我尝试将 ESC_MIN_PULSE_SEC 降低到 0.0007,然后再降低到 0.0002,但都没有用。M3 S1000 大约是主轴全速运转。我尝试将 spindle_set_enable 设置回零库存,但这也不起作用,因为 esc 不会启动。还有其他降低脉冲长度的建议吗? |
|
在 RC 伺服上,PWM 不是 50Hz。它是 25 Hz,因为信号是 40 毫秒周期内的 1 到 2 毫秒脉冲。40 毫秒是 25 赫兹。不知道这是否与问题有关,但我知道更快的 PWM 速率会导致伺服器发出嗡嗡声。不知道 ESC 是否相同。 |
|
一般来说,模拟舵机的规格是 20ms 或 50Hz。你是对的,它可以有很大的不同。一些数字伺服系统喜欢它的速度要快得多。 你有你正在使用的ESC的链接吗?在低速下,那些较低脉冲长度下的速度是否相同? |
|
我发现了一个错误。我在代码中使用了其他伺服功能的定义值,但忘记重命名它们。这意味着如果您更改默认脉冲长度,代码实际上并没有改变。 将“SERVO”更改为“ESC”,因此这些行在 cpu_map 中看起来像这样。
这里有如此多的逻辑图来表明它现在可以工作。 离开 500RPM (50%) 1000 转 (100%) 此处以 0.0005 秒的最小脉冲关闭 |
|
它没有按我预期的那样工作。我将不得不把逻辑分析仪放在上面,看看我得到了什么。我注意到当我移动 x 轴时信号似乎发生了变化。esc 进入蜂鸣模式,就像信号丢失一样。我想知道您是否可以在移动轴后再次测量来重现。 |
|
`
` 这就是我所拥有的,现在我无法改变速度它总是看起来像上面的屏幕截图。(尝试使用 M3 S100、M3 S500、M3 S1000 等……信号保持如上 如果我移动一个轴,我会松开 pwm 信号,它看起来像下面这样(例如:点动 x 轴超过 1mm)
|
|
我发现了两个问题。
围绕主轴速度调整检查激光模式(stepper.cpp 中的第 258 行)
这可能与 0 速度不在 0 负荷有关。 感谢您对此问题的耐心等待。你能告诉我你用的电调和电机吗?我想找一个帮我测试。(也许建造一台 PCB 机器) |
|
通过上述更改,它现在可以完美运行。ESC 是我大约 8 年前从 Hobbyking 购买的(见图)。我已经用四轴飞行器的自定义固件刷新了它。它需要 700us 到 ~1800us 之间的脉冲长度。您上面的代码运行良好,现在激光模式检查已经到位,没有问题。电机是我手头上的另一台用于四轴飞行器的电机。它也很旧。当我平衡它们时,我把它们的标签都去掉了。PCBEater 电机的规格是 KV 额定值介于 900 至 1200KV 之间,尺寸为 28mm 或更小直径和约 28mm 高。电机应该有一个约 3mm 的轴,从最靠近电线的一侧伸出(见图)。我正在寻找电机的来源,一旦找到就会发布。 再次感谢您如此迅速地进行更改。 |
|
太棒了。 |










是否可以添加支持以启用 RC ESC 驱动主轴的控制?