基于DSP的運動控制器的開發(fā)
3 軟件程序設(shè)計及流程
整個運動控制系統(tǒng)程序主要包括EEPROM引導程序和DSP主程序兩部分。其中,F(xiàn)lash引導程序的作用是把系統(tǒng)程序從片外低速EEPROM傳送到片外高速RAM中運行,在運動控制卡的硬件調(diào)試階段,程序規(guī)模比較小,程序可以存放在片內(nèi)的。Flash中,這樣則不需要引導程序,直接在片內(nèi)運行程序。系統(tǒng)程序主要由主程序、讀寫雙口RAM程序、脈沖輸出程序、插補程序和加減速控制程序組成。主程序調(diào)用各子程序,進行與上位機的通信、I/O、QEP、定時器及中間寄存器的初始化、設(shè)置中斷標志、讀取計數(shù)器的值、計算各控制量、積分平滑等功能。當發(fā)生中斷時,調(diào)用相應中斷程序,并修改或重置標志位。
圖2所示為DSP主程序的流程圖。主CPU使用硬件復位控制DSP的復位操作,DSP復位后運行片內(nèi)ROM或加載到RAM中的系統(tǒng)主程序。DSP主程序由初始化程序、時鐘循環(huán)等待中斷程序組成。初始化程序完成所有變量的初始化,復位全部外設(shè)和關(guān)閉所有輸出。之后進入循環(huán)和等待中斷的過程,檢測到主機命令之后,讀取命令并根據(jù)系統(tǒng)需要調(diào)用相應的處理程序。命令處理完后再進入循環(huán)等待狀態(tài),命令處理程序是實現(xiàn)運動控制器功能的關(guān)鍵程序,包括運動控制的算法,速度控制、位置控制等功能的實現(xiàn),還包括完成數(shù)據(jù)寫入和讀取等功能,同時對外部中斷進行處理。當上位機給運動控制卡發(fā)送控制命令時,DSP首先讀取主機發(fā)送來的軸的目標位置,根據(jù)速度控制的模式設(shè)定指令選擇相應的速度控制算法,同時查詢外部事件,如有事件發(fā)生,執(zhí)行相應的處理程序。接著就可以送出軸的控制輸出,檢測各軸是否都完成運動(判斷軸狀態(tài)寄存器完成標志位),完成則推出命令處理程序,否則繼續(xù)執(zhí)行。本文引用地址:http://m.butianyuan.cn/article/152225.htm
4 結(jié)束語
運動控制器的硬件設(shè)計需要注意:如抗干擾、外圍電路的速度與DSP的實時性能匹配問題。這些問題相互影響,要確定一個正確的電路結(jié)構(gòu)和合理的PCB布線,需要大量的實際經(jīng)驗,因此在電路結(jié)構(gòu)方面仍有待改進,使之更適應穩(wěn)定、高速的控制要求。對控制軟件的改進主要包括以下兩方面:
(1)完成上位機上接口函數(shù)、運動控制函數(shù)庫和上層調(diào)試環(huán)境的設(shè)計、編寫NURBS數(shù)學處理程序,在運動控制器內(nèi)部實現(xiàn)不同的插補算法,建立運動控制器的操作平臺和完善的人機交互功能,使得運動控制器具有更強大的控制性能和更容易編程;
(2)對伺服電機的控制只提供了硬件上的支持,在軟件上需要對光電編碼器的反饋信號進行分析,計算出與給定位置的誤差,再通過軟件PID算法調(diào)節(jié)器獲得位置控制量來控制伺服系統(tǒng)。
評論