時間:2008-10-09 10:36:00來源:zhangting
圖1 步行機器人方向示意圖[/align]
其中,定義y軸方向為前進方向,z軸方向為機器人的身高方向。
機器人的自由度總體配置如圖2所示。
[align=center]
圖2 自由度總體配置圖[/align]
動力源的選擇
目前市場上,有很多種電動機向機器人提供能源:直流電機、交流電機、步進電機、伺服電動機。由于雙足步行機器人要求的精度要求比較高,而交直流電機通電就轉(zhuǎn),斷電就停,比較難進行機器人的位置控制;步進電機雖能按一定的精度工作,但它本身是一個開環(huán)系統(tǒng),精度達不到要求。因此,本文選擇使用伺服電動機。
在本文中使用的是價格比較便宜的伺服電動機—舵機。舵機最早出現(xiàn)在航模運動中。在航空模型中,飛行機的飛行姿態(tài)是通過調(diào)節(jié)發(fā)動機和各個控制舵面來實現(xiàn)的。電動舵機的工作原理如圖3所示。其中,舵機控制器一般采用pid控制,以滿足舵機動靜態(tài)指標要求;伺服功率放大器一般由脈沖寬度調(diào)制器(pwm)和開關(guān)控制電路組成;直流伺服電機是電動舵機的執(zhí)行元件,可采用有刷或無刷直流電機;減速機構(gòu)一般采用蝸輪蝸桿或絲缸減速機構(gòu)。
由于本研究制作的機器人是桌上型的重量很輕的作實驗用的小型雙足步行機器人。因此機器人的各關(guān)節(jié)是選擇使用舵機驅(qū)動。
[align=center]
圖3 電動舵機工作原理方框圖[/align]
附表 rc伺服電機的參數(shù)

