| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 低成本Arduino小车+ROS平台控制----小车硬件介绍 -> 正文阅读 |
|
[嵌入式]低成本Arduino小车+ROS平台控制----小车硬件介绍 |
近期受疫情影响,STM32芯片一路涨价,本着低成本的原则(穷学生狗头🐶)现在想做一个ROS平台控制的小车只能选择其他低成本的开发板了。比较之下最终选择Arduino mega开发板,最后实现的效果还是不错的。 这里放一个B站的视频链接: https://www.bilibili.com/video/BV1QM4y157La/ 觉得有用的小伙伴可以给我一个赞么?你们的支持是我更新的动力。 下面对所用到的硬件一一介绍。 1.Arduino mega开发板Arduino mega的开发板我就不多介绍了,平时大家应该多多少少都接触过。非常好用的一块板子,使用Arduino的IDE去开发,相比于Arudino uno,mega多了很多引脚,比如串口多了3个,PWM,AD输入等口都有增加。 值得一说的是,Arduino mega开发板的时钟只有16MHz,相比于STM32F1系列的要低很多,STM32一般都是72Mhz以上的。这个16MHz的时钟频率一般来说都是够用的,我也是采集加入高精度的编码器采集电机转动脉冲时,发现这时候判断脉冲的正负程序会卡死,当降低电机转速时候,才能正常工作,我判断应该是晶振时钟比较慢的问题,之前使用STM32不会出现这样的问题。至于怎么样处理电机速度的问题,后续会说到。 使用Arduino uno也可以实现相同的功能,但是后续可能会小车上加一些其他的功能,所以我就使用了mega开发板。问题不大。 2.电机电机是个坑。因为我们后续要在ROS里发布里程计的数据,对电机的要求需要能够测速。 我采用的差速的方式,需要两个电机。 我前后用过三款电机,第一种是普通的TT电机,对这种电机测速一般都是采用光栅码盘。我用arduino去测试,发现误差很大,相同占空比的情况下,一个数据是1800,另一个是1400,我果断放弃了这种电机。 ?第二种我使用的减速电机,他的减速比是1:4.4,然后转一圈的脉冲只有11个,精度非常差,而且扭矩非常小,后续调PID,空载和放在地上转动完全不一样,我用键盘控制,按下停止键了,电机还会往前移动一段,里程计和控制作用不太,这种电机最终效果误差很大。 第三种也是最后一种,我换了一款减速比较大的点,扭矩比较大,最后的控制效果不错,具体电机的型号我用的GA25-371,减速比74.8,一圈有360个脉冲。建议大家使用减速比大一些的电机,但也不能太大, 可以参考我这个电机型号。要使用六线的电机,六线种分别为两根电机电源,四根是编码器的线。 ?3.电机驱动我采用的L298N,玩过智能小车的同学都应该接触过,就不多说啦,直接上图。 4.电池?电池直接采用12V供电就行,我采用的锂电池 ?这个电池里面应该是3节18650,价格也不贵,充电也很方便。 5.陀螺仪模块陀螺仪是ROS小车种比较重要的一环,因为和里程计数据直接挂钩,好的陀螺仪数据可以保证里程计数据的精准。我这里采用的MPU6050,这是一款市面上非常常见的陀螺仪模块,Arduino也有很好的库去支持它。具体怎样使用MPU6050后续会详细的说明。 ?6.数传模块因为我现在手上没有树莓派和激光雷达,所以暂时无法对小车进行SLAM和Navigation导航,所以我就使用了一个数传模块用来传输速度信息和接收数据,如果你手上有树莓派,可以不适用数传模块,直接将arudino通过串口连接到树莓派上。 主体的硬件都介绍完了,至于轮子,平台什么的大家可以自己想办法,自己动手DIY吧。 ? ? ?谢谢观看,谢谢!!! 有问题我们可以一起讨论。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:48:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |