王建林, 徐青菁, 姜子庠
(1.上海东海职业技术学院 数字传媒系,上海 200241; 2.上海交通大学 电子信息与电气工程学院,上海 200240; 3.上海电力科技园股份有限公司,上海 200082)
多功能自平衡智能车控制平台的设计
王建林1, 徐青菁2, 姜子庠3
(1.上海东海职业技术学院 数字传媒系,上海 200241; 2.上海交通大学 电子信息与电气工程学院,上海 200240; 3.上海电力科技园股份有限公司,上海 200082)
介绍了多功能自平衡智能车控制平台的设计与实现。通过对系统需求的分析,完成了平衡车所需的主控部分、传感器部分硬件电路的设计,搭建了以PIC32MZ为核心的具有多功能的自平衡车。本设计完成的智能车具有以下特点:基于MPU9150传感器实现自平衡功能;具有GPS定位显示;控制系统具有较强的鲁棒性,在受到20°以内干扰时仍能回复到直立运行状态;具有良好的速度和方向闭环控制,同时兼具速度、角度、低电压等多种保护;具有良好的人机界面,可存储多组控制参数;智能车带有SD卡,可以文件系统形式读取和存储信息。经过该自平衡车的设计流程,可以进行电子电路设计、嵌入式系统硬件设计、嵌入式系统软件设计、控制理论验证等等一系列实验探索。
PIC32MZ; MPU9150传感器; GPS; 文件系统
2001年,美国狄恩·卡门公布了成熟的自平衡车产品Segway,是全球第一个真正实现商业化的自平衡车。自平衡车的原理决定其平衡是电控系统自动调节,无需驾驶人训练,这也提高了其运行的稳定性。
通过对国内外的文献查阅可知,平衡车研究中的两大难点为:角度传感器信号的处理和自平衡算法的设计。就角度传感器信号而言,精准的传感器成本比较高,所以一般采用低成本的加速度计和陀螺仪进行互补滤波得到角度参数,对传感器的要求可以适当降低。
控制算法是平衡车的核心,目前主流的控制算法为经典PID算法,LQR(Ginear Quadratic Regulator)算法以及人工神经网络控制算法(ArtificialNeural Networks)[1-4]。目前,LQR方法在控制性能和实用性上优势较大,但是需要对系统建模准确,一定程度上提高了设计难度[5-12]。本文采用的经典PID算法主要有比例、微分、积分3个环节组成,其理论较为成熟,算法较为简单[12-13]。
1.1 自平衡原理
车模的直立基于倒立摆的自平衡原理。智能车模型可以简化为底部可以运动的倒立单摆,对于倒立摆而言,其回复力方向与位移方向相同,因而回复力会加速倒立摆偏离平衡位置。因此,设计中需要增加对倒立摆额外进行施力,使得回复力与位移方向相反。为了实现这一目标,需要通过车轮的移动来完成。如果能控制倒立摆底部的车轮,当倒立摆偏离平衡位置时进行加速,以车轮位置作为参考系原点,这样就相当于对倒立摆额外进行了施力。
1.2 PIC32MZ主控制器
系统总体方案如图1所示。PIC32MZ是Microchip旗下首款采用Imagination公司MIPS microAptivTM内核的MCU,它增加了159个全新DSP指令,使DSP算法的执行速度比PIC32MX系列的周期缩短了75%。该内核还提供了microMIPS®指令集架构,在提高代码密度的同时能以接近全速率运行,而指令和数据缓存及其200 MHz/330 DMIPS可实现PIC32MX 3倍的性能,存储容量是PIC32MX的4倍,同时高度集成了不少先进的外设。
图1 系统总体方案
2.1 正交编码器模块
平衡车对左右轮电机独立控制,基于测速需求,安装有两路正交编码器。
如果检测到A相相位超前于B相,则认为电机的旋转方向是正向的;如果检测到A相相位之后于B相,则认为电机的旋转方向是反向的。
通过解析单位时间内的正交脉冲,可以得到智能车的速度信息。
2.2 OLED模块
本次设计中,采用了具有128×64分辨率的并行通讯OLED显示器。该显示器大小仅为3 cm×3 cm,非常轻盈,显示性能优良且具有很高的刷新速度,非常适合于作为智能车控制平台的显示部分。
OLED显示器具有5个控制位,8个数据位,需要13个GPIO端口来控制。
2.3 SD卡模块
PIC32MZ可以通过SPI接口与SD卡通讯。本设计中加入了SDHC卡模块,同时建立文件系统便于PC等直接读取卡内信息。
本次设计中采用8 GB Class 10型SDHC卡,经实验,该卡读取和写入性能稳定且速度较快。
2.4 视频分离模块
本次设计中采用Sony黑白摄像头,其输出为PAL制式,输出的信号由复合同步信号、复合消隐信号和视频信号组成。因此,需要采用视频分离芯片进行视频解码,将该信号分解为场中断信号、行中断信号和视频信号。
本次设计中,采用德州仪器半导体公司的LM1881视频同步分离器。视频信号输入LM1881后,会被分解为3种信号:场中断信号、行中断信号和视频信号,分别接入微处理器的IO中断和AD采样端口,通过内部程序控制采样即可。
2.5 MPU9150传感器
MPU9150是InvenSense公司生产的9轴传感器。本次设计中,使用了该传感器的3轴陀螺仪和3轴加速度计,用以检测运动状态。MPU9150以IIC方式与微处理器通讯。
2.6 GPS模块
GPS模块的主芯片是NEO-6M,该模块具有高性能定位引擎,具有高灵活性和成本效益。GPS模块可以通过UART接口与外界相连,可以返回三维位置定位(经纬度,海拔),速度,水平位置定位精度等。
控制软件是整个系统的行动指南,是智能车的大脑。务必要兼顾软件的高效性和鲁棒性,而且要达到软件、硬件、机械三者有机地统一。
3.1 基于PIC32MZ的软件实现
系统软件设计包含系统主循环任务和中断任务两部分。中断任务负责实时控制任务,要求5 ms执行一次完整的控制周期。系统主循环负责参数记录、显示器刷新等任务。角度信息处理采用卡尔曼滤波器[9-10]。系统主循环流程如图2所示。
图2 系统主循环流程图
定时器中断中进行实时控制,流程图如图3所示。
图3 定时中断
3.2 上位机
上位机具有无线模块终端,即蓝牙通讯功能,以及图像显示、GPS地理坐标显示、图像存储功能以及调试功能。上位机基于C语言编写。上位机如图4所示。
图4 上位机
系统实物图如图5所示。
图5 基于PIC32MZ的自平衡智能车
本文介绍了智能车硬件构建和软件系统的设计方法和基本控制思想。硬件电路方面,为了满足软件系统控制的需要,设计了核心板及其接口电路、各种传感器的驱动电路、电机驱动电路等,提供信号收发和电机控制等功能。软件方面, 应用PIC32MZ微处理器软件系统的基本功能模块,设计中先后构建出平衡控制、速度控制等功能。控制中主要应用了PID控制思想,结合智能车的机械特性,适当调整,产生了特定针对于本智能车系统的控制算法。
[1] 董晓鹏.单座两轮自平衡电动车控制系统研究[D].郑州:郑州大学,2012.
[2] 李 洋.基于LQR算法两轮自平衡小车的系统设计与研究[D].太原:太原理工大学,2011.
[3] 栗维克.两轮自平衡小车大范围稳定的智能控制研究[D].西安:西安电子科技大学,2008.
[4] 颜 毅.基于学习控制的两轮自平衡机器人姿态控制系统[D].哈尔滨:哈尔滨工程大学,2011.
[5] Coelho V, Liew S, Stol K,etal. Development of a mobile two-wheel balancing platform for autonomous applications[C]//Mechatronics and Machine Vision in Practice, 2008. M2VIP 2008. 15th International Conference on IEEE, 2008: 575-580.
[6] Sun L, Gan J. Researching of two-wheeled self-balancing robot base on LQR combined with PID[C]//Intelligent Systems and Applications (ISA), 2010 2nd International Workshop on IEEE, 2010: 1-5.
[7] 张永立, 李洪兴, 苗志宏, 等. 基于变增益 LQR 控制方法的二级倒立摆自动摆起[J]. 系统工程理论与实践, 2011, 31(7): 1341-1355.
[8] Prasad L B, Tyagi B, Gupta H O. Optimal control of nonlinear inverted pendulum system using PID controller and LQR: Performance analysis without and with disturbance input[J]. International Journal of Automation and Computing, 2014, 11(6): 661-670.
[9] 刘浩梅, 张昌凡. 基于LQR的环形单级倒立摆稳定控制及实现[J]. 中南大学学报(自然科学版), 2012, 43(9): 3496-3501.
[10] 武俊峰, 张继段. 两轮自平衡机器人的LQR改进控制[J]. 哈尔滨理工大学学报, 2012, 17(6): 1-5.
[11] 刘文秀, 郭 伟, 余波年. 倒立摆状态反馈极点配置与LQR控制Matlab实现[J]. 现代电子技术, 2011, 34(10): 88-90.
[12] 张金焕.PID控制系统和模糊自适应PID控制系统的研究及比较[J].武汉理工大学学报,2005,27(5): 286-289.
[13] 马娟丽.LQR系统最优控制器设计的MATLAB实现及应用[J].石河子大学学报,2005,23(4):519-521.
The Design and Implementation of Multi-function Self-balancing Intelligent Car Control Platform
WANGJian-lin1,XUQing-jing2,JIANGZi-yang3
(1. Digital Media Department, Shanghai Donghai Vocational & Technical College, Shanghai 200241, China;2. School of Electronic Information and Electrical Engineering, Shanghai Jiaotong Universit,Shanghai 200240, China; 3. Shanghai Electric Power of Science Park Co., Ltd., Shanghai 200082, China)
This paper introduces the design and implementation of control platform for the multi-functional self-balancing intelligent car. The design of intelligent car uses MPU9150 sensor to achieve self-balance function. It has GPS position display. The control system has strong robustness so that the car can still remain upright running state within 20° interference. The speed and direction are in closed-loop control, and the speed, angle, low voltage protection are all held. Meanwhile, the car’s speed and direction can be controlled through intelligent control platform. Multiple control parameters can be set by a humanized interface. With an SD card based on file system platform, real-time operating data of the car can be recorded.
PIC32MZ; MPU9150 sensor; GPS; file system
2015-03-20
王建林(1957-),男,上海人,讲师,主要研究方向: 软件工程,遗传算法。Tel.:021-64391764; E-mail:906857244@qq.com
TP 212.1+4
A
1006-7167(2016)04-0071-03