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