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)