基于DSP仿人機器人關(guān)節(jié)控制器設(shè)計
2.1 關(guān)節(jié)控制器主程序
主程序的流程見圖7。本文引用地址:http://m.butianyuan.cn/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ū),而并不做任何進一步分析和處理。數(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進入定時中斷服務(wù)程序1次,讀取位置反饋值和速度反饋值,進行積分分離PID運算,最后輸出給D/A轉(zhuǎn)換成模擬量。
每一個插補周期(50 ms),主計算機向關(guān)節(jié)控制器發(fā)送1次運動規(guī)劃后的目標(biāo)位置。該目標(biāo)位置是以增量編碼器信號四倍頻后的脈沖數(shù)為單位,以前一次的目標(biāo)位置作為脈沖計數(shù)的零點。因此,關(guān)節(jié)控制器在讀取新的目標(biāo)位置后,也應(yīng)該以前一次的目標(biāo)位置作為新的增量碼盤脈沖計數(shù)零點,測量實際的電機位置,與新的目標(biāo)位置比較、運算。主計算機根據(jù)需要可以查詢當(dāng)前電機運行的實際位置,關(guān)節(jié)控制器返回的位置則是關(guān)節(jié)角的絕對位置,單位是0.1°。
3 結(jié) 語
仿人機器人機械臂分布式關(guān)節(jié)控制器研究與設(shè)計,對于提高仿人機器人總體性能與人機交互能力,具有重要科研價值與現(xiàn)實意義。機械臂分布式控制器的高度實時性、容錯性、可靠性、擴充性,為仿人機器人系統(tǒng)提供了先進的網(wǎng)絡(luò)體系結(jié)構(gòu)與通信標(biāo)準,實踐表明應(yīng)用前景極為廣闊。
pid控制器相關(guān)文章:pid控制器原理
評論