基于STM32的两轮自平衡小车控制系统设计
2018-08-20王磊宁欣
王磊 宁欣
摘 要:本文主要对两轮自平衡小车的姿态检测算法、PID控制算法两方面进行展开研究。用加速度传感器和陀螺仪传感器融合而成的姿态传感系统与互补滤波器组合得到自平衡小车准确而稳定的姿态信息,然后PID调节器则利用这些姿态信息输出电机控制信号,控制电机的转动,从而使小车得以平衡。
关键词:STM32;自平衡小车;控制系统;控制算法
DOI:10.16640/j.cnki.37-1222/t.2018.13.052
1 研究意义
应用意义:两轮平衡车是一种新型的交通工具,它与电动自行车和摩托车车轮前后排列方式不同,而是采用两轮并排固定的方式,就像一种两轮平行的机器人一样。两轮自平衡控制系统是一种两轮左右平行布置的,像传统的倒立摆一样,本身是一个自然不稳定体,必须施加强有力的控制手段才能使之稳定。两轮平衡车具有运动灵活、智能控制、操作简单、节省能源、绿色环保、转弯半径为0等优点。因此它适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。具有很大的市场和应用前景。
理论研究意义:车体状态运算主要是将各传感器测量的数据加以融合得出车体倾斜角度值、倾斜角速度值以及行车速度等。平衡控制运算根据车体状态数据,计算保持平衡需要的行车速度和加速度,或者转弯所需要的左右电机速度变化值,向电机控制驱动模块发送控制指令。运算模块相当于两轮自平衡电动车的大脑,它主要负责的工作是:控制电机的起停,向控制模块发出加速、减速、电机正反转和制动等速度控制信号,接收电机Hall信号进行车速度计算,并通过RS一232串口向PC发送车速数据以供存储和分析。另外,还负责接收车体平衡姿态数据,进行自平衡运算。
现有的自平衡车结构种类繁多,但车体都归根于由三层的基本结构组成,从上到下依次是电池层、主控层、电机驱动层。电池层用于放置给整个系统供电的6V锂电池,主控层由主控芯片系统和传感器模块组成,电机驱动层接受单片机信号,并控制电机。每个层都是功能模块的电路路板,之间用铜柱固定,电机外壳与电机驱动电路板固定,电机转轴与两只轮胎相连。
通过对自平衡车进行受力分析可知:在没有外力的作用下,车体处于不稳定的状态,处于倾倒的趋势。
从受力平衡的角度分析,只有当车体重力的方向和地面对车轮支持力的方向同线反向时(即二力角度为180°),车体才会处于稳定平衡的状态。当支持力和车体之间呈现倾角θ的时候,车体就会有倾倒的趋势。在现实中,θ角会受到很多因素的影响一直存在,即使角度很小。这时车身重力方向和支撑力的之间也会产生夹角,会导致θ角越来越大,直至倾倒。
2 平衡的方法
从上述分析可以得出,θ角度的产生是导致两轮平衡车倾倒的最主要的原因,因此,如果要使平衡小车保持平衡状态,就需要把θ角控制在合适的范围内才可以使小车不至于倾倒。
通过研究分析,我们得出:当θ为零时或者接近0时车体保持平衡,而当θ角超过平衡的角度范围是就趋于倾倒,这时当θ角变大时,通过控制系统获取θ角的大小,通过控制电动机的转动来带动车轮转动,对θ角的大小进行调节,使θ角基本为0从而保证车体的平衡。
3 系统总体设计简述
主控芯片:
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex?-M0,M0+,M3, M4和M7内核。相对其他的单片机,具有主频高、价格便宜、外设功能多的特点。而且操作起来比较简单,有专门的软件库可供使用,操作、调试比较便宜,考虑到平衡小车功耗低的要求,STM32能在这方面满足要求。因此我们选择STM32作为主控芯片。
传感器:
目前自平衡車倾角一般采用陀螺仪或加速度计进行测量。为了使自平衡小车能够在转向、速度控制、抗干扰等稳定性上有比较大的性能提升, 单纯利用其中一种传感器采集到的信号存在极大误差,无论是加速度计还是陀螺仪,都有自己的优势和劣势,无法满足自平衡车直立控制的需要。因为一个传感器通常不可靠。因此采用陀螺仪和加速度计测量倾角,最后选择均有IIC接口的L3G4200陀螺仪传感器和ADXL345加速度传感器。
电机选择方案:
步进电机没有电刷,可靠性较高,使用寿长命;具有优秀的起停和反转响应;电机的响应仅由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构可以比较简单而且控制成本较低;在速度控制方面,速度正比于脉冲频率,因而有比较宽的转速范围。而且具有优秀的起停和反转响应。综上优点十分适合自平衡车车轮的驱动。
4 技术路线
首先通过搭建两轮平衡车的硬件电路和机械结构,硬件电路主要包括电源电路、陀螺仪和加速度电路、电机驱动电路、无线遥控电路等;其次进行算法的设计,主要包括控制电机的PID算法控制器的设计以及对陀螺仪和加速度进行滤波的卡尔曼滤波算法设计;最后进行系统整合和相关的系统功能,通过不断的调整使小车处于平衡的状态。
参考文献:
[1]任金星,屈胜利,骞少辉.滤波器自适应滑模控制器在自平衡小车中的应用[J]. 航空计算技术,2008(05):88-91.
[2]程刚,屈胜利,刘学超.两轮自平衡小车可控角度的推导研究[J].伺服控制,2008(06):51-53.
[3]王素青,熊维堂.基于STM32的两轮自平衡小车系统设计[J].实验室研究与探索,2016(05):146-150.
[4]季鹏飞,朱燕,程传统,杜晓.基于STM32的两轮自平衡小车控制系统设计[J].电子科技,2014(11):96-99+105.
作者简介:王磊(1982-),男,河南新乡人,硕士研究生在读,中级讲师。