摘要:着重分析了两轮自平衡小车的设计原理与控制算法,采用卡尔曼滤波算法融合陀螺仪与加速度计信号,得到系统姿态倾角与角速度最优估计值,通过双闭环数字PID 算法实现系统的自平衡控制。设计了以MPU-6050传感器为姿态感知的两轮自平衡小车系统,选用8位单片机HT66FU50A为控制核心处理器,完成对传感器信号的采集处理、车身控制以及人机交互的设计,实现小车自主控制平衡状态、运行速度以及转向角度大小等功能。本文引用地址:http://www.eepw.com.cn/article/201602/287501.htm
引言
两轮自平衡小车一般都是以倒立摆的结构模型为基础,是移动机器人研究中的一个重要领域,是一个非线性、强耦合、多变量和不稳定的动态系统,可以很好地验证控制理论及控制方法的优秀平台,具有很高的研究价值[1]。
平衡车论文普遍侧重理论研究[2],首先建立直立车体的运动学和动力学数学模型(Euler-Lagran方法),设计反馈控制器来保证车体的平衡(极点配置和LQR两种算法),在此基础上进行基于LabVIEW的计算及仿真,或者基于Matlab搭建控制系统模型,给定参数,显示机器人的运动仿真图和系统响应曲线,获得两种算法的最优反馈矩阵
,系数K对应图1四个电位器实时修正。
本文的侧重点是理论与实践结合,硬件电路设计、软件设计与调试。其中,传感器数据融合与电机控制PID算法是实现小车平衡的核心内容,硬件设计结合关键源代码分析是本文的亮点。
平衡车设计过程中一般是整定PID,难点是如何运用仿真模拟车体平衡的参数,换算不同系数,将控制器设计实施到实际的设计当中。
1 基本工作原理
利用HT66FU50微控制器,使用PID 闭环控制算法和卡尔曼滤波算法完成数据融合处理,得到平滑而稳定车体控制值,通过电机驱动模块来驱动电机产生前进或后退的加速度来控制车体保持平衡,同时系统还要根据速度的反馈量来完成对车体速度和方向的控制。通过蓝牙模块与外部设备连接来控制小车的运动状态。自平衡小车的基本原理框图如图1所示。
2 加速度传感器及其源代码分析
加速度传感器的输出=地球重力(1g)×倾斜角的正弦(sin)(如图2)。当倾斜角接近90°时,相对角度变化加速度传感器的输出变化就会越来越小。将加速度传感器的输出换算成倾斜角度时需使用反正弦函数arcsin。