王 輝, 于立君, 董澤全, 王正安
(哈爾濱工程大學 自動化學院, 黑龍江 哈爾濱 150001)
基于STM32的循跡平衡小車實驗教學平臺研究
王 輝, 于立君, 董澤全, 王正安
(哈爾濱工程大學 自動化學院, 黑龍江 哈爾濱 150001)
開發了一套基于STM32單片機的實驗教學平臺。該平臺由電機、姿態傳感器、攝像頭硬件架構及STM32單片機最小系統、PID控制算法、互補濾波算法和上位機軟件組成。該平臺能夠仿真上位機算法并選擇最佳運動狀態的PID和互補濾波參數,由STM32單片機產生控制信號驅動小車循跡和避障,上位機實時顯示相關參數、平衡狀態和運動狀態。學生能夠在平臺中獨立完成對PID控制算法計算和互補濾波算法參數調試。
循跡小車; 實驗教學平臺; PID控制; STM32
STM32單片機[1]是一種課程實驗教學中常用的控制器,也是入門級的嵌入式芯片。STM32具有高性能、低成本、低功耗的優點,在教學中具有很好的實用性,可根據實驗項目要求靈活地設計外圍框架,構成一個控制系統。
筆者在“創新認知與實踐”課程教學中,為了讓學生加深對STM32單片機的理解,更多地動手進行實驗,研發了基于STM32的循跡平衡小車實驗教學平臺[2-4]。該平臺利用電機驅動小車,使小車保持平衡并沿著指定路線行駛;利用LabVIEW開發工具設計上位機[5],實現下位機參數的接收和實時顯示。該平臺有鍵入可變參數的功能,學生通過鍵入各種參數,可實時對比窗口化人機界面中顯示的互補濾波算法的濾波效果、攝像頭的識別效果和實際運行中小車的平衡效果[6]。在不斷分析計算與實際編程調試的過程中,學生能夠深入理解課程的理論知識,實現從理論知識到實踐能力的全面提高。
基于STM32單片機的循跡平衡小車實驗教學平臺由循跡平衡小車和上位機仿真軟件組成。在鍵盤上輸入設定的參數,由STM32輸出控制信號施加于電機進行控制,通過串口與上位機通信,顯示互補濾波效果圖和攝像頭三維動態顯示圖。圖1為系統結構圖。

圖1 系統結構圖
2.1 循跡平衡小車裝置
循跡平衡小車實驗教學平臺以循跡平衡小車作為STM32單片機操作實驗的被控對象,循跡平衡小車由直流電機、姿態傳感器、攝像頭和車模4部分組成,其實物如圖2所示。

圖2 循跡平衡小車裝置實物圖
采用循跡平衡小車作為被控對象,路徑信息采集由攝像頭完成,車身直立信息由姿態傳感器采集,信息反饋至STM32單片機并控制直流電機驅動小車直立和循跡行駛。
2.2 上位機軟件部分
使用LabVIEW的VISA串口控件、圖形顯示控件就能實現下位機參數的接收和實時顯示。但是,僅能夠接收和顯示參數還不能滿足實驗的需要。筆者使用LabVIEW的文件I/O控件進行參數的保存,只要把以前的數據調出來就可以進行對比分析,十分方便。對所存數據的讀取、顯示由另外兩個子VI來完成。互補濾波效果界面如圖3所示,攝像頭采集效果如圖4、圖5所示。

圖3 LabVIEW設計的互補濾波效果界面圖

圖4 LabVIEW設計的CCD波形單條顯示界面圖

圖5 LabVIEW設計的CCD三維動態顯示界面圖
通過鍵入PID算法參數、互補濾波參數和攝像頭參數,可以觀察不同參數對循跡平衡小車循跡、平衡及運行的影響。
軟件系統主要是實現決策和導向功能。軟件采用C語言編寫,用PWM信號控制2個電機的轉速和正反轉,用攝像頭判斷路徑信息,用姿態傳感器檢測直立信息。當實驗開始后,首先鍵入所需參數,確認后進入循跡模式。程序不斷接收來自攝像頭和姿態傳感器與單片機I/O口的信號,一方面對攝像頭信息進行處理,提取出路徑信息并給出相應的輸出信號;另一方面,把姿態傳感器采集的直立信息反饋至單片機,保持小車平衡。小車檢測到終點后,完成整個運行動作。小車系統自動控制過程整體流程圖如圖6所示。

圖6 系統軟件流程圖
3.1 姿態采集數據融合
MPU6050姿態傳感器集成了采集角速度的微電子機械陀螺儀和采集傾角的微電子機械加速度計。本文采用互補濾波進行數據融合[7]。
互補濾波的原理是以短時間內由陀螺儀[8]測得數據計算出的傾角為主,定時對加速度計測得值計算出的傾角取加權平均值來校正由陀螺儀測量值計算出的傾角。互補濾波器的作用是通過加速度計過濾掉高頻信號,用陀螺儀過濾掉低頻信號,然后將兩種濾波器的輸出信號進行加權,從而得到較為準確的信號[3](見圖7)。

