3.ROS_arduino_bridge
1.开源硬件
- 将想法通过程序告诉Arduino Nano,让他的GPIO输出或者输入一定规律的电信号来感知和控制世界
- GPIO(general-purpose input/ourput)


2.开源项目
- 判断文件夹下哪个代码可以被arduino打开:一般与文件夹同名的代码就是主代码
- 项目配置

2.1Arduino Nano与电机驱动模块的关系

2.2带编码器的直流减速电机

2.3带编码器的直流减速电机

2.4电机驱动模块TB6612
将Nano输出的电信号进行放大处理以驱动电机转动


2.5Arduino Nano与TB6612的连接


2.6 TB6612与电机M1、M2的连接

1连正极 2连负极
2.7 电机与Nano的连接

4.底盘控制器电路设计与制作
1.底层控制板
1.1定义
将小车内的电子元器件连接在一张底板上,是一个抽象设计,只要知道输入什么,输出什么即可
1.2例子
- ROBOMASTER A板,C板
- DFROBOT 电机驱动模块 (microbit)
1.3选材(学习洞洞板就好)
- 面包板
- 直插线类型可以直接插进去
- 板上竖的的线连在一起的 横的连在一起的
- 洞洞板
- 每个点都是焊盘
- 点与点的连接通过锡接过线等方法进行连接
- 手工PCB
- 整面铜箔,通过设计好的图形腐蚀出一定的图形
- 与上边的板不同,这个只需要把线插上去将元器件固定好即可
- 涉及到一个CAD到CAM的过程
1.4布局
1.方法
- 飞线
- 锡接过线(受到洞洞板的限制,无法斜着接线)
- 杜邦线逻辑
- 印制电路板
2.过程
- 绘制示意性草图,用实物在板上摆一下
3.Arduino Nano部分
量边界排针,杜邦线连接在排针上,排针按照SVG的顺序来排列
4.TB6612部分

5.电机部分

6.工具
- 电烙铁
- 万用表
- 焊锡丝

2.硬件测试
- 检查顺序
- 电源
- 信号线
3.软件测试
- 使用m命令驱动电机
- 打开ArduinoIDE,串口助手
- 确认波特率57600kbps
- 发送m 50 50
- 观察电机运转情况(向前转 电机应该逆时针转)
- 确认电机运动方向
- 设定运动底盘的正方向
- 观察电机运转情况是否与理论一致
- 如果转的太快,就把左边电机的编码器上的A、B调换一下 原来接A的现在接B
- 如果旋转方向错误 将电机上的M+和M-调换
- 确认编码器计数方向
- 发送e
- 观察编码器计数是否返回(向前转 -->计数增加 反之减少)
5.机器人本体制作
1.差速模型

2.常见的控制手段
- 功率控制
- 控制左右电机的功率
- 速度控制
- 建立数学模型

3.考虑因素
- 稳固
- 需要承载的部件
- 考虑相互的干涉
- 激光雷达(尽量不要挡住激光雷达的视野范围)
- 电脑
- 控制板
- 电机的连接:螺钉不能太长,否则会顶到减速箱里边的齿轮
4.记录机器人参数
- 核心参数(单位m)
- 轮径 (d)
- 轮距 (I)


本文详细介绍了如何使用ROS与Arduino Nano结合,通过TB6612驱动电机,构建底盘控制器电路。从硬件选材、布局设计到软件测试,包括电机运动方向与编码器计数的验证,一步步解析了整个过程。同时,提到了功率和速度控制的差速模型以及机器人制作中的关键参数记录。

4107

被折叠的 条评论
为什么被折叠?



