我需要控制我的自主Arduino Uno机器人的速度,但我受到了限制。我不能使用任何 MCU 库,例如analogWrite、来自 MCU(定时器)的任何硬件设备或模块。
我曾想过以非常小的间隔关闭和打开电机并将其置于循环中。但我正在努力寻找一种更有效、更干净的方法。我需要能够将速度控制在正常速度的 75%、50% 和 25%,并打开和关闭电机,这很复杂。
如何以更有效的方式控制电机的速度?
我需要控制我的自主Arduino Uno机器人的速度,但我受到了限制。我不能使用任何 MCU 库,例如analogWrite、来自 MCU(定时器)的任何硬件设备或模块。
我曾想过以非常小的间隔关闭和打开电机并将其置于循环中。但我正在努力寻找一种更有效、更干净的方法。我需要能够将速度控制在正常速度的 75%、50% 和 25%,并打开和关闭电机,这很复杂。
如何以更有效的方式控制电机的速度?
你说你有一些非常严格的条件:
我不能使用任何 MCU 库,例如analogWrite、来自 MCU(定时器)的任何硬件设备或模块。
获得一个带有串行接口的电机控制器,每当你想改变速度时,把几个串行字节按位发送给它。您只需将 Arduino 的 GND 连接到控制器的 GND,选择一个 Arduino 引脚作为 TX 线,然后将该引脚连接到控制器的 RX 线。然后使用 digitalWrite 和 delayMicroseconds 对一些串行字节进行 bit-bang。