4 下位机的连线与调试

4.1 连线

(1)连线依据

使用开源项目ros_arduino_bridge。从名字上来看,ros_arduino_bridge是建立了ROS(机器人操作系统)和Arduino之间的桥梁。也就是建立了机器人上位机与下位机之间的通讯。它是一个ROS功能包集,包括了Arduino库(ROSArduinoBridge)和一系列用来控制基于Arduino的ROS功能包。

参考:https://wiki.ros.org/ros_arduino_bridge

a)下载

可直接在https://github.com/hbrobotics/ros_arduino_bridge下载。一般下载在“/home/下载”文件夹下。

 注:也可以使用以下命令 

git clone https://github.com/hbrobotics/ros_arduino_bridge

进行下载。本教程采用上一种下载方法进行介绍。

b)解压缩

双击下载的文件,点击提取,即可将文件解压缩。

c)打开ros_arduino_bridge/ros_arduino_firmware/src/libraries/ROSArduinoBridge/文件夹,用Arduino IDE软件打开ROSArduinoBridge.ino(双击即可)。

d)打开encoder_driver.h,如下图所示。从图中可知,左电机的编码器正极(OA)和负极(OB)分别接“Arduino”控制板的D2、D3脚。右电机的编码器正极(OA)和负极(OB)分别接“Arduino”控制板的A4、A5脚。

e)打开motor_driver.h,如下图所示。从图中可知,左电机的前后控制,使用的是“Arduino”控制板的D10和D6脚。右电机的前后控制,使用的是“Arduino”控制板的D9和D5脚。 

 但是“Arduino”控制板的I/O口,不能直接驱动电机。需要连接电机驱动器,因此需要将D10和D6脚分别接电机驱动器的AIN1、AIN2脚,D9和D5脚分别接驱动器的BIN1、BIN2脚。再结合3.2节-(2)-2)电机驱动器部分中的真值表。分别对各脚置“1”或“0”,即可控制电机转动。

接口

AIN1

0

0

1

AIN2

0

1

0

BIN1

0

0

1

BIN2

0

1

0

电机

停止

正转

反转

(2)连线图

根据以上原理,结合电机和电机驱动器等硬件说明,连线图如下。

4.2 下位机调试

1)打开ros_arduino_bridge/ros_arduino_firmware/src/libraries/ROSArduinoBridge/文件夹,用Arduino IDE软件打开ROSArduinoBridge.ino(双击即可)。

2)修改程序。打开ROSArduinoBridge。

下翻,找到以下程序段。 

 将程序进行修改,如下图所示。

 修改完之后,点击菜单栏工具,在下拉菜单中,开发板选择“Arduino Nano”,处理器选择:“ATmega328P(Old Bootloader)”,端口选择/dev/ttyUSB0。

点击“验证”、“上传”。将程序上传到“Arduino”控制板。

 3)打开端口权限。

打开终端,输入

sudo chmod 666 /dev/ttyUSB0

回车。

4)打开串口监视器,调试电机。

点击“串口监视器”,弹出对话框,如下图所示。

修改波特率为57600,输入命令m 30 30。电机即可旋转。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值