一种基于ARM-STM32的两轮自平衡小车的设计与实现∗
2017-08-01李亚文常亮
李亚文 常亮
(商洛学院电子信息与电气工程学院商洛726000)
一种基于ARM-STM32的两轮自平衡小车的设计与实现∗
李亚文 常亮
(商洛学院电子信息与电气工程学院商洛726000)
随着交通安全问题日益突出,以及人们对智能化生活的追求,促使了轻巧灵便的两轮平衡小车的发展。通过分析了平衡小车的平衡控制原理,进行合理的硬件选材和设计,应用ARM-STM32为核心控制器件,加入蓝牙智能通信协议实现了客户端远程控制,最终组装了两轮自平衡小车。大量的实验测试结果表明,该设计的两轮自平衡小车具有较强的自适应调节平衡性,稳定性好,可以实现蓝牙远程智能控制等显著优势。
两轮自平衡小车;ARM-STM32;陀螺仪;机械中值;卡尔曼滤波
Class NumberTP273
1 引言
两轮自平衡小车的设计思想来源于倒立摆系统,是一种三维空间的倒立摆,也是一个复杂的非线性欠驱动系统[1],是电子机械智能化不断发展的产物。目前已经广泛应用于小区安防、警务、交通安全,火灾地震救援、餐饮服务等领域。早在20世纪50年代,美国麻省理工学院的控制理论专家为了研究火箭和导弹制导过程中的姿态控制问题设计了倒立摆系统,用于验证所提出的各种姿态控制策略[2];1963年,美国Standdord大学Higdon及 Schaefer采用Bang-Bang最优控制等理论实现了对倒立摆的控制[2~3];2002年,瑞士联邦工业大学的FelixGrasser等研制出两轮移动机器人“Joe”[4],2008年,美国Tiger电子公司和日本Sega玩具公司应用先进的陀螺仪技术,配有红外传感器和声纳技术,推出了两轮机器人玩具AMP[5](Automated Mu⁃sical Personality)。我国在倒立摆控制技术的研究起步较晚一些,但是现在已经达到了国际的领先水平,2006年,台湾清云科技大学Chih-Hui Chiu课题组基于模糊控制器设计了一台两轮运输机[6~7];2015年,中国小米纳恩博公司推出了经典“九号平衡车”[8~9](Ninebot),改款平衡小车具有稳定性好,价格适中的优点。
2 平衡小车的速度控制原理
两轮自平衡小车的动力来源是两个车轮,小车的平衡、速度、方向全部通过车轮的速度来完成。从控制角度来分析,小车的输入量是两个电机的速度,所以控制好两个电机的转动速度就可以完成平衡小车的平衡,速度,方向控制[10]。通过控制小车的仰角或倾角来完成小车速度控制,最后也是通过控制两个电机的同向转速来控制;由于小车的运行速度和倾角是相关的,比如要提高小车向前行驶的速度,就需要增加小车向前倾斜的角度,倾斜角度增加后,车轮在直立控制下需要向前运动保持小车平衡,速度增大;考虑到编码电机可能存在噪声,为了防止噪声被放大,速度控制选择使用PI控制。同时为了PID参数的整合和调试,将速度确定为一个固定值。速度控制系统将由一个负反馈直立PD控制器和一个正反馈速度PI控制器组成[11]。控制算法如式(1)所示。
其中θ是角度,θ'是角速度,e() k是速度控制偏差,Σe(k)是速度控制偏差的积分,平衡小车速度控制原理如图1所示。
图1平衡小车速度控制原理
3 两轮自平衡小车控制系统的设计
两轮自平衡小车主要由两个部分组成,即机械部分和控制部分。机械部分包括两个轮胎,小车支架和平台,连接杆等,主要负责支撑硬件电路,搭建工作平台。控制部分主要包括两个直流电机,电机驱动模块,单片机最小系统,无线蓝牙模块,稳压模块等,主要负责小车平衡,运动的控制,数据的采集和发送。
3.1 硬件设计
两轮自平衡小车的系统设计对单片机的处理速度和外部资源要求相对比较高。本设计中选择单片机最小系统为:STM32F103C8T6。STM32F103[11~12]是基于ARM的32位增强型微处理器,有48个引脚,64k字节的闪存,20k字节RAM;通信端口有2个SPI,2个IIC,3个UART,1个USB和1个CAN;32个通用I/O端口;2个10通道的12位同步ADC;CPU工作频率为72MHz;工作电压2.0V~3.6V;LQFP封装,工业级温度范围为-40℃~85℃。功能比较完善,可以作为小车平衡系统的主控芯片。最小系统原理图如图2所示。
图2单片机最小系统原理图
2)陀螺仪MPU6050
MPU-6050是一个9轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计以及一个可扩展的数字运动处理器DMP,可用I2C接口连接一个第三方的数字传感器。在本次设计中,需要使用MPU-6050对小车的倾角以及倾角角速度进行测量,然后通过滤波算法精确的计算出小车的实施姿态,再利用PID控制算法实现小的自平衡控制。
3)电机驱动模块选择
本次设计选择两个带编码器的直流电机,电机搭配多级齿轮减速箱,体积小,传递扭矩大。电机模块使用东芝公司生产的TB6612FNG直流电机驱动器件,它具有大电流MOSDET-H桥结构,双通道电路输出,最大输入电压15V,最大输出电流1.2A,可以同时驱动两个电机。外围电路简单,只需外接电源滤波电容就可以直接驱动电机。对于PWM信号输入频率,高达100kHz,足以满足小车的设计需求。
4)电源及稳压模块选择
两轮自评衡小车设计中主要供电部分有单片机最小系统5V供电。TB6612FNG驱动模块正常工作要求5V的使能供点电,在VM端接入不超过15V的电机工作电压。根据实际情况选择12V的锂离子电池供电,稳压模块选择12VO5V的稳压模块。
由于物联网技术是多种技术的融合,所以物联网工程专业大三年级开设的专业课程较多,而且每门课都包括理论课和实践课,所以每门课程课时较紧张,“射频识别原理与应用”课程也不例外。在有限的课堂上,知识信息量大,学生不能完全接受和消化教师所讲内容,也来不及深入思考,使得知识停留于浅层,达不到深度学习的效果。
平衡小车控制系统连线如图3所示,Forest V1单片机最小系统板已经焊接好单片机和陀螺仪MPU-6050的引脚,PB10PB11与陀螺仪相连,实现加速度和倾角的测量。3.2软件设计
图3平衡小车系统连接接口原理电路
软件程序设计流程中先对电机、最小系统等进行初始化,并进行前期的车模直立检测,写入相关指令,启动并控制车模的方向、速度直立等控制命令,通过发送监控数据对车模进行跌倒检测,并进行预警处理。最终实现了六个功能包括:传感器信号的采集和处理、电机PWM输出、平衡小车的直立,速度,方向控制、平衡小车运行控制流程设计、平衡小车信息显示与参数设定、通过编写相关蓝牙通信协议等,实现对平衡小车的远程控制操作命令。
主程序框架设计如图4所示。
图4程序设计流程图
4 实物调试
1)平衡小车直立控制调试
平衡小车需要对干扰做出迅速的响应,控制过程需要D(微分)控制。调试过程需要确定平衡小车的机械中值,确定kp值得极性和大小,kd值的极性和大小。在调试直立环控制时,需要屏蔽中断服务函数中的速度环和转向环控制。
首先需要确定机械中值。将平衡小车放在地上绕电机轴转动接近平衡位置的角度即机械中值。经过确定机械中值为0度,所以Bias=An⁃gle-0。图5所示是机械中值调试的过程。
图5机械中值调试图
图6小车速度测试过程
通过多次的实验调试小车的直立平衡状态,得到kp值在0~720之间;kd值的引入是为了抑制kp值过大的低频抖动,所以它的效果和kp值的效果相反,需要小车轮胎对小车倾斜方向有一个跟随的效果。表1所示为多次两轮平衡小车的实物测试直立情况。
表1 小车直立情况参数测试
2)平衡小车速度控制调试
平衡小车速度环使用PI(比例积分)控制器。PI控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差的比例(P)和积分(I)通过线性组合构成控制量,对被控对象进行控制。偏差=测量值-目标值
可以得到:Encoder_Least=(Encoder_Left+En⁃coder_Right)-0;
由于偏差代表的是速度的变化量,所以测量值使用左右编码器之和。
确定kp和ki值的极性只需要打开速度环控制,需要达到的效果是转动一个电机时,另一个电机跟随,向同一方向转动。在平衡小车速度控制系统中PID参数之间的比例关系是ki=kp/200。所以kp和ki极性相同,并且当kp和ki同时为正时,旋转其中一个轮胎,两个轮胎同时向同一个方向同时加速,直至电机最大速度。如图6所示为两轮自平衡小车速度测试的过程。通过多次对两轮平衡小车进行速度控制参数的改变,选取了代表性的几组测试结果,如表2所示。
表2 小车速度控制参数测试
3)平衡小车转向调试
平衡小车转向环由于对响应要求不高,所以只使用P(比例)控制器。使用Z轴陀螺仪的数据作为转向速度偏差进行P控制,目标是保持转向速度为设定值。kp值大小估算原理和速度环控制类似,确定kp值在0~2之间。表3所示为小车实物调试中转向参数的改变影响小车的转向情况的测试。
表3 小车转向参数测试
5 结语
两轮自平衡小车具有操作简单、环保、灵活性较好等多种优点,应用于小区安防、火灾地震现场、餐饮服务等领域,得到了广泛的关注。本文通过分析平衡小车的主要控制系统原理,包括直立平衡、速度控制和转向控制等,经过合理的选硬件选材以ARM-STM32为研发核心的控制系统,利用常见的卡尔曼滤波对采集的数据进行筛选,设计了一款自平衡性较好的两轮小车,实验中进行了小车直立测试、速度控制调试和转向调试,测试结果表明,该设计中的两轮平衡小车,自平衡性显著,抗抖动性较好,并能在手机终端实现蓝牙远程控制,因此,相信该两轮自平衡小车的设计,必将广泛服务于人们生活,使未来变得更加智能、便捷。
[1]LI Z,Yang C,Fan L.Advanced Control of Wheeled Invert⁃ed Pendulum Systems[M].Springer London,2014.
[2]高彪.基于双轮平衡小车的多智能体平台设计[D].大连:大连理工大学,2016. GAOBiao.Multi-agentplatformdesigenbasedon two-wheeled balancing robot[D].Dalian:Dalian Universi⁃ty of Technology,2016.
[3]Kim Y.Kim S.H.,Kwak Y.K.Dynamaic Analysis of o Non⁃holonmic Two-Wheeled Inverted Pendulum Robot[J]. Journal of Intelligent&Robotic Systems,2005,44(1):25-44.
[4]Yue M.,Wei X.,Li Z.Adaptive sliding-mode control for two-wheeled inverted pendulum vehicle base on zero-dy⁃namics theory[J].Nonlinear Dynamics,2013,76(1):456-471.
[5]霍亮.两轮自平衡电动车的关键技术研究[D].哈尔滨:哈尔滨工程大学,2010. HUOLiang.ResarchonKeyTechnologiesof Two-wheeled Self-balacing Electric Vehicle[D].Harbin:Harbin Engineering University,2010.
[6]范敏,余海,石为人,等.两轮自平衡小车模型参考自适应控制平衡算法[J].计算机工程与应用,2016,52(9):258-262.
FAN Min,YU Hai,SHI Weiren,et al.Model reference adaptivecontrolbalancealgorithmfortwo-wheeled self-balancing vehicle[J].Computer Engineering and Ap⁃plications,2016,52(9):258-262.
[7]茹斐斐.双闭环控制方法在两轮自平衡小车中的应用研究[D].郑州:河南大学,2013. RU Feifei.Research on a double closed-loop control algo⁃rithm for the two-wheeled self-balancing vehicle[D]. Zhengzhou:Henan University,2013.
[8]陈伟峰,张培建,吴建国,等.基于STM32和CDMA的污水曝气装置远程监控系统[J].仪表技术与传感器,2016(12):152-156. CHEN Weifeng,ZHANG Peijian,WU Jianguo,et al.Re⁃mote Monitoring and Control System for Sewage Aeration Device Based on STM32 and CDMA[J].Instrument Tech⁃nique and Sensor,2016(12):152-156.
[9]Wu Wei,Xiaoning Ma,Jijun Wang.Intelligent control in two-wheel self-balanced robot[C]//Computer Mechatron⁃ics Control And Electronic Engineering(CMCE)2010 In⁃ternational Conference.2010,3:470~473.
[10]GUO Wei,KANG Haigui,CHEN Bin,et al.Numerical and Experimental Study of the 3D Effect on Connecting Arm of Vertical Axis Tidal Current Turbine[J].China Ocean Engineering,2016,30(1):83-96.
[11]Mi Ching Tsai,Jia Sheng Hu,Feng Rung Hu.Actuator Fault And Ab-normal Operation Diagnoses For Au⁃to-balancing Two-wheeled Cart Control[J].Mechatron⁃ics,2009,19(5):647-655.
[12]杨明极,祝庆峰,李硕,等.基于STM32的嵌入式网络控制器设计[J].测控技术,2014,33(10):93-96. YANG Mingji,ZHU Qingfeng,LI Shuo,et al.Design of Embedded Internet Terminal Controller Based on STM32[J].Measurement&Control Technology,2014,33(10):93-96.
Design and Implementation of Wheeled Inverted Pendulum Vehicle Based on ARM-STM32
LI YawenCHANG Liang
(Electronic Information and Electrical College of Engineering,Shangluo University,Shangluo726000)
With the increasing traffic safety problems,as well as the pursuit of intelligent life,the development of light and flexible wheeled inverted pendulum vehicle is promoted.It is reasonable to select and design the hardware,through the analysis of the balance of the balance of the car control principle,Application of ARM-STM32 as the core control device,Bluetooth intelligent communication protocol is added to achieve the client remote control,and wheeled inverted pendulum vehicle is assembled finally. A large number of experimental results show that the design of wheeled inverted pendulum vehicle has a strong adaptive adjustment balance,good stability to achieve remote control with Bluetooth significant advantages.
wheeled inverted pendulum vehicle,ARM-STM32,gyro,mechanical median,Kalman filter
TP273
10.3969/j.issn.1672-9722.2017.07.041
2017年1月12日,
2017年2月27日
2016年国家级大学生创新创业训练计划项目(编号:201611396015)资助。
李亚文,女,硕士,讲师,研究方向:图像处理,模式识别。