小车舵机控制linux软件,在Linux(Ubuntu)上使用串口控制ROBOTIS Dynamxiel舵机
声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec)
硬件配置:
1、USB2Dynamixel串口模块
2、SMPS2Dynamixel电源模块
3、12V5A直流电源
4、Dynamixel舵机
软件配置:
1、roboplus (windows端)
2、cutecom (Ubuntu linux端)
这篇文章主要给大家介绍怎样用linux串口控制robotis 的 Dynamixel舵机。
Dynamixel舵机的通信方式分为两种:TTL和RS485。但这里得注意一点,TTL通信是半双工通信方式,而咱常见的TTL通信,都是全双工的,所以要使用TTL控制舵机,这里就得把全双工的串口转为半双工的通信模式。原理图如下:
以上原理图是给那些想自己画板子的人看的,一般用户可以直接使用USB2Dynamixel串口模块进行舵机控制。USB2Dynamixel串口模块具有TTL、RS232、RS485通信方式,所以控制robotis所有系列的舵机是完全没问题的。
以下图示是硬件连接部分,USB2Dynamixel串口模块具有三个档位,代表三种不同的通信方式,现在把它移至TTL档位:
首先,为了实验的方便,把测试舵机AX-12A的ID设置为1,波特率设置为9600(舵机出厂默认波特率为1000000)。
然后在windows系统上使用roboplus(robotis官方软件)来修改舵机信息
把舵机波特率修改为9600即可(对应软件里的波特率序号207(9615))。
最好再测试一下舵机的转动情况,如果这些测试都没问题的话,说明舵机是完好的,下面就可以进行linux的测试了。
现在,把USB2Dynamixel串口模块插入Ubuntu系统中,可以在 /dev 目录里边查看串口:
一般在 /dev 目录中会多出一个串口名称,这里出现的是 /dev/ttyUSB0 (也有可能是其他名称,比如 /dev/ttyUSB1等等),这就说明串口模块驱动成功。
下来,我们就可以进行舵机串口控制测试实验了。我们使用cutecom串口助手作为软件控制端。
首先得安装cutecom串口工具:
安装完毕之后就可以通过以下命令启动cutecom串口工具:
出现如下界面,选择 “/dev/ttyUSB0”串口,选择波特率“9600”。
然后点击“Open device”按钮,连接串口。
我们这里使用的测试协议样例如下:
读取当前位置:ff ff 01 04 02 24 02 d2
设置运动速度:ff ff 01 05 03 20 a6 00 30
转动到相应角度1:ff ff 01 05 03 1e 99 00 3f
转动到相应角度2:ff ff 01 05 03 1e 70 03 65
一般情况下,舵机都会执行相应指令,并做返回。这些协议测试没有问题的话,说明在linux上,串口测试舵机是成功的。
下来就可以自行写串口程序对舵机进行控制了。
如果windows上能够使用,而linux没法使用,那问题就出在linux的通信上,看看端口号和波特率是否正确,切记一点,舵机要独立供电。
发布评论