打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于STM32的电动车控制系统设计
? 基于STM32的电动车控制系统设计

基于STM32的电动车控制系统设计

杨思俊

(西安航空职业技术学院电子工程学院,陕西 西安 710089)

摘要:针对当前日益严峻的环境问题,基于两轮自平衡车在体积、灵活性方面的优势,提出一种两轮自平衡电动系统。在硬件方面,以STM32作为主控芯片,利用传感器对两轮车的加速度、旋转角速度等进行测量,并通过IR2111芯片对电机进行驱动;在软件方面,利用卡尔曼滤波对采集到的倾角信号进行处理,同时引入PID控制思想对两轮自平衡车进行控制。最后通过仿真得到比较稳定和均匀的PID控制波形,从而验证了设计方法的可行性。

关键词:两轮自平衡车;姿态传感器;倾角;PID控制;系统调试

随着现代社会人们在环保意识方面的加强,电动车以其独特的优势进入到人们的视野,并成为又一个重要的交通工具。在电动车的分类中,直立式两轮自平衡机器人是机电一体化研究的重要成果,成为当前机械制造的趋势和方向。它改变了传统的以前后两轮作为驱动的方式,采用同轴线上的两轮并排固定的方式进行驱动,是一款环保、轻便的绿色机电产品。

自平衡系统是一个非常复杂的不稳定动态系统,需要进行平稳调整。从技术层面来讲,其工作与控制原理源于倒立摆模型,呈现出强耦合、多参数变量、非线性、多输入多输出的特点。因此,如何解决动态平衡控制问题,成为其中的技术难点。针对该问题,HENDZEL 等[1]提出采用二元启发式规划算法对平衡进行控制,取得良好的效果;胡建等[2]则提出自抗扰控制算法,通过估算所有扰动之和的方式,实现对整体平衡的控制。通过归纳总结发现,在对平衡控制中,特别是在平衡信号的测量和处理中还缺乏对信号的处理,导致采集到的信号精度不高,给后续控制带来很大问题。同时在两轮自平衡控制过程中还存在严重的抖振问题[3]。本文就上述研究存在的问题,提出一种基于STM32芯片的自平衡系统。

1 两轮自平衡电动车控制原理

在对电动车机械部分进行设计之前,首先必须

了解两轮自平衡电动车自平衡的原理。平衡电动车通常包括向前倾、后仰或者静止3个动作[4]。在一般情况下,两轮车是自动倾倒。要保证两轮小车平衡,必须采取一定的方法或策略控制小车平衡。如静止时,必须保持两轮车车身的重心落在两轮与地面接触点连线的中心位置,即可保持车身平衡;当车身前倾时,车身重心是前移,要保持车身平衡,车轮必须前进,从而前移支撑点,让重心与车体重合,才能保持平衡;同理,当车身后倾时,重心后移,必须让车轮后移,才能保持平衡。具体平衡控制原理如图1所示。

图1 平衡控制原理图

通过图1可以看出,要保持车体平衡,车体必须根据倾斜方向向前或者向后加速。换句话说,自平衡控制的原理就是根据车身倾斜方向对电机进行控制,让两轮小车的车轮获得向前或向后的加速度,从而实现对车体倾斜角度的控制,让车体保持直立的姿态,最终达到平衡控制的目的。

2 系统设计主要结构参数

根据两轮自平衡车整车设计的实际需求,从安全性和舒适性出发,设计系统参数,见表1。

表1 系统具体参数

参数取值车长/mm450车宽/mm650净重/kg30平衡控制角/(°)-7~7标准速度/(km·h-1)10最高速度/(km·h-1)15最大爬坡角/(°)10最大承重/kg100

3 系统设计

3.1 系统整体硬件框架设计

根据上述原理设计的系统主要硬件模块如图2所示。

图2 电动车硬件模块

