使用Arduino Uno控制电机速度而不使用analogWrite?

时间:2012-10-03 04:36:30

标签: arduino microcontroller avr robotics robot

我需要控制自主Arduino Uno机器人的速度,但我受到了限制。我不能使用任何MCU库,如analogWrite,MCU中的任何硬件设备或模块(定时器)。

我想过只需要以非常小的间隔关闭和打开电机并将其置于一个环路中。但我正在努力寻找一种更有效,更干净的方法。我需要能够将速度控制到正常速度的75%,50%和25%,并且打开和关闭电机,它会变得复杂。

如何以更有效的方式控制电机的速度?

1 个答案:

答案 0 :(得分:0)

你说你有一些非常严格的条件:

  

我不能使用任何MCU库,例如analogWrite,MCU中的任何硬件设备或模块(定时器)。

获取motor controller with a serial interface,无论何时想要更改速度,都要向其发出一些串行字节。您只需将Arduino的GND连接到控制器的GND,选择Arduino引脚作为TX线,并将该引脚连接到控制器的RX线。然后使用digitalWrite和delayMicroseconds来比特串行字节。