两轮自平衡智能车系统设计
2021-08-16
来源:意榕旅游网
应用天地 雎 两轮自平衡智能车系统设计 董锟,韩帅,孙继龙,陈本瑞。马天义,李轩,熊慧 (天津工业大学,天津300387) 摘要:针对智能汽车竞赛中的电磁组参赛要求,提出了两轮自平衡智能车系统的设计方案。主控芯片采用飞思卡尔公 司的MC9S12XS128,选用加速度传感器检测车模的倾角,陀螺仪检测车模的角加速度;通过控制两个电机的加减速实现 车模的自平衡控制。阐述了卡尔曼滤波法在陀螺仪和加速度传感器信号融合方面的应用,提出了针对闭环速度控制的 PI算法。实验表明:该处理方法实现简单,能够准确、快速地实现车模的自平衡控制。 关键词:自平衡;智能车;卡尔曼滤波;PI算法 中图分类号:U467.1 文献标识码:A Design of Self Balancing Car with Two Wheels Dong Kun,Han Shuai,Sun Jilong,Chen Benrui,Ma Tianyi,Li Xuan,Xiong Hui (Tianjin Polytechnic University,Tianjin 300387,China) Abstract:Aiming at the electromagnetic group of intelligent car competition,a design of self balancing intelligent car with tWO wheels is presented in this paper.Taking Freescale MC9S12XS128 as main control chip,the system uses an accelerometer sensor to detect the an— gle of the model,a gyroscope tO determine the angular acceleration,and with control of the tWO motors to complete self balancing control of the mode1.The signal fusion application of gyroscope and accelerometer based on Calman filtering method is discussed,and the PI al— gorithm for speed closed—loop control is proposed.Experiments show that the processing method is simple tO realize,and can realize the function of self balance control accurately and rapidly. Key words:self balancing;intelligent car;Caiman filtering;PI algorithm 引 言 两轮自平衡智能车控制技术在诸如航空、航海、安保 等许多领域有着广泛的应用,各种类型的倾角传感器和数 据处理方法应运而生 ]。随着现代科技的发展,对于自 可以移动;另一个是眼睛可以观察到木棒的倾斜角度和倾 斜趋势(角度和角速度)。通过手掌移动抵消木棒的倾斜 角度和趋势,从而保持木棒的直立。这两个条件缺一不 可,实际上就是控制中的负反馈机制。 车模的平衡控制也是通过负反馈来实现的,与上面保 持木棒直立比较相对简单。因为车模有两个轮子着地,车 体只会在轮子滚动的方向上发生倾斜。控制轮子转动,抵 消在一个维度上倾斜的趋势便可以保持车体平衡了,如 图1所示。 平衡的响应速度和精确度提出了更高的要求,以此为背 景,第七届全国大学生智能车竞赛电磁组参赛要求设计的 智能车为两轮直立行走的自平衡循迹智能车。 针对该问题,本文选用MMA7260加速度传感器和 NEC一03陀螺仪共同检测车模的角度信息,通过卡尔曼 由图1可知,为了保持车模的直立自平衡状态,需要 滤波器得到车模准确的实时角度信息,以在主控芯片 MC9S12XS128中实现的PI控制算法和两个直流电机为 智能车的控制核心,实现了两轮智能车的自平衡控制。该 系统的优点是适应性强、响应迅速并有很强的抗干扰能力。 l囟 一(a)车体垂直, (b)车体向前倾斜, 车轮保持静止 车轮向前运动 图1 通过车轮运动保持车模平衡 1 设计原理 控制直立车模平衡的直观经验来自于人们日常生活 经验。一般人通过简单练习就可以让一个直木棒在手指 尖上保持直立。这需要两个条件:一个是托着木棒的手掌 敬请登录网站在线投稿 2013#-g 7期 牛‘;机 嵌入式条皖应冈 71 雎 叵 匝 A fcA77  ̄o i 满足以下两个条件: ①能够准确测量车模的倾角和角加速度的大小,以 得到车模的状态和趋势; 3.3 电机驱动 自平衡智能车系统选用了电机驱动芯片BTS7960作 为电机驱动 ]。该芯片在T作时,阻抗典型值为16 mn ②可以控制车轮的速度和加速度,使车模保持直立 状态。 (I ⅢT一9 A,T 一25℃),可提供的最大驱动电流为43 A。 当芯片过热时可自动关闭或锁定;在过电流的情况下,开 关模式可限制电流,可降低功耗;欠压时会自动关闭,过压 时会锁定。驱动电路图如图3所示。 VCC _[二] NH IVS 2 自平衡智能车系统结构 自平衡智能车系统主要包括主控模块、角度信息采集 模块、电机驱动模块和电源模块等,自平衡智能车系统结 构框图如图2所示。 IN O 6[I S OU 7 区 20kQ 7 剖 ED Is 0UT BTS7960 ll sR GND —一 l 图2 自平衡智能车结构框图 主控模块选用Freescale公司16位主控芯片 MC9S12XS128具有高精度高采样频率的内部A/D转换 器,同时具有内部定时器模块和输入捕捉功能,能够很好 图3集成芯片BTS7960构成的驱动电路图 3.4测速模块 本系统采用固定 在电机输出轴上的光 数据 选择器 地实现对车模电机的测速;对车模角度信息的处理,主控 芯片的时钟频率最高可达80 MHz,可以迅速响应车模角 度的变化,控制车模的自平衡 ]。 码盘以及相互配合的 光电对管器件实现对 车轮的测速 ,如图4 所示。 耋 轮 图4码盘工作示意图 3 自平衡智能车硬件设计 控制车模自平衡所需的位置信息(即角度和角速度信 息),可以通过加速度传感器和陀螺仪获得;由于主控模块 由于智能车所采 用的主控芯片MC9S12XS128只有一个脉冲累加器端口, 故需要采用数据选择器控制其在同一时间只测量一个电 机的速度而在下一时刻测量另一轮子的速度。同时,程序 I/0口驱动能力有限,智能车需要使用全桥驱动来驱动电 机;为了实现对车速精准的闭环控制,需要测速模块。 3.1 加速度传感器 加速度传感器可以测量由地球引力作用或者物体运 动所产生的加速度。自平衡智能车系统所采用的是Free— scale系列的加速度传感器MMA7260。该系列的传感器 根据选通信号和测得的速度分别计算两轮的速度,以便给 出精准的控制信号,使车模保持良好的直立状态,以及完 成加减速和转向。 采用了半导体表面微机械加工和集成电路技术,体积小、 重量轻。MMA726O是一款 轴低g半导体加速度计,可 4车模信息采集与处理 4.1 位置信息的处理 自平衡智能车位置信息主要是通过加速度传感器和 陀螺仪获得的。加速度传感器MMA7260是一款i轴低 g半导体加速度计,可以同时输出3个方向上的加速度模 拟信号。通过软硬件设置可以使得MMA726O各轴信号 最大输出灵敏度为800 mV/g,这个信号无需再进行放 大,可以直接送到单片机进行A/D转换。 实际应用中,只需要测量其中一个方向上的加速度 值,就可以计算出车模倾角,比如使用Z轴方向上的加速 以同时输出3个方向上的加速度模拟信号,同时电路实现 简单,角度输出精度高。 3.2 陀螺仪 自平衡智能车系统的角速度传感器采用的是陀螺仪, 陀螺仪可以用来测量物体的旋转角速度。根据精度需要 选用了村田公司出品的ENC一03系列的加速度传感器。 它利用了旋转坐标系中的物体会受到科里奥利力的原理, 在器件中利用压电陶瓷做成振动单元。当旋转器件时会 改变振动频率从而反映出物体旋转的角速度。 度信号。车模直立时,固定加速度器在Z轴水平方向,此 7 2 Microcon trollers&Embedded Systems 20 13年第7期 WWW.mesnet.com.CR 曩 置 l i 时输出信号为零偏电压信号。当车模发生倾斜时,重力加 速度g便会在z轴方向形成加速度分量,从而引起该轴输 出电压变化。变化的规律为: Au—k·g·sin0≈k·g·e (1) 利用加速度计所获得的角度信息0 与陀螺仪积分后 的角度e进行比较,将比较的误差信号经过1/T 比例放 大,再与陀螺仪输出的角速度信号叠加之后进行积分。对 于加速度计给定的角度0 ,经过比例、积分环节之后产生 的角度e必然最终等于e 。 为了避免输出角度e跟踪时间过长,可以采取以下两 个方面的措施: 式中,g为重力加速度,e为车模倾角,k为加速度传 感器灵敏度系数。当倾角e比较小的时候,输出电压的变 化可以近似与倾角成正比。 理论上只需要加速度传感器就可以获得车模的倾角, 再对此信号进行微分便可以获得倾角速度。但在实际车 模运行过程中,由于车模本身的摆动所产生的加速度会产 ①仔细调整陀螺仪的放大电路,使得它的零点偏置 尽量接近于设定值,并且稳定。 ②在控制电路和程序运行的开始,尽量保持车模处 生很大的干扰信号,它叠加在上述测量信号上,使得输出 信号无法准确反映车模的倾角。 下面分析一下运动所产生 于直立状态,这样一开始就能使输出角度e与 相等,此 后,加速度计的输出只是消除积分的偏移,输出角度不会 出现太大的偏差。 的干扰信号。加速度传感器安 装在车模上,距离车轴高度为 h。车模转动具有角加速度 , 运动加速度a。那么,在加速 度传感器Z轴上出现由于车模 运动引起的加速度为h·a十 a,如图5所示。为了减小运动 引起的干扰,加速度传感器安 车模运动引起加速 度z轴信号变化 卡尔曼滤波模型如图6所示,以陀螺仪测量的角速度 作为预测值的控制量,加速度传感器测量的角度作为观测 值。公式如下,Z(k)为k时刻加速度积分得到的角度,U (k)为k时刻的角速度,X(kI k)为k时刻经卡尔曼滤波后 的角度,X(kf k一1)为系统利用k一1时刻的状态得到的k 时刻的预测值,K (k)为k时刻的卡尔曼增益”]。 X(kI k一1)一A·X(k一1l k一1)+B·U(k) (2) (3) P(kl k一1)一A·P(k一1l k一1)·A +Q 装的高度越低越好,但是无法彻底消除车模运动的影响。 X(kl k)一X(kl k一1)+Kg(k)·(Z(k)一H·X(kI k 1))(4) 车模运动产生的加速度使得输出电压在实际倾角电 压附近波动,这些波动噪声可以通过数据平滑滤波将其滤 除。但是,平滑滤波一方面会使得信号无法实时反映车模 倾角变化,从而减缓对于车模车轮的控制,另一方面也会 将车模角速度变化信息滤掉。上述两方面的滤波效果使 得车模无法保持平衡,因此,对于车模直立控制所需要的 Kg(k)一P(kI k一1).百__ 丽 (5) (6) P(kl k)一(1一Kg(k)·H)·P(KlK一1) 倾角信息需要通过另外一种器件获得,那就是角速度传感 器——陀螺仪。 由于陀螺仪输出的是车模的角速度,将角速度信号进 图6卡尔曼滤波模型 行积分便可以得到车模的倾角,且不会受到车体运动的影 响,因此,该信号中噪声很小。此外,车模的角度又是通过 对角速度积分得到,可进一步平滑信号,从而使得角度信 号更加稳定。因此,车模控制所需要的角度和角速度可以 使用陀螺仪所得到的信号。由于这个角度信号是通过积 由于自平衡智能车系统为单输入单输出系统,因此令 A、B、H、K不为矩阵,且值都为1。自平衡智能车系统卡 尔曼滤波参数有3个,P是卡尔曼系统参数A的协方差,P 的初值P(0)的设定需要根据系统效果来调试确定,初值 般在1附近。Q是预测值Z(k)的协方差,R是测量值 分获得的,如果角速度信号存在微小的偏差和漂移,经过 积分运算之后,变化会形成积累误差。这个误差会随着时 间延长逐步增加,最终导致电路饱和,无法形成正确的角 U(k)的协方差。对Q和R的设定原则是,Q/(Q+R)的 值就是卡尔曼增益的收敛值。例如其值为0.2,那么卡尔 曼滤波后的增益会向0.2收敛,即如果预测角度值是5。, 度信号。 为了消除这个累积误差,所采用的方法是通过上面的 角度测量值是1O。,那么最优化角度为:5+0.2*(10—5) 一6。因此,卡尔曼增益越小,说明预测值越可靠,最优化 加速度传感器获得的角度信息对此进行校正,通过对比积 角度越接近预测值;相反,卡尔曼增益越大,说明测量值越 分所得到的角度与重力加速度所得到的角度,使用它们之 间的偏差来改变陀螺仪的输出,从而使积分的角度逐步跟 踪到加速度传感器所得到的角度。 可靠,最优化角度越接近测量值。P/(Q+R)反映收敛的 快慢程度,该值设定越小,收敛越快,该值越大,收敛越慢。 由于卡尔曼增益收敛总的来说是很快的,因此该值的设置 敬请登录网站在线投稿 2013年第7期 平哼机 嵌入式系惋应同 73 雎 影响较小。 【 塑】 ± 卡尔曼滤波后的波形图7所示,包括加速度计输出的 信号、陀螺仪输出的信号和卡尔曼滤波后的波形。实验表 明,卡尔曼滤波可以很好地还原信号,并可以克服加速度 l系统初始化 王l角度信息采 计及陀螺仪的温漂,能够准确地提供车模的角度信息。 ——1一 给定左右轮速度 速度PID控制 输出PWM 图7卡尔曼滤波后波形 、结束?束;二 二= / 4.2速度信息的处理 本系统的处理方法是根据光电码盘的脉冲信息,通过 单片机的输入捕捉功能实现测速。速度闭环控制方面,采 用的则是增量型的PID控制算法 ]。所需公式为: Y 图8系统流程图 现预期的功能,即实现小车的动态自平衡,采用该自平衡 方法的磁导航智能车在第七届“飞思 尔”杯全国大学生 AU(k)=K [e(k)一e(k 1)]+K (k)+Ka[e(k) 2e(k--1)+e(k+2)] T 1 i (7) T 1 智能车比赛中取得了非常优异的成绩。该方法卡尔曼滤 波的应用上,公式(2)~(6)可以进一步简化,同时也可以 通过优化各个参数更好地实现车模自平衡,进一步提高车 模的稳定性。腻 参考文献 [1]I i Q Y,Gao G W,Wu X Q.The inclinometer research for 其中,Au(k)表示增量,e(t)为系统的控制偏差,K。为比例 增益,K 一K —}表示积分系数,K 一K 半表示微分系 数。 K ——起比例调节作用,系统一旦出现了偏差,比例 调节立即产生调节作用以减少偏差。 Ki——使系统消除稳态误差,提高误差度,积分调节 的引入会使系统稳定性下降,动态响应变慢。 attitude control[C]|/2008 International conference on intelli gent computation technology and automation.Hunan,china, 2008:512—515. Kd——反映了系统偏差信号的变化速率,可以预见 偏差的变化趋势,能提前对偏差进行控制。 [23 Liang H W,Mei T,Meng Q H.Design and implementation of a digital inclinometer[-C]//Proceedings of the IEEE inter— national conference on mechatronics&antomation.Hefie. Anhui,China,2005,489—492. 针对车模的电机,结合实际的调试经验,本车模的电 机调速采用的方案是PI控制,将对目标速度和当前速度 再次进行PI运算,得到电机控制信息并交给外部设备控 制模块处理,以达到控制速度的目的 ]。 [3]王宜怀,刘晓升.嵌入式系统 使用HCS12微控制器的 设计与应用[M].北京:北京航空航天大学出版社,2008. [4]张吴飚,马旭,卓晴.基于电磁场检测的寻线智能车设计[J]. 电子产品世界,2009(11):48—5O. 4.3软件设计 系统中主要利用主控芯片的A/D转换模块读取陀螺 [5]卓晴,黄开胜,邵贝贝.学做智能车 挑战“飞思卡尔杯” 仪和加速度传感器的值,从而通过卡尔曼滤波得到车模的 角度信息。由于控制目标是保持车模直立,因此,以直立 [M].北京:北京航空航天大学出版社,2008. [6]张智慧,李玉忍.卡尔曼滤波技术在伺服系统中的应用[J]. 微特电机,2007(12):1 6一l8. 时车模的角度为控制目标,以所测量的车模角度信息为当 前反馈,通过PID控制算法,计算出需要给出的电机速 度,通过电机闭环控制使车模产生相应的运动状态以保持 车模的直立平衡状态。车模的系统流程图如图8所示。 g7]朱静涛,曾晶昭,肖强英.卡尔曼滤波技术在伺服系统中的 应用[J].微特电机,2007(12):245—248. [8]胡寿松.自动控制原理[M].4版.北京:科学出版社,2001. [9]杨雪,高承恩,高攀,等.基于电磁场检测的寻迹智能车系统 结 语 实验结果表明,本系统方法简单实用,可以很好地实 设计[J].单片机与嵌入式系统应用,2011(12):61—64. (责任编辑:梅栾芳 收稿日期:2012-09 06) 7 4 Microcontrollers&Embedded Systems 20 13年第7期 www.mesnet.com.cn