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