龙源期刊网httpwwwqika
comc
基于STM32的两轮自平衡车控制系统设计与实现
作者:王鹏来源:《中国科技纵横》2018年第18期
摘要:本论文以两轮自平衡车的控制系统为主要的研究对象,以两轮自平衡车能够自主稳定站立与运行进行整体的研究与设计。对两轮自平衡车进行了数学建模,并进行仿真与分析,为控制系统提供了理论基础。选择了以STM32F103C8T6单片机为主控制器,MPU6050作为姿态的检测,TB6612为驱动器,HC06蓝牙模块为无线传输的方案。硬件设计主要包括了主控制器的电路、MPU6050电路、驱动电路、蓝牙电路、电源电路以及电源电压检测电路等等。软件设计主要包括PWM的软件设计和算法的软件设计。对姿态的解算中卡尔曼滤波算法和PID算法进行了详细的介绍,PID算法主要包括了小车的三种方式:平衡PD、速度PI、方向PD的控制算法。最后对各个模块进行验证,通过调试小车基本能完成前、后、左、右运动。
关键词:自平衡;STM32F103C8T6;卡尔曼滤波;PID
中图分类号:TP242文献标识码:A文章号:16712064(2018)18004303
1概述
对于当今社会的发展状况来说,在一些特殊的领域中,移动机器人的研究变得越来越具体和进步。当仅仅允许一些设备在凹凸不平的地面上行走以及在一些狭窄的环境运行时,就要对两轮平衡车进行研究了。两轮自平衡机器人是具有环境感知、动态决策规划、行为控制以及执行功能的特点,本文主要是通过数学建模的方式为调试部分提供一定的理论基础,通过系统软、硬件的设计以及调试使小车能最终实现前进、后退、左转、右转的功能。
2数学建模及Matlab仿真
小车模型的数学分析,其模型如图1所示,小车的质量为m,受到的重力为mg,小车的重心高度为l。小车在外力的状态下的角加速度为X(t),轮子的加速度为a(t)可列出微分方程:
(1)
当角度β很小时,,,a(t)0,这时将微分方程简化。为保证系统是稳定的,加入反馈环节,给小车一个加速度,传递函数H(s):
f龙源期刊网httpwwwqika
comc
(2)
注意:。
利用Matlab进行仿真,调节两个参数时,用的是控制变量的方法,调节小车时考虑到反应时间、速度的大小等。为了找出规律,首先给的干扰信号一定以及确定一个的值,然后调节的值,过小时,角度会发生振荡的变化;接近但又小于准确值时,会出现超调的现象;过大时,角度自恢复的时间会变长,如图2所示,通过对比发现随着的增大,角度自恢复时的幅值会变小12。
为了找出合适的反应时间,可以改变的值。而仅仅改变的值时,调大时角度的波r