基于PC/104與單片機的仿人機器人控制系統設計
主要特性有:
(1)高速、流水線(xiàn)結構的8051兼容的CIP一51內核(可達25 MIPS),70%的指令的執行時(shí)間為1個(gè)或2個(gè)系統時(shí)鐘周期,能滿(mǎn)足關(guān)節控制器的需要。
(2)有4個(gè)通用16位計數器/定時(shí)器,以及16位可編程計數器/定時(shí)器陣列,5個(gè)捕捉/比較模塊,29個(gè)端口I/O。通過(guò)對片內進(jìn)行編程,以及合理地分配比較器與I/O口,實(shí)現在C8051F310芯片上產(chǎn)生21路PWM波。由于單片機輸出的是數字形式的控制量,必須經(jīng)過(guò)D/A轉換變成模擬控制量,經(jīng)伺服放大器驅動(dòng)電機。
在此采用MAXIIM的12位串行D/A芯片MAX531作為數/模轉換芯片,將MAX531工作在雙極性電壓方式下,其輸出模擬量的范圍在一2.048~+2.048 V,精度為1 mV。輸出的模擬量經(jīng)過(guò)運算放大器進(jìn)行放大,進(jìn)入伺服放大器驅動(dòng)電機。
C8051F310作為關(guān)節控制器控制核心,它主要負責21路PWM的產(chǎn)生,在C8051F310芯片中集成了4個(gè)通用的16位計數器/定時(shí)器,5個(gè)捕捉/比較模塊,運用1個(gè)計數器/定時(shí)器和1個(gè)比較模塊控制6路I/0端口,其他3個(gè)計數器/定時(shí)器和3個(gè)比較器控制15路I/O口,來(lái)實(shí)現21路PWM波的產(chǎn)生。這里以6路PWM波的產(chǎn)生來(lái)說(shuō)明運用C8051F310實(shí)現電路,其電路圖如圖4所示:CEXn引腳產(chǎn)生脈寬調制PWM輸出,PWM輸出的頻率取決于PCA計數器/定時(shí)器的時(shí)基,使用模塊的捕捉/比較寄存器PCA0CPLn改變PWM輸出信號的占空比。當關(guān)節控制器接收給定的6個(gè)電機轉動(dòng)角度序列數據后.由軟件將6個(gè)數據從小到大排列,并依次求出相鄰2個(gè)數的差值,按照最小的數、前2個(gè)數的差值到最后兩個(gè)數的差值排列好,并將從小到大的數據對映的交叉開(kāi)關(guān)的地址依次對映。
程序將第一個(gè)最小角度數放入比較寄存器的低8位PCA0CPLn中,當PCA計數器/定時(shí)器的低字節(PCAOL)與PCA0CPLn中的值相等時(shí),CEXn引腳上的輸出被置“1”;同時(shí)程序將第二個(gè)數據即差值放入比較寄存器的PCA0CPLn中,PCA計數器/定時(shí)器清零,并將交叉開(kāi)關(guān)置位到相應的輸出腳,當PCA計數器/定時(shí)器的低字節(PCAOL)與PCA0CPLn中的值再次相等時(shí),CEXn引腳上的輸出被置“1”,直到這組數據完畢。PCAOL中的計數值溢出,CEXn輸出被復位,準備第二輪的PWM波的產(chǎn)生。
3 實(shí) 驗
3.1 圖像采集處理
為了使機器人能夠達到預定目標,必須對軟件系統進(jìn)行設計規劃。主控計算機上安裝了WIN98系統,圖像采集與處理采用VC進(jìn)行編程,下面是圖像采集處理的程序運行界面如圖5所示。
3.2 仿人機器人穩定步行
運用這種控制系統來(lái)實(shí)現DF一1仿人機器人行走的控制,通過(guò)實(shí)驗表明,此系統能夠完成仿人機器的動(dòng)態(tài)穩定行走,圖6是一系列行走連續行走的截圖。
4 結 語(yǔ)
基于PC/104嵌入式計算機和C8051F310芯片設計了仿人機器人的控制系統,實(shí)現了機器人的圖像采集和處理,以及機器人的穩定步行。PC/104嵌入式計算機功能齊備,運算能力強,可擴展性好,作為仿人機器人控制系統有它獨特的優(yōu)點(diǎn)。單片機實(shí)現仿人機器人的關(guān)節控制,由于其計算能力有限,難以實(shí)現復雜的控制,因此這種控制系統可以用來(lái)作為實(shí)驗用和教學(xué)用機器人。
評論