《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于PIC單片機的機器人靈巧手的控制系統(tǒng)設(shè)計
基于PIC單片機的機器人靈巧手的控制系統(tǒng)設(shè)計
摘要: 在機器人靈巧手控制方面的研究在國內(nèi)只有少數(shù)的科研機構(gòu)進行,而且成本較高。在本文尋求采用一種較為合適的單片機來作為實現(xiàn)控制的核心,基于PIC單片機的強大功能所以采用PIC系列單片機。
關(guān)鍵詞: PIC 機器人 PID PWM 電機驅(qū)動
Abstract:
Key words :

    當代機器人研究的領(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系列單片機。

1 PIC單片機特點

    PIC系列單片機是美國Microchip公司出品的8 b微處理器,但是他的速度與功能卻比現(xiàn)在 一些普通8 b的51單片機強很多,因為他采用了RISC結(jié)構(gòu),有別于過去的一般CISC結(jié)構(gòu),RISC結(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è)計的要求。

控制系統(tǒng)的整體硬件

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所示。

PWM信號輸出示意圖

    當Time2剛開始工作時,PWM輸出端為高電平,此后Time2會和PR2,CCPRXL兩個寄存器比較 ,當Time2等于CCPRXL中的設(shè)定值時引腳輸出變?yōu)榈碗娖剑擳ime2計數(shù)到與PR2中的數(shù)相等 時,此時引腳輸出變?yōu)楦唠娖剑琓ime2便會歸零重新計數(shù),這就是PWM信號的輸出過程。在PWM信號的輸出端連接功放電路,采用L298芯片實現(xiàn)單極性可逆驅(qū)動,單片機生成的PWM脈寬調(diào)制信號直接由L298雙H橋PWM驅(qū)動器驅(qū)動,L298是一種高電壓大電流功率放大芯片。驅(qū)動電壓可達46V,直流電流總和可達4 A,直接采用TTL邏輯電平控制。

2.4 A/D模塊

   對于信號的采集部分,由于PIC單片機內(nèi)部集成了一個5通道的8 b A/D,因此無需外接A/D ,直接應(yīng)用即可。內(nèi)部A/D的使用主要是對ADCON0,ADCON1,ADRES三個寄存器的設(shè)定。

3 控制算法

   在工業(yè)控制中PID算法是一種很常用的算法,一般的8 b單片機運行該算法時速度會受到穎響,對于系統(tǒng)的控制有著一定的時延特性,但是基于PIC單片機的結(jié)構(gòu)和高速特性,這一點可以克服[4]。對于PID在本系統(tǒng)中對于該算法的軟件流程圖如圖4所示。

對于PID在本系統(tǒng)中對于該算法的軟件流程圖

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ā)應(yīng)用技術(shù)[M].北京:北京航空航天大學出版 社,2000.

[3]何信龍,李雪銀.PIC16C7X入門與應(yīng)用范例[M].北京:清華大學出 版社,2001.

[4]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。