基于DSP的仿人機器人運動控制器系統(tǒng)設計
2.1 主處理器與外圍器件單元
DSP主處理器是整個控制器的核心,其運算速度、對信息的處理能力等直接影響控制器的性能。選用TI 公司的TMS320LF2407A 芯片,它是TI 家族C2000系列中的高檔產品,集實時處理能力和控制器外設于一身,非常適用于工業(yè)控制。其主要特點有:
a.3.3 V電壓,功耗極低,且具有3 種低功耗模式。
b.內部采用哈佛結構體系,程序與數據存儲器分開,專用的程序總線和數據總線進行訪問,取指和執(zhí)行可同時進行,有效提高了存取速度。
c.流水線指令技術,多條指令可同時進行,平均每條指令大約只需一個指令周期,大大提高了指令執(zhí)行速度,指令周期可達ns級,在40MHz 主頻下每條指令只需25ns。
d.專用硬件乘法器,運算速度大大提高,運算能力明顯增強。
e.地址和數據總線都是16位,片內有高達32K的Flash程序存儲器,2.5K字的數據/ 程序RAM,544字雙端口RAM (DARAM) , 2K字的單端口RAM(SARAM) ,外部存儲器可擴展64K字的程序存儲器空間、64K字的數據存儲器空間和64K字的I/O空間。
f.自帶看門狗定時器、串行通信接口(SCI) 模塊、16 位串行外設接口( SPI) 模塊、SCI/ SPI 引導ROM、16 通道的10 位ADC 轉換器、5 個外部中斷、基于鎖相環(huán)(PLL) 的時鐘發(fā)生器、41個可單獨編程或復用的通用輸入/ 輸出(GPIO) 引腳。
g.2 個事件管理器模塊,每個事件管理器包括2個16位通用定時器、8個16位脈寬調制(PWM) 通道、可編程的PWM 死區(qū)控制、3個外部事件定時捕獲單元、片內光電編碼器接口電路。
h.內部帶有CAN2.0B 控制器模塊。
可以看出,TMS320LF2407A 的功能十分強大,其本身就是一個獨立的小型控制系統(tǒng),再加以適當的外圍器件,就可以實現更加復雜的控制功能。尤其是它的兩個事件管理器的功能非常強大,完全是為電機控制設計的。
TMS320LF2407A 通過位置傳感器實時監(jiān)控各關節(jié)軸系的運行情況,并通過總線與主控計算機交互信息。利用其多個PWM 脈沖通道直接產生控制軸系需要的PWM 脈沖信號;其CAN總線控制器模塊可以直接與主控計算機進行通信而不需要增加CAN 總線控制器。
TMS320LF2407A 的軟件開發(fā)也十分容易,可以反復編程。只要在其專用的集成開發(fā)環(huán)境CCS(Code Composer Studio) 中編譯好程序,用一根下載線通過標準的JTAG接口就可以把程序燒錄到DSP 的程序存儲器中,還可以在線修改和調試。整個過程簡單方便,只需一根下載線就可完成,大大簡化了軟件的開發(fā)過程,明顯提高了開發(fā)效率。同時外部看門狗電路孩可以對控制器電壓進行實時監(jiān)控,當電壓出現異常迅速復位主處理器。外部存儲器中存放控制算法所需的必要參數,通過SPI 串行外設接口與TMS320LF2407A 相連。
2.2 反饋與執(zhí)行單元
光電碼盤傳感器把軸系的位置信息轉換成兩路寬度相同但相位相差90°的脈沖信號,脈沖的數目與軸系的轉角成正比,相位差的符號代表了軸系轉動的方向。因此,通過對兩路脈沖進行計數就可以得到軸系的實際位置。脈沖信號經過光電隔離器件隔離后送入專用脈沖計數器,計數后的信息送入DSP主處理器。
這里沒有使用DSP 進行計數,一是為了節(jié)省DSP 的資源,使其可以把更多的時間用于計算和其他控制中去;二是可以提高控制器的靈活性,不用對主處理器進行改動就可以改變控制軸系的數目。脈沖計數器選用流行的CPLD 器件,其強大的功能對提高控制器的性能有很大的幫助,同時還可以作為譯碼電路的一部分為主處理器提供譯碼信號。主處理器對接收的軸系位置信息進行計算和分析,結合新的控制命令產生相應的PWM 脈沖控制信號,經過光電隔離和功率放大后送給執(zhí)行軸系控制軸系的運行。
2.3 通信單元
主處理器通過CAN總線與主控計算機進行通信,接收主控計算機的命令并把底層信息反饋給主控計算機, 實現更高一級的反饋控制。DSP 通過CAN總線接收器連接到總線上,為提高抗干擾能力,中間需要進行光電隔離。整個控制器的結構并不復雜,硬件實現也很簡單,但功能十分強大。每個控制器可以同時控制6~12個軸系,可以根據實際情況進行調節(jié)。
3 控制流程與分析
整個控制系統(tǒng)的工作過程如圖4 所示。
圖4 控制系統(tǒng)流程
具體流程為:主控計算機離線規(guī)劃好數據,系統(tǒng)開始運行并完成初始化工作;主控計算機向底層控制器發(fā)送控制命令,同時底層控制器對各執(zhí)行軸系進行位置采樣,并把兩者結合在一起進行分析,通過特定的控制算法生成相應的PWM 控制信號,經功率放大后送執(zhí)行軸系,同時把底層軸系的運行情況上傳給主控計算機,主控計算機根據新的情況再產生新的命令發(fā)送給各控制器,如此反復。
期間還要不斷查詢是否有中斷產生,如果有中斷則轉而執(zhí)行相應的中斷服務子程序,主要是用來處理一些異常情況;若有結束命令產生則結束整個運動過程。這事實上是兩個閉環(huán)反饋過程,底層控制器通過傳感器與各關節(jié)軸系之間進行小循環(huán)反饋,主控計算機通過各控制器與各關節(jié)軸系之間進行大回路反饋,這樣可以使機器人具有更多的“智能”,更好的進行離線實時控制,這也是機器人朝智能化方向發(fā)展的一條重要途徑。
4 結 論
文中設計的控制器,采用DSP作為主處理器,較傳統(tǒng)的單片機性能有了顯著提高,運算速度明顯增強,控制能力得到大幅度提升,從根本上解決了使用單片機所帶來的各種問題,并為機器人控制系統(tǒng)的發(fā)展和提升找到了一個新的方向。同時也希望能對研究機器人的同行們有一定啟示,在此基礎上研制出性能更高的產品,為推動我國機器人事業(yè)的前進做出更大的貢獻。
評論