呂紅濤,王國勝,呂強,劉峰
(裝甲兵工程學(xué)院 控制工程系,北京 100072)
兩輪自平衡機器人系統(tǒng)是一個高階次、不穩(wěn)定、多變量、非線性、強耦合的系統(tǒng),它實際上是一個可以行走的一級倒立擺[1-3]。國內(nèi)外的一些研究成果見參考文獻[4]。
本文設(shè)計的自平衡機器人是以TMS320F28069微處理器為主控制器,采用ENC-03R傳感器、XBEE無線傳模塊采集數(shù)據(jù),來控制實現(xiàn)機器人的自平衡。
自平衡機器人的樣機如圖1所示,為了建立其運動學(xué)模型,用Pro/ENGINEER3.0建立三維模型,如圖2所示。左右兩電機水平放置,車體可以以電機軸線為中心前后運動,通過控制兩輪的速度可以實現(xiàn)小車向前、向后、轉(zhuǎn)彎等運動。
自平衡機器人的基本控制思想是:當測量傾斜角度的傳感器檢測到機器人本體產(chǎn)生傾斜時,控制系統(tǒng)根據(jù)測得的傾角產(chǎn)生一個相應(yīng)的力矩,通過控制電機驅(qū)動兩個車輪朝機器人要倒下的方向運動,保持機器人自身的動態(tài)平衡[5]。當未加控制時,不論車體向前或向后傾斜,左右輪都處于靜止狀態(tài),車體前后傾斜和車輪轉(zhuǎn)動是相互獨立的。當開始控制時,車身在豎直狀態(tài)下釋放,小車有靜止、前進、后退3種運動方式,在正確的控制策略下,機器人可以保持自身的平衡。
圖1 兩輪自平衡機器人樣機
圖2 兩輪自平衡機器人三維模型
自平衡機器人的控制系統(tǒng)總體設(shè)計如圖3所示。為了使其能夠保持平衡,并且完成前進、后退和轉(zhuǎn)彎等動作,機器人的硬件結(jié)構(gòu)包括以下各功能模塊:主控制器TMS320F28069控制整個系統(tǒng)的運行;左右驅(qū)動模塊控制電機的正反轉(zhuǎn);姿態(tài)檢測模塊測量車體傾斜的角速度;電流檢測模塊測量電機的轉(zhuǎn)矩大小;左右編碼器測量左右輪的旋轉(zhuǎn)角速度;無線傳輸模塊XBEE用于接收地面控制臺的命令,也用于將車體的狀態(tài)值,尤其是各個傳感器的返回值傳給PC機,在PC機上進行仿真,驗證控制算法的優(yōu)劣。
圖3 自平衡機器人控制系統(tǒng)框圖
在自平衡機器人的工作過程中,傳感器采集的車體傾角加速度、電機轉(zhuǎn)矩大小和左右輪的速度信息等信號經(jīng)過濾波,傳給主控制器TMS320F28069的A/D采集模塊。主控制器根據(jù)傳感器的信息輸出相應(yīng)占空比的方波,經(jīng)VNH3SP30電機驅(qū)動控制電機的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速等動作,使得自平衡機器人能夠保持動態(tài)的平衡,并能完成相應(yīng)的動作。
系統(tǒng)采用TI公司生產(chǎn)的32位微處理器TMS320F28069(以下簡稱F28069)作為主控制器,它強大的數(shù)據(jù)處理能力和控制能力可大幅提高應(yīng)用效率和降低功耗。F2806x系列的微處理器是在C2000Piccolo MCU系列處理器的基礎(chǔ)上,增加浮點處理能力的高性能微處理器,工作頻率可以達到80MHz,并針對實時控制的復(fù)雜算法操作增加了控制律加速器(CLA)和新的VCU單元。
驅(qū)動電路以意法半導(dǎo)體公司專用于電機驅(qū)動的大功率集成芯片VNH3SP30為核心,配合簡單的外圍電路實現(xiàn)電機的驅(qū)動。其具體性能指標如下:
① 最大電流為30A,電源電壓高達40V;
② 功率MOS管的導(dǎo)通電阻為0.034Ω;
③ 含有5V兼容的邏輯電平控制信號輸入;
④ 內(nèi)含欠壓、過壓保護電路;
⑤ 具有芯片過熱報警輸出和自動關(guān)斷功能。
VCC端口是電機驅(qū)動的電源引腳,當被施加一個反向電壓時,可能會擊穿內(nèi)置二極管,破壞電源開關(guān)。因此,給電源主線串聯(lián)一個肖特基二極管,進行電源反向保護[6]。為了實時檢測電機的驅(qū)動電流,在驅(qū)動器的輸出端連接大功率的檢測電阻,設(shè)計中選用0.1Ω/0.5W的電阻,通過采集電壓值傳送到電流檢測單元,放大輸出到F28069中。
另外,由于電機的控制信號直接由F28069產(chǎn)生,而直流電機驅(qū)動直接引入12V的電壓,如果驅(qū)動電機出現(xiàn)了故障,電流可能會串入F28069,對F28069造成損害,所以要對所有的控制信號以及反饋信號進行隔離。電機驅(qū)動電路同控制電路完全隔離,這樣,即使電路出現(xiàn)問題,也不會對整個系統(tǒng)造成很大的損害。綜合考慮,設(shè)計其驅(qū)動電路如圖4所示。
圖4 電機驅(qū)動電路
電流檢測電路用來實時反饋電機的電樞電流的大小(即電機扭矩大?。T隍?qū)動器輸出端串接大功率檢測電阻,測量電阻兩端的電壓大小,然后通過電流檢測電路放大輸出到F28069的A/D轉(zhuǎn)換模塊端口,進而將模擬信號轉(zhuǎn)換成數(shù)字信號,由F28069對信號進行處理,實現(xiàn)電機控制的雙閉環(huán),提高電機的控制精度。自平衡機器人的電流檢測電路如圖5所示。
圖5 電流檢測電路
其中,HZU3BLL是3V的穩(wěn)壓管,NJM2734V是電壓跟隨運算放大器,NJM2747V是單電源低電壓4路運算放大器,M_OFFSET是電路提供的1.5V基準電壓,輸出電壓為:
M_R=6.25×2×(M_PLUS-M_MINUS)+M_OFFSET
M_R用來表征電機扭矩的大小,M_PLUS表示檢測電阻輸入端的電壓,M_MINUS表示檢測電阻輸出端電壓。
車體在運動過程中,會向前或向后傾斜產(chǎn)生動態(tài)加速度,對系統(tǒng)來說是一種干擾,為了能夠有效地去除干擾,系統(tǒng)中需要測量車體的角速度信號,這樣才能在動態(tài)的條件下實時地解算出車體的傾角信息,然后采取相應(yīng)的控制策略。
選擇村田公司型號為ENC-03R的角速度傳感器。其參數(shù)如下:工作電壓為2.7~5.25V;輸出范圍:±300 deg./sec.;靜態(tài)信號電壓為1.35V;信號刻度為0.67 mV/deg./sec.;帶寬響應(yīng)為50Hz。
由于ENC-03R的信號過小,需要外加運放才能較好的工作,姿態(tài)檢測電路如圖6所示。
選取的D/A轉(zhuǎn)換芯片型號為AD5620,內(nèi)部產(chǎn)生一個1.25V的基準電壓,傳輸?shù)臄?shù)據(jù)為12位,輸出電壓,姿態(tài)檢測反饋電壓V_GYRO=15×(V_OUT_GYRO-V_REF_GYRO)+V_OFFSET。
自平衡機器人采用的是德國馮哈勃2342L012CR直流減速電機,為保證控制系統(tǒng)的精度,需要對電機轉(zhuǎn)速進行實時測量。轉(zhuǎn)速的測量實質(zhì)是對脈沖寬度進行測量,使用F28069的eQEP模塊對單個周期內(nèi)的脈沖信號進行計數(shù),然后轉(zhuǎn)換成車輪的速度,為速度閉環(huán)控制提供依據(jù)[7]。兩輪自平衡機器人中,直流電機測速時使用的是光電正交編碼器。
光電編碼器精度高、抗磁干擾性能好、響應(yīng)速度快,其設(shè)計流程如圖7所示。電機旋轉(zhuǎn)帶動碼盤動作,間斷地阻擋光電對射管的光線,產(chǎn)生不同的電平,從而形成方波信號。為盡量避免干擾,需要將編碼器的地線可靠接地,同時還要加入濾波電路,濾除高頻和超高頻信號。
設(shè)計中采用XBEE無線傳輸模塊,它主要用于接收地面控制臺的指令,同時也用于調(diào)試過程中向PC機傳送數(shù)據(jù)。它工作在2.4GHz ISM頻段,室內(nèi)傳輸距離40m,室外傳輸距離120m,功耗比較低;串口速率為1200~230 400bps,可以通過軟件進行設(shè)置;支持工作電壓2.1~3.6V;外形尺寸比較小,支持點對點、對等網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲,組網(wǎng)簡單、應(yīng)用領(lǐng)域廣。
圖6 姿態(tài)檢測電路
圖7 編碼器的設(shè)計流程圖
電源模塊主要為主控制器和各傳感器供電,為減少各部分之間的干擾,系統(tǒng)采用兩塊鋰電池進行供電。其中一塊鋰電池提供的7.4V電壓經(jīng)LM2577-12轉(zhuǎn)換成12V電壓給電機驅(qū)動和NJM2747V供電;另一塊鋰電池電壓經(jīng)過AMS117-5芯片轉(zhuǎn)換成5V電壓給F28069和串口供電,再經(jīng) AMS1117-3.3轉(zhuǎn)換成3.3V電壓給 XBEE、編碼器、NJM2734V供電。其電路設(shè)計如圖8所示。
圖8 電壓轉(zhuǎn)換電路
自平衡機器人控制系統(tǒng)軟件設(shè)計流程如圖9所示。主函數(shù)負責(zé)初始化控制器的I/O口、初始化定時器、開中斷等。系統(tǒng)上電初始化完成后,等待定時器時間到,將傾角傳感器采集的姿態(tài)信息,以及編碼器采集的速度信息傳給F28069的A/D端口進行轉(zhuǎn)換,得到計算機器人的姿態(tài)信息和左右輪子的轉(zhuǎn)速。當電機控制中斷到來,根據(jù)得到的信息進行PID控制,輸出合適占空比的PWM給電機驅(qū)動,控制電機轉(zhuǎn)動,保持機器人的平衡。姿態(tài)檢測是控制器設(shè)計的核心,關(guān)系到控制性能的好壞。自平衡機器人當前狀態(tài)檢測程序如下:
圖9 控制系統(tǒng)軟件流程
本文對兩輪自平衡機器人的工作原理進行了分析,提出了控制系統(tǒng)的總體設(shè)計方案。采用TMS320F28069微處理器作為主控制器,設(shè)計了電機驅(qū)動器、姿態(tài)檢測、電機轉(zhuǎn)速和電機力矩檢測等硬件控制電路。該電路具有模塊化、動態(tài)性能好、適應(yīng)性強、速度快、精度高、性能穩(wěn)定的優(yōu)點,為下一步優(yōu)化控制算法提供了一個良好的平臺。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1] 阮曉剛,任紅格.兩輪自平衡機器人動力學(xué)建模及其平衡控制[J].計算機應(yīng)用研究,2009,26(1):99-100.
[2] 呂強,王珂珂,王國勝.基于兩輪自平衡機器人的LQR控制器設(shè)計與實現(xiàn)[C]//2009中國控制與決策會議論文集(2),上海,2009:2343-2347.
[3] 陳偉,延文杰,周超英,等.兩輪自平衡機器人控制系統(tǒng)的設(shè)計[J].傳感器與微系統(tǒng),2008,27(4):117-120.
[4] 王珂珂.多功能移動教學(xué)機器人的設(shè)計與開發(fā)[D].北京:裝甲兵工程學(xué)院,2008:1-6.
[5] 孔祥宣.自主式雙輪動態(tài)平衡移動機器人的控制系統(tǒng)研究[D].上海:上海交通大學(xué),2007:21-22.
[6] 侯清鋒,羅海波,王洪福.基于VNH3SP30的大電流直流電機驅(qū)動器的設(shè)計[J].微計算機信息,2007,23(10-1):92-93.
[7] 王國勝,劉峰,陸明,等.基于 MC9S12DG128單片機的迷宮機器人設(shè)計[J].微電機,2011,44(12):56-59.