通过图2可以看出,在对加速度的采集中,采用ADXL345 芯片。该芯片为ADI 公司推出的一款三轴加速度传感器[5],具有I2C和SPI的数字输出功能,同时该芯片具有轻薄、低功耗和高分辨率等优点,感应的精度可精确到3.9mg/LSB,最大可感知±16g的加速度,倾角测量的误差小于1°;同时采用ITG3205 三轴陀螺仪对瞬时旋转角速度进行测量,该芯片可将数字信号全部整合到一个单一的电路。通过上述两种传感器将采集的数据通过I2C总线传递给STM32处理器,STM32处理器通过软件算法对采集到的两轮自平衡车姿态信息进行处理,从而判断是否需要转弯,若要转弯,还要计算出小车车轮转向所需的控制量,然后将这两个控制量作用于电机的驱动电路,用于对电机车轮加速度的控制,实现整体平衡。如此反复,重复对姿态信息进行采集,达到不断控制的目的。

3.2 自平衡控制方法

设计软件时,需要解决2个问题:1)如何提高加速度和倾斜角信息采集精度;2)如何精确控制左轮和右轮转动量。在对加速度和倾角精度控制中,受到路面振动或电机振动的影响,会给测量带来一定的偏差[6]。因此必须对采集到的信号进行处理,去除其中存在的无用信号,保留有用信号。卡尔曼滤波就是根据该原理对信号进行处理,通过去除加速度和倾角中的误差,提高采集的精度;同时PWM作为电机控制的重要参数,引入PID控制思想对PWM进行修正。根据上述分析设计的系统软件控制流程如图3所示。

图3 主控制流程

1)卡尔曼滤波实现。

在对自平衡车姿态数据采集时,通常采用多传感器对姿态信息进行检测。其中,对多传感器冗余的测量数据进行变换处理,是获取准确信息的关键[7]。卡尔曼滤波器作为一种有效的递归滤波器,其运算包括预测和修正两个部分,其中预测是指由前一时刻的状态估计值计算当前时刻的状态估计值;修正又被称作测量更新,即将先验状态估计值与当前的观测数据相结合,纯化或改善状态估计值,进而获得当前时刻的后验状态估计值。具体运算过程包括以下几个步骤:

第一步,根据

和uk两个参数预测
,从而得到先验状态估计值;同时利用(k-1)时刻的后延协方差矩阵Pk-1和在k时刻下的噪声协方差矩阵Qk对先验估计协方差进行预测。

第二步,通过第一步预测得到的先验状态估计值

整体测量的残差
最优的增益矩阵Kk3个参数,对k时刻下的后验状态估计值
进行计算,同时利用预测先验估计协方差矩阵
最优的增益矩阵Kk对先验估计协方差进行预测。

第三步,将k时刻求解得到的值作为初始值,重复第一步。

2)PID控制算法改进。

传统PID控制是以比例、积分、微分作为基础参数,输入到控制器实现控制。数学表达式如下[8]

(1)

式中:u(t)为PWM输出量;e(t)为调整量与设定值之间的差值;TI为积分时间;TD为微分时间。

式(1)为模拟PID调节公式。对于自平衡车来讲,只能根据采样时刻的偏差值e(t)计算电机转动的控制量u(k),由此可得:

(2)

式中:e(k),e(k-1)分别表示在第k次和(k-1)次的采样输入值;T为恒定采样周期;e(j)表示系统偏差的过去值。

将第k次和第(k-1)次得到的采样值相减,就可得到增量式PID控制算法[9],则有:

Δu(k)=u(k)-u(k-1)=KP[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]

(3)

分别令:

Δe(k)=e(k)-e(k-1)

Δe(k-1)=e(k-1)-e(k-2)

代入式(3)可得:

Δu(k)=KPΔe(k)+KIe(k)+KD[Δe(k)-Δe(k-1)]

(4)

式(4)计算出的Δu(k)为本文电机转动的变化量。求解k时刻的最终控制量的公式如下:

u(k)=u(k-1)+Δu(k)

(5)

4 系统调试

利用基于加速度传感器的采集系统对数据加速度进行采集,经卡尔曼滤波后,得到图4的波形图。通过图4可以看出,经滤波后产生的波形无毛刺,说明滤波效果好。

图4 经卡尔曼滤波的加速度采集波形图

