基于DSP仿人機(jī)器人關(guān)節(jié)控制器設(shè)計
2.1 關(guān)節(jié)控制器主程序
主程序的流程見圖7。本文引用地址:http://2s4d.com/article/163470.htm
寄存器初始化操作主要包括:設(shè)置CPU CLK為外部晶振的2倍頻,即16 MHz;設(shè)置串口通信波特率為:38.4 Kb/s;設(shè)置定時器/計數(shù)器相關(guān)寄存器;設(shè)置QEP電路單元相關(guān)寄存器;設(shè)置中斷控制寄存器等。
2.2 串口數(shù)據(jù)接收中斷服務(wù)程序
串口數(shù)據(jù)接收中斷服務(wù)程序流程圖見圖8。在中斷服務(wù)程序中,讀取數(shù)據(jù)接收寄存器中的數(shù)據(jù),存入數(shù)據(jù)接收區(qū),而并不做任何進(jìn)一步分析和處理。數(shù)據(jù)接收區(qū)是內(nèi)存中暫時存放數(shù)據(jù)的區(qū)域,當(dāng)存滿一條完整指令信息后,由主程序分析和處理。
2.3 控制周期定時中斷服務(wù)服務(wù)程序
控制周期2 ms定時中斷服務(wù)程序的流程見圖9。定時器/計數(shù)器為位置環(huán)和速度環(huán)控制周期定時2 ms,每2 ms進(jìn)入定時中斷服務(wù)程序1次,讀取位置反饋值和速度反饋值,進(jìn)行積分分離PID運算,最后輸出給D/A轉(zhuǎn)換成模擬量。
每一個插補(bǔ)周期(50 ms),主計算機(jī)向關(guān)節(jié)控制器發(fā)送1次運動規(guī)劃后的目標(biāo)位置。該目標(biāo)位置是以增量編碼器信號四倍頻后的脈沖數(shù)為單位,以前一次的目標(biāo)位置作為脈沖計數(shù)的零點。因此,關(guān)節(jié)控制器在讀取新的目標(biāo)位置后,也應(yīng)該以前一次的目標(biāo)位置作為新的增量碼盤脈沖計數(shù)零點,測量實際的電機(jī)位置,與新的目標(biāo)位置比較、運算。主計算機(jī)根據(jù)需要可以查詢當(dāng)前電機(jī)運行的實際位置,關(guān)節(jié)控制器返回的位置則是關(guān)節(jié)角的絕對位置,單位是0.1°。
3 結(jié) 語
仿人機(jī)器人機(jī)械臂分布式關(guān)節(jié)控制器研究與設(shè)計,對于提高仿人機(jī)器人總體性能與人機(jī)交互能力,具有重要科研價值與現(xiàn)實意義。機(jī)械臂分布式控制器的高度實時性、容錯性、可靠性、擴(kuò)充性,為仿人機(jī)器人系統(tǒng)提供了先進(jìn)的網(wǎng)絡(luò)體系結(jié)構(gòu)與通信標(biāo)準(zhǔn),實踐表明應(yīng)用前景極為廣闊。
pid控制器相關(guān)文章:pid控制器原理
評論