圖4 單腿模型圖[/align]
[align=center]
圖5 兩足步行機器人雙腿模型圖[/align]
傳統(tǒng)產(chǎn)生pwm波的方法是通過大量的分立元件來實現(xiàn)的,所產(chǎn)生的脈沖頻率和寬度往往不是很準確,很難做到對舵機的精確控制。目前,產(chǎn)生pwm波的方法有很多種:最直接的方法就是用單片機本身所帶的pwm口產(chǎn)生波形,但該方法受mcu內(nèi)部資源的限制,僅能實現(xiàn)2~4路pwm波的輸出,對于需要多路舵機的場合顯然是不夠的。另一種方法就是利用分時復(fù)用的思想利用單片機一個中斷產(chǎn)生7路控制futaba舵機用pwm波的方法。該方法雖然實現(xiàn)了7路舵機的控制,但也僅能實現(xiàn)7路舵機的控制,并且僅針對特定舵機的控制,控制精度也不高,在一些重要場合的應(yīng)用受到了限制;還有一種方法就是利用單片機純軟件的循環(huán)計數(shù)的方法或者,利用硬件定時,軟件計數(shù)相結(jié)合的方法,在不增加任何硬件接口的前提下,實現(xiàn)了多路pwm波的輸出[6],然而此方法大量占用mcu運算時間,基本不能再處理其它的事務(wù),并且精度不高。
另外,目前一些數(shù)字信號處理芯片片內(nèi)就集成了pwm波形產(chǎn)生的功能,只需要進行寄存器參數(shù)的設(shè)置就可得到pwm的輸出。但在一些只需要簡單電機控制的場合,從成本考慮不需要較為昂貴的數(shù)字信號處理芯片。
本文采用一片51的單片機和一片復(fù)雜可編程邏輯器件(cpld)實現(xiàn)了pwm的產(chǎn)生。由于cpld具有他特有的并行處理能力和大量的io接口,可以同時控制幾十甚至上百個舵機同時工作,可以為后續(xù)的工作留出一定的空間,但由于cpld不具備事務(wù)處理能力,實際應(yīng)用中還需要mcu協(xié)同工作,本文使用51系列的單片機和cpld協(xié)同控制舵機,另外,使用了單片機,還可以為后續(xù)的傳感器反饋處理留出空間。
[align=center]
圖6 控制系統(tǒng)結(jié)構(gòu)圖[/align]
控制系統(tǒng)所圖6所示,選用“上位機+串口+下位機”的控制系統(tǒng)解決方案。上位機控制軟件的主要功能是對預(yù)定的機器人動作進行規(guī)劃和位置插補,再按照一定時間間隔和次序進行發(fā)送給下位機,實現(xiàn)機器人關(guān)節(jié)位置和近似的速度控制;下位機主要功能是接收上位機發(fā)送的位置信號,根據(jù)信號要求產(chǎn)生pwm波,控制機器人各個關(guān)節(jié)舵機運動,使機器人按動作規(guī)劃完成溜冰動作。相應(yīng)的,下位機主要由完成串口通信、數(shù)據(jù)的調(diào)度和12個舵機驅(qū)動模塊構(gòu)成[7]。
[align=center]
圖7 cpld的12路舵機驅(qū)動原理圖[/align]
圖7為cpld的12路舵機驅(qū)動原理圖,cpld通過一個簡單的接口與51單片機進行通信,把要驅(qū)動的12個舵機的pwm信號數(shù)據(jù)存入到數(shù)據(jù)存儲區(qū),從而通過數(shù)字pwm生成器驅(qū)動12個舵機轉(zhuǎn)到需要的角度,當需要轉(zhuǎn)換到下一個角度時,通過與51單片機的接口,從51單片機中傳送新的pwm信號數(shù)據(jù)到數(shù)據(jù)存儲區(qū)中進行更新,這樣數(shù)字pwm生成器就會驅(qū)動舵機轉(zhuǎn)過一個新的角度。
硬件設(shè)計
電源
為了避免舵機的供電電源產(chǎn)生的電壓波動對控制電路的干擾,控制電路與舵機的電源要進行隔離,即分開供電。控制電路電源使用的是一個9v輸出的ac-dc變壓電源經(jīng)7805芯片后提供的5v電源,而舵機的電源提供了一個接口,外接一個6v的直流電源。
控制芯片
控制芯片模塊包括單片機、時鐘電路、復(fù)位電路、外部程序存儲芯片擴展以及大規(guī)模cpld芯片。單片機采用atmel公司的at89s52,它是8位的高性能嵌入式控制器,其內(nèi)部集成了8k的可在線編程的flash存儲器;256字節(jié)的ram,可尋址64字節(jié),具有32根i/o口、3個可編程定時器、8個中斷源、6個中斷矢量、1個看門狗定時器。時鐘電路給系統(tǒng)提供時間基準,設(shè)計時采用11.05296mhz晶振。同時,本設(shè)計還擴展了一片8k×8位的外部存儲芯片2864。cpld芯片采用的是altera公司的epm7128。
串行通信
串行通信模塊主要用于at89s52單片機與pc機之間的串行通信。由于pc機的com口符合rs-232標準, at89s52單片機上的串行接口是cmos電平,在rs-232與cmos電平通信時,需要電平轉(zhuǎn)換,因此,設(shè)計時利用max232芯片來作電平轉(zhuǎn)換。
舵機的驅(qū)動控制
12路舵機的控制信號來自cpld芯片的i/o口(引腳30、31、33、34、35、36、37、39、40、41、44、45)。為了防止干擾,13路舵機控制信號和驅(qū)動電路應(yīng)經(jīng)過tlp-521光電隔離,通過隔離出來的控制信號,還必須接入lm324比較器,以消除毛刺,增加信號的穩(wěn)定性,提高信號的輸出電流,以便舵機能夠正確工作不至于產(chǎn)生不必要的抖動。
圖8所示為控制系統(tǒng)的硬件電路板線路設(shè)計圖。
[align=center]
圖8 機器人控制器線路圖[/align]
結(jié)語
在本文中,探討了舵機的安裝方法,框架的設(shè)計以及制作了能通過伺服電機控制運動的一種經(jīng)濟型的雙足步行機器人。另外,實現(xiàn)了用單片機與cpld控制12個rc伺服電機的設(shè)想。
今后,將研討運用逆運動學(xué)的原理,通過預(yù)先給定機器人各個部位的運動軌跡,通過運算確定好各關(guān)節(jié)的旋轉(zhuǎn)角度然后通過控制系統(tǒng)得控制算法,以實現(xiàn)機器人的實際行走過程。標簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(connectcrack.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-09-23
2025-09-23
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06