自平衡人形機(jī)器人動作控制器的設(shè)計(jì)
動作控制器主要由3個(gè)MSP430F149并行工作,每個(gè)MSP430F149控制8個(gè)舵機(jī),總共實(shí)現(xiàn)對24個(gè)舵機(jī)的控制。每個(gè)MSP430F149有定時(shí)器TA和定時(shí)器TB兩個(gè)模塊,其中定時(shí)器TA通過比較模式輸出2路PWM波控制2個(gè)舵機(jī),定時(shí)器TB通過比較模式輸出6路PWM波控制6個(gè)舵機(jī)。而且定時(shí)器工作在比較模式下時(shí),能在一次設(shè)置完成后,不需要CPU干預(yù)的情況下持續(xù)進(jìn)行PWM輸出,同時(shí)保證各路信號之間沒有干擾,因此一路比較輸出即可獨(dú)立控制一個(gè)舵機(jī),動作控制器可實(shí)現(xiàn)對多達(dá)24個(gè)舵機(jī)的控制,對多關(guān)節(jié)人形機(jī)器人提供足夠的控制通道。
采用比較輸出PWM波形的方法相比較采用中斷方式的控制方法,具有簡單,輸出PWM波形穩(wěn)定,整個(gè)控制系統(tǒng)的魯棒性高等特點(diǎn)。該課題也曾采用過中斷控制方式,但用示波器觀察輸出的PWM波形,波形極不穩(wěn)定。而且中斷嵌套過多之后,單片機(jī)程序很容易跑飛,完全不能滿足控制系統(tǒng)的穩(wěn)定性要求。而采用文中所述動作控制器的設(shè)計(jì)方法后,比較輸出的PWM波波形穩(wěn)定,而且單片機(jī)也沒出現(xiàn)死機(jī)或跑飛的現(xiàn)象。
MSP430F149輸出為3.3 V TTL電平,而舵機(jī)控制信號要5 V TTL電平,在實(shí)際電路設(shè)計(jì)中要進(jìn)行電平轉(zhuǎn)換??紤]到舵機(jī)的控制信號對功率沒有要求,必要加專用驅(qū)動芯片,而采用CMOS工藝的CD4081四2輸入與門進(jìn)行電平轉(zhuǎn)換,利用其門電路輸入電壓門限寬的特點(diǎn)即可解決電平轉(zhuǎn)換的問題。
舵機(jī)動態(tài)工作時(shí),需要脈沖式的電流,通過普通的電源供電,實(shí)驗(yàn)表明:由于舵機(jī)瞬時(shí)供電不足,致使舵機(jī)力矩不夠,運(yùn)動不能達(dá)到預(yù)先的姿態(tài)效果,在反復(fù)探索后,決定采用電容的快速放電特性來提供瞬時(shí)大電流,由于舵機(jī)數(shù)量大,設(shè)計(jì)時(shí)在舵機(jī)電源處并接大容量電容,總?cè)萘?.22F×6。正常小電流工作時(shí),電容被充電處于飽和,當(dāng)需要瞬時(shí)大電流時(shí),電容能快速放電,從而保證舵機(jī)正常穩(wěn)定的工作。
3個(gè)MSP430F149分別控制部分關(guān)節(jié)上的舵機(jī),這要求3個(gè)MSP430F149充分協(xié)調(diào)一致的工作。因此采用總線通信方式,將3個(gè)MSP430F149掛接到串行通信總線上,并留出總線接口,以接收主控制器的命令。
1.2.2 軟件實(shí)現(xiàn)
動作控制器的軟件設(shè)計(jì),是以硬件為基礎(chǔ),接收主控制器的命令,對命令進(jìn)行解析,并控制產(chǎn)生具體的PWM波形對舵機(jī)進(jìn)行動作控制。圖4描述了動作控制器中軟件的實(shí)現(xiàn)流程。
評論