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