低成本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吧。

 

 

 谢谢观看,谢谢!!!

有问题我们可以一起讨论。

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值