最近做一个机器人小车,需要驱动两个步进电机,设计电路板时遇到一点问题:驱动两个步进电机竞然需要从单片机上引出至少8根控制线,加上电源接地线,光控制线就得往一个电机控制板上连接至少6根线以上。再加上电机控制板的电源电机控制线,小车攒起来后,真是密密麻麻的线一团糟,实在觉得线太多太乱了。
而且从硬件工程师的角度考虑,这些从单片机引出来的控制线还都是TTL电平,很容易受干扰,连线绝对不能太长,如果我机器人做得和成人差不多高,真要把这种线延长至1米左右真还有点担心其稳定性。
解决这个问题自然会从电机驱动模块的控制线入手,能否减少电机驱动板的控制线呢。于是上某宝网上搜索电机驱动板,发现绝大多数的电机驱动模块都和L298差不多(不能不说L298太经典了),需要多根TTL电平控制线,并且在单片机中直接用代码来控制。偶尔会注意一下RS485接口的电机驱动板,但是发现它们一般都好贵,多是很专业级的,而且一般也都做的很大,不太合适。后来翻了一下RS485的一些资料,发现如果采用RS485接口来连接电机驱动板是一种比较好的方案,可以节省很多引脚,主要是因为看到在RS485总线上有使用一种叫MODBUS的协议,可以通过地址在一条RS485总线上与几个不同设备通信。
有了这种思路,在某宝上开始专门搜索RS485接口的电机驱动板,发现真有这样的小模块,价格不高,尺寸不大,关键是非常符合我的思路,而且这个模块做的更进了一步,把对电机驱动工作都做了(而且直流电机和步进电机都支持),只用向模块发送简单的命令就可以很方便的控制电机的各种转动参数,和我的思路最一致的地方是只用两根串口线就能同时控制两个步进电机了。于是果断拍了两块,换了设计方案,可以少使用好多控制连线哦。
觉得这个思路值得向做小车机器人的朋友推荐,所以就写出来和大家分享吧。为避打广告之嫌,就不贴任何的模块信息了,想要尝试的朋友可以到某宝上搜索“RS485电机驱动板”(一般人我不告诉他的哦)。我的小车机器人快调试好了,到时再分享给大家。 |