注释
|
@davidnhutch我认为您可能在 PWM 方面走错了路。 如果您希望步进器连续旋转,则 PWM 很好,但 GRBL 在需要时执行单步。 我认为您会更多地寻找数字引脚功能,并在需要时使用 GRBL 切换 4 个引脚。这可以通过一系列引脚状态到步骤来完成,然后 GRBL 在需要步骤时选择下一个数组值。 您最好将 ATTINY 放在 H 桥旁边,以将 step 和 dir 转换为引脚状态。 |
|
好的,我明白了——所以 PWM 不一定是必需的,但需要数字输出的“位冲击”(由于它具有额外的敏捷性,可以输出单步并快速改变速度/方向?) 但是我有四件事我不明白:
谢谢! |
|
@davidnhutch:Grbl 不做 H-Bridge 有几个主要原因:
|


我有 Arduino Mega 2560 开发板。它有无数的备用引脚,包括比使用的多得多的 PWM 引脚。
我知道不支持 H 桥,EasyDriver Step/Direction 是可行的方法。
然而,H 桥电路非常便宜(刚买了一套 1axis 板,每个 3 美元,运费 2 美元,来自 ebay,装好并准备好滚动)。我突然想到,在 Mega 2560 等硬件上,也许可以对 grbl 代码进行小的修改,这样当 grbl 从常规步进/方向引脚输出特定的步进/方向时,它还可以在任何一个上输出适当的 PWM 信号备用 PWM 引脚。因此,用户可以使用 step/dir 驱动器,或者,如果用户有足够的 PWM 引脚,则可以使用 PWM 引脚来驱动 H 桥。
我知道对于我的双极电机,我需要为每个电机提供四个相位控制。所以对于我的 3 个电机,我需要 12 个 PWM 引脚。但是,我拥有的不仅仅是 Mega 2560 上的可用资源。
我现在正在尝试理解代码,但想知道——有人知道如何制作这样的模组吗?基本上,添加行使得无论何时设置 Step/Dir,它也会设置预定义的 PWM 引脚脉冲宽度,该脉冲宽度被馈送到 H 桥以驱动步进电机?(即它为每个连接的电机设置四个 PWM 引脚,从而实现此处描述的任何相电流调制:http ://en.wikipedia.org/wiki/Stepper_motor#Phase_current_waveforms )