基于FPGA的三軸伺服控制器設(shè)計與實現(xiàn)
控制模塊方面速度環(huán)節(jié)和位置環(huán)節(jié)分別采用PD和PID控制。因此在控制器設(shè)計中需要在這方面有所體現(xiàn)。由于本控制器以控制直流力矩電機為最終目的,因此在控制模塊的設(shè)計方面需要研究力矩電機的驅(qū)動及其電壓值獲取。在本控制器設(shè)計過程中需要對上述各項進行綜合控制與處理,以達到合理地控制開銷和控制精度的平衡。在三軸伺服裝置中選用PID控制算法。引入通常的PID控制算法,并考慮功率放大、位置檢測環(huán)的增益和速度環(huán)的PD控制算法,給定三軸電樞電壓。
在控制模塊的設(shè)計中速度與位置調(diào)節(jié)的是整個控制的主體,本伺服控制器完成輸入信號與輸出信號的比較,再通過位置校正、速度校正、機械諧振校正之后,校正后的信號控制PWM發(fā)生器的占空比,具有一定占空比的PWM信號控制PWM功率級,進而驅(qū)動被控對象。如此就可以得到本伺服控制器在反饋環(huán)節(jié)中所需要的力矩電機位置信息,利用該位置信息對三軸平臺實現(xiàn)高精度控制。
基于FPGA的三軸伺服控制器的通信模塊設(shè)計在硬件設(shè)計中也占有很大的比重。整體的通訊設(shè)計接口采用基于RS232的通用串口通信方式。采用這種接口方式能夠在滿足系統(tǒng)現(xiàn)場編程通信的同時滿足系統(tǒng)的遠程通信要求。該通信模塊采用一個帶有UART口的MCU,由于該MCU的數(shù)據(jù)都是立即數(shù),在運行過程中并沒有取數(shù)據(jù)操作,因此設(shè)計的流水線結(jié)構(gòu)采用三級結(jié)構(gòu),分別為取指令、譯碼和指令執(zhí)行。而MCU的指令地址則由程序計數(shù)器給出。在通信模塊的設(shè)計主要考慮的是正常上位機通信的進行和遠程監(jiān)控通信的有效實施。該設(shè)計采用了雙PC設(shè)計,這樣能夠極大地減少復(fù)位時間,使上述MCU不會因為外界的干擾而錯誤地執(zhí)行指令,這樣就能提高系統(tǒng)的可靠性。
本三軸伺服控制器的硬件設(shè)計需要配合軟件才能有效運行,該控制器軟件設(shè)計的主要任務(wù)是:完成對接口的初始化;上位機能夠?qū)Κ毩⒖刂迫S的伺服控制設(shè)備進行指令控制;對于光電編碼器反饋的速度信號和位置信號進行讀取和分析處理;根據(jù)反饋的數(shù)據(jù)和外部的腔制命令完成整個控制系統(tǒng)的閉環(huán)控制。其具體的主程序控制流程圖如圖2所示。本文引用地址:http://m.butianyuan.cn/article/191569.htm
本控制器軟件的關(guān)鍵是PWM信號的設(shè)定與輸出,一方面要考慮外部的輸入角度,另一方面要考慮系統(tǒng)的反饋。要實現(xiàn)高精度的三軸定位,必須有一套合理的信號產(chǎn)生機制。系統(tǒng)的中斷設(shè)計也是本控制器的重要研究內(nèi)容,因為本控制器采用相對獨立的三軸控制方式,在保證各軸獨立運行的同時要兼顧到整體的運行情況,且在運行過程中一旦某一部分出現(xiàn)問題,其他所有的部分都要同時采取一定的措施解決這個問題。限于篇幅,本文并未列出該三軸伺服控制器的軟件程序。
3 性能測試
為了驗證所設(shè)計的三軸伺服控制器的有效性,對基于FPGA的控制、通信等模塊進行了基于軟件的Modelsim的仿真測試。首先進行了該控制模塊的單次運行時間,本三軸伺服控制器的單次運行的平均時間為483ns,這種結(jié)果基本滿足了該控制平臺的實時性要求。系統(tǒng)的通信功能測試主要針對控制器的在線編程和上位機遠程控制進行。以普通筆記本作為上位機,采用串口通信軟件與該控制器進行通信,完成系統(tǒng)的三個力矩電機的啟動、加速、調(diào)速、換向、制動等功能。控制器參數(shù)的在線編程也完全能夠滿足。
在性能測試方面還進行了該控制器的調(diào)速性能測試、及時中斷性能測試、故障自動報警與處理性能測試、三軸綜合配合高精度定位測試等一系列測試。從仿真測試結(jié)果上看,所設(shè)計的基于FPGA的三軸伺服控制器基本能夠滿足該機載平臺的要求。
4 結(jié)語
以FPGA作為控制核心對某機載三軸運動平臺的伺服控制器進行設(shè)計,主要對其硬件中的控制、驅(qū)動、通信模塊進行了設(shè)計,同時給出了其軟件控制流程和部分中斷、復(fù)位等軟件程序。通過后續(xù)的仿真測試驗證了該控制器的有效性。
pid控制器相關(guān)文章:pid控制器原理
評論