王建林, 徐青菁, 姜子庠
(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