基于STM32单片机的两轮小车自平衡控制系统设计
摘要
本设计是对本质不稳定的两轮小车自平衡控制问题的研究,拟设计一种两轮自平衡的小车系统,并且实现蓝牙控制小车运动。该系统装置大致可分成步进电机电路、姿态解算电路、蓝牙控制电路三个电路。步进电机电路运用A4988驱动模块实现对HJ-42混合式步进电机的驱动;姿态解算电路融合了四元互补滤波算法和PID(ProportionIntegralDifferential)算法,在MPU6050六轴陀螺仪实时获取系统的姿态信息的基础上进行算法控制,以实现小车的直立平衡;蓝牙控制电路运用SPP-CA蓝牙模块,实现对小车的简单运动控制。本设计的其余电路还包括电源电路、8M晶振电路、电池电压采集电路等。
本次设计是以STM32单片机为核心,结合相关算法、硬件外设等使本质不平衡的小车系统实现直立平衡,并由蓝牙控制其运动。该设计能胜任在一些狭窄、有大转角等工作场合的执行任务,有望日后在军用和民用领域大量运用。
本设计的实现具有多方面的优势,主要有:功耗较低,反应速度较快,控制简便,运动灵活等。
关键字:二轮自平衡车;STM32F103C8T6;MPU6050;PID算法;
目录
1.TOC\o1-3\h\u17873引言 1
285382.概述 2
164322.1研究的背景和意义 2
14542.2国内外研究的现状与发展趋势 2
277193.总体设计 4
147043.1总体结构设计 4
73033.2电机驱动控制 4
274533.3直立平衡控制 4
205093.4蓝牙控制 5
173143.5研究技术关键 6
7883.6主要技术指标 6
136794.硬件设计 7
205404.1单片机电路 7
77834.2电源电路 8
316474.3步进电机电路 8
252124.3.1步进电机及其驱动器的选择 8
290044.3.2步进电机驱动原理 10
322134.4姿态解算电路 10
255324.4.1MPU6050模块的选择 10
308624.4.2四元互补滤波算法 11
239494.4.3PID算法 12
297684.5蓝牙控制电路 13
72094.5.1SPP-CA蓝牙模块的选择 13
56444.5.2串口通信的实现 13
256015.软件设计 15
222025.1总体设计 15
313485.2流程框图 16
98615.3系统程序设计 17
316885.3.1主程序设计 17
210045.3.2MPU6050模块程序设计 18
260535.3.3四元互补滤波模块程序设计 19
238055.3.4蓝牙控制模块程序设计 22
159686.制作与调试 24
272696.1硬件电路的布线与焊接 24
176216.1.1总体特点 24
272886.1.2焊接 24
103466.2调试 24
148656.2.1A4988电位器的调试 24
231566.2.2小车平衡环和速度环的调试 25
54337.总结 26
30529参考文献 28
PAGE
1-
1.引言
随着生活水平的提高、医疗技术的提升,世界人口数量屡创新高。而由于飞机、高铁等交通工具的发展,全球范围内的人员流动更加频繁、世界各国的物理界限被抹平,各类突发事件更容易在世界范围内蔓延,而二轮自平衡小车的设计就能很好适应各类重大风险的要求。
同时,随着科技水平的不断提升,科学技术是第一生产力的观念也更加深入人心,全世界各国的科学家们都在不断地朝着科学技术的广度和深度探索。此时,能在一些狭窄、大转角的工作场合行动自如的二轮自平衡车,逐渐引起了各国科研工作者的关注,逐渐走进了大众的视野。
为了在一些人力无法到达的极端狭窄、大转角的工作场合,实现救灾时的人员搜救、必要的安全排查等要求,体积小但灵敏便捷的二轮自平衡车应运而生,发展势头迅猛。
就目前而言,单片机成本低廉、功能强大,PID算法、互补滤波算法等各类算法已发展成熟,适配单片机的各类型硬件拆装方便。因此,结合了单片机技术与各类复杂算法、硬件装置的二轮自平衡车很有可能是未来平衡机器人的发展趋势。将二轮自平衡车应用于救灾搜救、安全排查等警用、军用工作场合,既降低人力成本、缓解劳动力短缺的现状,又激发了平衡车行业的前景、优化了平衡车行业的生态。此外,基于单片机的二轮自平衡车还具有功耗低、精度高、反应速度快、控制简单