结合增量式PID控制算法,利用MDK仿真软件对STM32进行编程,从而得到如图5所示的PID控制输出波形图。通过该波形可以看出,自平衡系统的输出波形比较平稳,同时沿着一个方向。由此可以说明,利用增量式调节算法可让两轮电动车保持平衡状态,并实现稳定控制。

图5 PID控制输出波形图

通过实物平衡测试,两轮电动车基本可以保持平衡,如图6所示。

图6 电动车载人测试

5 结束语

结合当前两轮自平衡车的原理,利用增量式PID控制算法优势,并结合STM32主控芯片,实现了一款两轮自平衡车的平衡控制。同时,在开发中,本文还引入了卡尔曼滤波算法对采集到的加速度数据进行过滤,从而大大提高了基础数据采集精度,为PID算法与STM32的结合开发提供了新的实践参考。但是,笔者在研究中也发现,增量式PID算法对自平衡的控制还存在很多问题,如增量式PID控制适合于线性关系的参数,而小车平衡参数大部分都是非线性关系。因此,在接下来的工作中还需要对非线性变化问题做进一步研究。

参考文献:

[1] HENDZEL Z,SZUSTER M.Discrete neural dynamic programming in wheeled mobile robot control[J].Communication in Nonlinear Science and Numerical Simulation,2011,16(5):2355-2362.[2] 胡建,颜钢锋.基于自抗扰控制算法的两轮自平衡车分析[J].机电工程,2014(2):159-164.

[3] 荣少巍.基于STM32的实收实发超声波检测系统研究[J].国外电子测量技术,2014(9):54-58.

[4] 刘燕燕,杨帮华,丁丽娜,等.基于STM32的红外火灾探测系统设计[J].计算机测量与控制,2013(1):51-53.

[5] 秦永元,张洪钺,汪叔华.卡尔曼滤波与组合导航原理[M].西安:西北工业大学出版社,2012.

[6] 邓自立.Wiener 滤波,Kalman 滤波和信息融合滤波理论研究进展[J].黑龙江大学工程学报,2011(3):37-44.

[7] 任国华,唐昌进,蒋刚.一种基于 Kalman 滤波的双轮机器人姿态控制算法[J].机械设计与制造,2013(2):39-41.

[8] 姚栋伟,吴锋,杨志家,等.基于增量式数字PID的汽油机怠速控制研究[J].浙江大学学报(工学版),2010(6):1122-1126.

[9] 熊家秦,熊锐,吴坚,等.增量式PID怠速控制策略在发动机上的应用[J].广东工业大学学报,2013(3):109-111.

Development of the electric vehicle control system based on STM32

YANG Sijun

(College of Electrical Engineering, Xi 'an Institute of Aviation Technology Profession, Shaanxi Xi'an, 710089, China)

Abstract:In view of the current increasingly serious environmental problems, it proposes a two rounds of self-balancing electric system based on two rounds of self-balancing vehicle in the advantage of volume and flexibility. It uses sensors for the acceleration and rotating angular velocity measurement of the two wheels, drives the motor with IR2111 chip, designs the hardware based on STM32 chip. It processes the angle signal with Kalman filter function, controls the balance based on PID principle. The simulation shows stable and uniform PID control waveform, proves the feasibility of the design method.

Key words:two rounds of self-balancing vehicle; attitude sensor; angle; PID control; system debugging

DOI:10.3969/j.issn.2095-509X.2016.11.007

收稿日期:2016-07-04

作者简介:杨思俊(1981—),女,陕西潼关人,西安航空职业技术学院讲师,硕士,主要研究方向为智能控制及开关电源。

中图分类号:TP273

文献标志码:A

文章编号:2095-509X(2016)11-0037-04

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
基于模糊PID算法的电阻炉温度控制系统设计
飞控控制性能提升的几点体会
基于STM32的机器人运动精确控制系统设计
智能小车转弯算法改善单元的优化设计
【学习笔记】基于PID算法在喷绘机小车控制系统的应用
登录基于STM32F4的四轴航拍飞行器(开源) 转载
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服