基于PIC單片機的機器人靈巧手的控制系統(tǒng)設(shè)計
當代機器人研究的領(lǐng)域已經(jīng)從結(jié)構(gòu)環(huán)境下的定點作業(yè)中走出來,向非結(jié)構(gòu)環(huán)境下的自主作業(yè)方面發(fā)展。而機器人靈巧手相當于安裝在機器人臂上的可獨立實現(xiàn)精細操作運動的一組機器人,是真正擬人化并能實現(xiàn)靈活操作的機器人手。他對于提高空間機器人的工作能力具有重要意義,并且將來還可以嘗試將機器人靈巧手用于戰(zhàn)場探雷和排雷、核工業(yè)設(shè)備的檢測和修理等危險作業(yè)[1]。在機器人靈巧手控制方面的研究在國內(nèi)只有少數(shù)的科研機構(gòu) 進行,而且成本較高。在本文尋求采用一種較為合適的單片機來作為實現(xiàn)控制的核心,基于PIC單片機的強大功能所以采用PIC系列單片機。
1PIC單片機特點
PIC 系列單片機是美國Microchip公司出品的8 b微處理器,但是他的速度與功能卻比現(xiàn)在 一些普通8 b的51單片機強很多,因為他采用了RISC結(jié)構(gòu),有別于過去的一般CISC結(jié)構(gòu),R ISC結(jié)構(gòu)采用Harward雙總線結(jié)構(gòu),將地址總線與數(shù)據(jù)總線分開,因此數(shù)據(jù)與地址可以同時傳輸,提高了運算速度[2]。 PIC單片機的體積小,功耗低,而且內(nèi)部集成了多種外圍電路,使設(shè)計更加方便,無需在單片機的設(shè)計中再添加一些外圍電路,在控制系統(tǒng)中這一點很重要。本文中采用的PIC16C77單片機,他有8 k的程序存貯器;368 B RAM;2個PWM口;內(nèi)部集成了一個5通道的8 b A/D,具有掉電復位功能,這些特點使得硬件的設(shè)計非常方便。在機器人靈巧手的控制中對于微小電機的驅(qū)動需要PWM信號來驅(qū)動,在傳統(tǒng)的設(shè)計中是利用晶體管組成的電路來實現(xiàn)的,普通的51系列單片機中必須利用定時器來產(chǎn)生,而在PIC單片機中內(nèi)部包含了2個PWM信號輸出端為設(shè)計提供了方便。
2控制系統(tǒng)的整體硬件設(shè)計
靈巧手在抓取和操作前,要進行被抓物接觸點位置確定、抓取構(gòu)形分析判斷、三指手正逆解求解、軌跡規(guī)劃等復雜運算。這需要很長時間。在抓取和操作過程中,要進行電機轉(zhuǎn)速控制、關(guān)節(jié)位置檢測控制、指端力覺檢測等,其中有的控制必須同時進行,因此,本文所設(shè)計的靈巧手采用圖1所示的按層次劃分的分級式控制系統(tǒng)。上位機為PC機主要從事主控制作用,進行抓取軌跡規(guī)劃,還有對下位機發(fā)出操作指令。下位機為3個控制單元與上位機進行多機通訊,接收指令并對反饋信號進行PID調(diào)節(jié),控制電機轉(zhuǎn)動。每個單片機控制一個手指的運動。采用該控制體系的優(yōu)點是控制方案整體思路比較清晰,控制靈活,達到了設(shè)計的要求。
2.1下位機軟件設(shè)計
對于單片機在這個系統(tǒng)中的主要作用是接收上位機的指令,控制電機的運轉(zhuǎn)和手指關(guān)節(jié)的運動以及對反饋的信號進行PID調(diào)節(jié)將結(jié)果送往上位機,并將采集來的信號送往上位機準備下一次指令的接收。主要流程如圖2所示。
2.2串口通信模塊
對于串口通信主要是采用異步串行傳輸模式,數(shù)據(jù)的傳輸格式是RS232協(xié)議。對于PIC單片機來說對于串口的操作主要是對下面幾個寄存器的操作:TXSTA發(fā)送狀態(tài)與控制、RCSTA接收狀態(tài)與控制寄存器、TXREGUSART發(fā)送寄存器、RCREGUSART接收寄存器和 SPBRG波特率產(chǎn)生寄存器。
2.3電機驅(qū)動模塊
靈巧手的運動主要通過關(guān)節(jié)處的電機的運動來控制。三指靈巧手的每個手指有3個自由度 也就說一個手指的運動需要3個電機來驅(qū)動。驅(qū)動方式采用繩索與滑輪的方式傳動,電機選用了瑞士Maxon公司生產(chǎn)的REmax21直流伺服電機以及與其配套的減速器和編碼盤。
電機的驅(qū)動需要PWM信號來驅(qū)動,利用PIC單片機本身帶有的PWM信號口,配以功率放大器便 可進行電機的驅(qū)動。PWM信號主要是對其內(nèi)部Time2和2個寄存器的設(shè)定:一個是存貯PWM周期的PR2寄存器,一個是存貯工作周期的寄存器CCPRXL[3]。PWM信號輸出示意圖如圖3所示。
當Time2剛開始工作時,PWM輸出端為高電平,此后Time2會和PR2,CCPRXL兩個寄存器比較,當Time2等于CCPRXL中的設(shè)定值時引腳輸出變?yōu)榈碗娖剑擳ime2計數(shù)到與PR2中的數(shù)相等時,此時引腳輸出變?yōu)楦唠娖?,Time2便會歸零重新計數(shù),這就是PWM信號的輸出過程。在PW M信號的輸出端連接功放電路,采用L298芯片實現(xiàn)單極性可逆驅(qū)動,單片機生成的PWM脈寬調(diào)制信號直接由L298雙H橋PWM驅(qū)動器驅(qū)動,L298是一種高電壓大電流功率放大芯片。驅(qū)動電壓可達46 V,直流電流總和可達4 A,直接采用TTL邏輯電平控制。
2.4A/D模塊
對于信號的采集部分,由于PIC單片機內(nèi)部集成了一個5通道的8 b A/D,因此無需外接A/D ,直接應用即可。內(nèi)部A/D的使用主要是對ADCON0,ADCON1, ADRES三個寄存器的設(shè)定。
3控制算法
在工業(yè)控制中PID算法是一種很常用的算法,一般的8 b單片機運行該算法時速度會受到穎響,對于系統(tǒng)的控制有著一定的時延特性,但是基于PIC單片機的結(jié)構(gòu)和高速特性,這一點可以克服[4]。對于PID在本系統(tǒng)中對于該算法的軟件流程圖如圖4所示。
4結(jié)語
采用PIC單片機設(shè)計的三指靈巧手較好地完成了抓取實驗,所有的硬件設(shè)計比普通的8 b 單片機更為簡潔,系統(tǒng)更為穩(wěn)定,操作簡單。相比較利用專用的集成驅(qū)動電路和高性能的數(shù) 字信號處理器組成的系統(tǒng),采用該方案成本更小,整體的性能也相當好。?
參考文獻
[1] Okada T.An artificial finger equipped with adaptability to an object? Bullelectrotech?lab, 1974,37 (2):1078-1090.?
[2]武鋒.PIC系列單片機的開發(fā)應用技術(shù)[M].北京:北京航空航天大學出版 社,2000.?
[3]何信龍,李雪銀.PIC16C7X入門與應用范例[M].北京:清華大學出 版社,2001.
[4]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.