有一段时间没有更新博客了,最近一段时间都在忙毕业和实习,闲暇的时候也在学习怎么写公众号推文,实在惭愧。毕业设计做的是平衡小车,这几天某宝买的器件还不知所踪,新的PCB电路板又不想画,所以在想要不把做过的过程回顾一次,以后好写论文。该项目会分“模块选型篇”、“原理篇”、“硬件篇”和“软件调试篇”(立好flag,希望自己能好好完成)。由于博主水平有限,都是自己网上找资料找代码学习的,如果有地方描述不清晰,请各位大佬指正或者与我一同讨论。想获取源码吗?去我的简介找“于此生”吧,我把一切都放在那里了。 这里先列出平衡小车的模块组成。平衡小车的模块组成比较简单,主要包含以下模块:
- 主控模块
- 电机驱动模块
- MPU6050模块
- 蓝牙通信模块
- 降压模块
主控模块: 主控模块选择的是stm32f103c8t6,一块比较通用的模块,功能也比较强大,我这块主控板是在某宝买的,自带1.44寸TFT-LCD显示屏接口,方便调试,如图所示:
该核心板体积较小,它的主频是72MHz,48个管脚,内部有三路通用定时器和一路高级定时器,并带有3路串口和两路IIC/SPI输出,用来做平衡小车的主控是合格的。 电机驱动模块 电机驱动模块选择的是A4950模块。该模块上集成两个A4950芯片,单芯片内部集成MOS全桥电路,可以使用一个芯片控制电机的正反转。如下图所示:
这种电机驱动模块的用法类似于L298N,也是四路IN PWM输入、四路OUT输出,其驱动电压为7.6V-40V,。当初选择这个模块就因为某宝店家里的宣传:“性能远超TB6612”…说实话,用起来确实还不错的。 MPU6050模块 众所周知平衡小车是靠两个轮子晃来晃去…来保持平衡的,即小车有向一边倒下的趋势的时候就马上向倒下那一边加速,小车向一边倾斜的时候会出现一个倾角,那个获取这个倾角对于保持平衡来说至关重要。这里选用MPU6050传感器模块来获取平衡倾角,如下图所示:
该模块是某点原子店铺买的,使用的是IIC通信,结合DMP库比较能容易获取角度。 蓝牙通信模块 如果通过上面的模块基本可以实现平衡小车的直立控制了,但要是想实现转向控制,还需要加转向环。平衡小车由直立环、速度环和转向环三个控制逻辑环组成,直立环是平衡小车最重要的一环,是整个平衡小车的基础;转向环则是实现小车转弯的一环。通常利用上位机与平衡小车的交互来来控制转向,这里使用的是蓝牙模块,HC-05/HC-06 /SPP-C这些通用的型号都可以用,蓝牙模块通过串口通信来传输数据,使用起来比较简单,模块如图所示:
降压模块 平衡小车使用三节3.7V18650电池供电,电机驱动模块的驱动电压为12V,主控和传感器的驱动电压为5V,因此需要进行降压,才能满足整个电路的电源使用。这里选择的是LM2596S降压模块,如下图所示:
该模块自带数码管显示电压,输入为3.5V–40V,3V–35V可调输出,方便二次开发。 主要模块选型就介绍到这里,这里先放一张完成的效果图:
硬件还是比较粗糙,所以就想重新做硬件,尽量完善!下一篇是原理篇,尽快更新…吧。