stm32的自平衡小车设计(附件)【字数:6037】

摘 要针对目前平衡车的种类多,功能单一,价格高等原因,这次设计采用了自平衡小车的直立控制原理,设计了一种基于STM32为主控芯片的自平衡小车。电源经由稳压模块供给5v和3.3v的电源提供到STM32主芯片和各个电子模块,STM32主芯片通过读取MPU-6050传感器芯片的数据,获取小车系统的运动状态,再经由TB6612FNG驱动芯片来控制直流电机的运动,直流电机经由编码器传输数据到STM32主芯片,这个即是两轮自平衡小车的基本硬件架构。电路图的制作使用了DXP软件设计,程序使用了Keil uVision5和STM32CubeMX软件设计,同时通过MIT App Inventor广州站官网在线编辑制作出了可遥控的手机APP。这是一个体积小,还可以添加超声波,避障,红外模块功能的小车。在编译和调试后,烧录到实物中,最终实现了小车的自平衡和前后左右方向的控制。
目 录
一、绪 论 1
1.1课题背景及意义 1
1.2应用发展前景 1
二、原理篇 2
2.1平衡控制 2
2.2小车角度和角速度 4
2.3速度控制 4
2.4方向控制 4
三、电路设计 4
3.1整体电路设计思路 4
3.2单片机最小系统 4
3.3系统电源 6
3.4六轴传感器电路 6
3.5电机驱动电路 7
3.6USB转串口电路 7
四、软件设计 8
4.1软件主要功能 8
4.2主函数程序流程图 8
4.3子程序流程图 8
五、调试 10
5.1调试思路 10
5.2硬件调试 10
5.3软件调试 11
总 结 12
致 谢 13
参考文献 14
附录 15
一、绪 论
1.1课题背景及意义
这些年来,随着电子科技技术的开展,智能移动机器人的研讨发展成为目前科学技术技术发展最活跃的范畴之一。一个简单的平衡小车上可以在生活中看到智能产物的影子,比如平衡小车的经典:PI *好棒文|www.hbsrm.com +Q: ^351916072^ 
D算法的应用。两轮自平衡小车可以帮助我们了解对于物体姿态的解算,物体运动轨迹的预测与判断。因为它具备体积小,灵活等特点,在军用,民用,外太空等恶劣环境下都有应用体现。了解平衡小车的工作原理以及组成对于我们学习以及今后的研究具有重要意义。
美国人Dean Kamen和他的研发公司研发出了可以载人的两轮自平衡机器人,Segway两轮自平衡机器人的外观如图1。
/
图1Segway两轮自平衡车
1.2应用发展前景
平衡小车由于简单,便捷,体积小和价格低等特点,受到很多人的喜爱。大街上可以看到人们用两轮平衡车代步,物流行业有平衡车配送和分拣。汽车的出现,致使交通变得拥挤,道路增宽。平衡小车与汽车相比具备体积小,便携,不易交通拥堵等特点。基于这样的原因,两轮平衡小车的优势就凸显出来了,今后的应用只会越来越广,有巨大的发展空间。
二、原理篇
2.1平衡控制
自平衡小车本身是不稳定的,所以实现小车的平衡控制用到了PID负反馈系统。
在生活中可以看到小车平衡的体现:比如在手上竖着摆放一个笤帚保持平衡。达到平衡的目的需要两个因素:一个是摆放笤帚的支点可动;二是看笤帚的倾斜角度和倾斜倾向(角速度)。通过支撑点的移动,对消了笤帚的倾斜角度和趋向,达到笤帚的平衡,这就是负反馈系统的基本体现如图2所示。
/
图2负反馈系统
用绳子挂着物体模拟单摆的运动来对比小车的平衡控制。平衡小车可以看成是被放在可以挪动平面上的倒立着的单摆模型(如图3)。
/
图3单摆模型
对一般的单摆受力分析如图4。
/
图4单摆受力分析
当物体离开竖直的位置后,便会受到重力与挂着线的作用合力,使得物体回到平衡状态回复力,其大小为:
F = ? mgsinθ ≈ ? mgθ
空气有阻力的因素,物体能够回到平衡状态。单摆回到平衡位置的因素:
(1)与位移相反的回复力;
(2)与运动速度相反的阻尼力。
通过对倒立摆底部车轮的控制,让小车加速运动,这样受到的回复力为:
F = mgsin θ – macos θ ≈ mg θ mk 1 θ ( 式21)
其中θ是小的,假设负反馈系统是车轮加速度与偏角是正比的关系,比例是k1。若k1>g(重力加速度),则回复力的方位和位移方位是相反的。同时,增加一个力让物体快速达到平衡状态。这个力与偏角的速度是方位相反,正比的关系。式(式21)可变为:
F= mgθ mk1θ mk2θ ( 式22)
提供车轮加速度为:
a= k1θ+k2θ (式23)
θ是小车倾角;θ是角速度;k1、k2是比例系数。当k1>g,k2>0时,小车就如同倒立摆达到平衡的状态。
总结控制小车直立稳定的条件如下:
(1)获得小车倾角θ和角速度θ数据。
(2)车轮的加速度。
得到小车倾角和倾角速度数据经由小车上的MPU6050模块实现。
电机的运动控制有三个作用:
(1)达到小车的平衡状态。
(2)达到小车匀速运动和静止。
(3)达到小车转向的控制。
2.2小车角度和角速度
小车的角速度和角度数据是经由MPU6050模块取得的。MPU6050模块将加速度计和陀螺仪一起封装,具有精度高,性价比高等好处。IIC接口有IIC协议,可以与主控芯片相连。经由模块里的DMP处理器解算四元数来获得姿态。
2.3速度控制
无论小车是否处于运动或者平衡的状态,小车的首要目标是保持直立平衡,其它对于小车都是干扰。小车前倾角角度增大,则车轮前行速度增大,根据这一反馈特性,要改变小车的速度,可以通过改变小车的倾斜角度来完成。
2.4方向控制
小车的转向功能在于两个轮子上面,电机带动轮子旋转前行,根据差速转向,所以只需要两个轮子的转速不一样即可达到转向的目的。而轮子是电机驱动的,所以只要给两轮不同的PWM信号,即可使小车进行转向。
三、电路设计
3.1整体电路设计思路
小车控制系统的电路,从输入、输出信号,到选择符合的单片机,各个模块的电路设计整合在一起的控制电路。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/324.html

好棒文