圖7 互補濾波器算法框圖
經一階互補濾波后,輸出的傾角角度值可以用來控制小車的直立穩定。
3.2 路徑識別
視頻信號經過LM1881芯片后,分離出場同步信號和行同步信號。為了能夠實時讀取這兩路信號,將這兩路引腳配置為外部中斷。場同步信號在系統初始化后一直處于打開狀態,行同步信號則在每次場同步信號觸發后開啟,在圖像采集完成后關閉。
需要注意的是:在對每行信號進行讀取時,會有一段消隱區,所以在讀取每行的有效信息時,都需要延時,這個延時用for循環完成。延時時間可以根據圖像需要進行調整。
攝像頭圖像處理程序框圖如圖8所示。

圖8 圖像處理程序框圖
3.3 PID運動控制
性能非常良好的電機對PID參數的設置并不是很敏感,在PID控制中需要調試的各個參數的取值范圍都十分寬廣。所以,選擇性能良好的電機對PID控制算法的設計和調試有很大的幫助。
本文結合工程實際,采用實驗法進行PID參數整定[9-10]。小車運動控制總框圖如圖9所示。

圖9 PID運動控制總框圖
在循跡小車運動控制的設計中,小車的直立控制算法采用PD(比例微分)控制器進行控制,因為兩輪自平衡小車需要對干擾做出迅速的響應才能保持穩定的直立,所以不僅需要P(比例)控制環節,同樣也需要D(微分)控制環節。
小車的速度控制部分利用PI(比例積分)控制器進行調節,PI控制器是在速度環中最常用的控制器。由于PI控制器線性控制的特性,該控制器可以計算給定值與輸出值之間的差值,即控制偏差。將計算出的偏差值乘以常數并和偏差值的積分相加,然后經運算得出發送給電動機的控制量,最終實現對小車的控制。
在轉向控制中,由于自平衡小車已經加入了直立PD控制器和速度PI控制器,而轉向環對動態干擾的反應比較弱。因此,本文中轉向控制方案只選用P(比例)一個環節即可。
基于STM32單片機的循跡平衡小車實驗教學平臺具有良好的機械結構且操作方便。平臺采用模塊化設計,各模塊之間獨立性很強,易于維護和擴展;將程序固化于STM32系統,方便進行演示實驗,并可在此基礎上實際完成PID控制算法、互補濾波算法及攝像頭的使用等相關實驗。在教學過程中,該系統起到引導學生實踐、鞏固課堂理論知識的作用。
References)
[1] 苑潔,常太華.基于STM32單片機的高精度超聲波測距系統的設計[J].電子設計工程,2011, 19(15):76-78,82.
[2] 盧鋒,兩輪小車姿態檢測與平衡控制研究[J].工業儀表與自動化裝置,2014(3):26-28.
[3] 馮智勇,曾瀚,張力,等.基于陀螺儀及加速度計信號融合的姿態角度測量[J].西南師范大學學報(自然科學版),2011,36(4):137-141.
[4] Tsai M C, Hu J S, Hu F R. Actuator fault and abnormal operation diagnoses for autobalancing twowheeled cart control[J].Mechatronics,2009,19(5):647-655.
[5] 李紅剛,張素萍.基于單片機和LabVIEW的多路數據采集系統設計[J].國外電子測量技術,2014,33(4):62-67.
[6] 賴義漢.基于MPU6050的雙輪平衡車控制系統設計[D].鄭州:河南工程學院,2014.
[7] 梁光勝,杜夢南,周子豪,等.基于互補濾波的兩輪自平衡車姿態控制[J].測控技術,2015, 34(5):72-74.
[8] 郜園園,阮曉剛,宋洪軍.兩輪自平衡機器人慣性傳感器濾波問題的研究[J].傳感器技術學報,2010,23(5):696-699.
[9] Astr?m K J, H?gglund T. Advanced PID control[M].[s.l.],2006.
[10] Dwyer A O.Handbook of PI and PID controller tuning rules[M]. World Scientific Publishing Co Pte Ltd,2009.
Research on experimental teaching platform of two wheels balanced car with obstacle avoidance function based on STM32
Wang Hui, Yu Lijun, Dong Zequan, Wang Zheng’an
(College of Automation, Harbin Engineering University, Harbin 150001, China)
The stability of two-wheel self-balancing robot is very low, and it’s difficult to control the two mechanical systems. This event occurred many large games. Taking STM32 as a master chip, MPU6050 as attitude sensors, the data fusion of the gyroscope’s value and accelerometer is carried out by using the first order complementary filter, and adding an ultrasonic obstacle avoidance function, the design can be self-balancing robot obstacle avoidance. The car can be self-balanced through repeated testing.
tracking car; experimental teaching platform; PID control; STM32
10.16791/j.cnki.sjg.2017.05.033
2016-12-09
黑龍江省高等教育學會“十三五”規劃重點課題(16Z010);哈爾濱工程大學教改重點項目(JG2016BZD05);哈爾濱工程大學教改重點項目(JG2016YZD04);哈爾濱工程大學教改重點項目(JG2016BZD07)
王輝(1976—),女,黑龍江肇東,博士,副教授,碩士生導師,控制工程(電氣工程)實驗教學中心副主任,主要研究方向為模式識別與智能系統及教學研究
E-mail:wangh@hrbeu.edu.cn
于立君(1975—),男,黑龍江安達,博士,副教授,碩士生導師,副院長,主要研究方向為船舶控制、智能控制、教學研究.
E-mail:yulijun@hrbeu.edu.cn
TP273
A
1002-4956(2017)5-0136-04