目前伺服控制器的設(shè)計多以DSP或MCU為控制核心,伺服控制器是用來控制伺服馬達(dá)的一種器件,一般是通過位置、速度和力矩三種方式對伺服馬達(dá)進(jìn)行控制,實現(xiàn)高精度的傳動系統(tǒng)定位。 從結(jié)構(gòu)上看,伺服控制器和變頻器差不多,但對元器件的要求精度和可靠性更高。目前主流的伺服控制器均采用數(shù)字信號處理器(DSP)作為控制核心,可以實現(xiàn)比較復(fù)雜的控制算法,實現(xiàn)數(shù)字化、網(wǎng)絡(luò)化和智能化。功率器件普遍采用以智能功率模塊(IPM)為核心設(shè)計的驅(qū)動電路,IPM內(nèi)部集成了驅(qū)動電路,同時具有過電壓、過電流、過熱、欠壓等故障檢測保護(hù)電路,在主回路中還加入軟啟動電路,以減小啟動過程對驅(qū)動器的沖擊。
1 總體方案
FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一,因此在設(shè)計中采用FPGA為控制核心。FPGA的基本特點主要有:采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC電路的中試樣片;FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。
整個控制器由控制和驅(qū)動兩部分組成,其結(jié)構(gòu)如圖1所示。控制部分由FPGA及一些附件組成,該控制器能夠獨立完成三軸控制器的電機驅(qū)動波形發(fā)生、閉環(huán)運算與控制、與上位機通信等任務(wù),附件主要用來完成電樞電流的反饋等功能。驅(qū)動模塊由光電耦合器件和放大驅(qū)動芯片等組成。該控制器的最終控制目標(biāo)為對驅(qū)動三軸的力矩電機進(jìn)行高精度定位與驅(qū)動。
由于本控制器所應(yīng)用的機載平臺為三軸結(jié)構(gòu),因此,控制器采用獨立式控制,三個相對獨立的分控制器組成整體的三軸控制器。該基于FPGA的三軸伺服控制器的基本控制方案就是這種反饋式的高精度控制,其中速度環(huán)使用PD控制算法,位置環(huán)使用PID控制算法。調(diào)整PID參數(shù),通過控制電壓來控制跟蹤瞄準(zhǔn)精度,使得跟蹤瞄準(zhǔn)精度逐漸提高,達(dá)到所需盼精度要求。
2 控制器硬件與軟件的設(shè)計與實現(xiàn)
本伺服控制器以FPGA為核心,在硬件設(shè)計中主要進(jìn)行了驅(qū)動模塊設(shè)計、控制模塊設(shè)計和通信模塊設(shè)計。FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對其編程。
驅(qū)動模塊主要包括控制波產(chǎn)生單元、力矩電機光電編碼器信號采集與處理、可編程死區(qū)發(fā)生器等部件。在驅(qū)動模塊中輔助芯片采用可編程器件EPlK30QC208,它采用可重構(gòu)的CMOS SRAM工藝,把連續(xù)的快速通道與獨特的嵌入式陣列(EAB)相結(jié)合,同時結(jié)合眾多可編程器件的優(yōu)點來完成普通門陣列的宏功能,主要完成伺服控制器的各種硬件邏輯接口功能。 EPlK30QC208主要完成4個接口的邏輯功能,D/A轉(zhuǎn)換器件采用雙通道DAC芯片DAC5573,相對TLC2543來說,硬件的連接簡單很多,因為它采用標(biāo)準(zhǔn)的I2C總線,同時S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL這兩個引腳,就可以實現(xiàn)兩者之間的通信??刂颇K方面速度環(huán)節(jié)和位置環(huán)節(jié)分別采用PD和PID控制。由于本控制器以控制直流力矩電機為最終目的,因此在控制模塊的設(shè)計方面需要研究力矩電機的驅(qū)動及其電壓值獲取。在本控制器設(shè)計過程中需要對上述各項進(jìn)行綜合控制與處理,以達(dá)到合理地控制開銷和控制精度的平衡。在三軸伺服裝置中選用PID控制算法。
在控制模塊的設(shè)計中速度與位置調(diào)節(jié)的是整個控制的主體,本伺服控制器完成輸入信號與輸出信號的比較,再通過位置校正、速度校正、機械諧振校正之后,校正后的信號控制PWM發(fā)生器的占空比,具有一定占空比的PWM信號控制PWM功率級,進(jìn)而驅(qū)動被控對象。
基于FPGA的三軸伺服控制器的通信模塊設(shè)計在硬件設(shè)計中也占有很大的比重。整體的通訊設(shè)計接口采用基于RS232的通用串口通信方式。采用這種接口方式能夠在滿足系統(tǒng)現(xiàn)場編程通信的同時滿足系統(tǒng)的遠(yuǎn)程通信要求。該通信模塊采用一個帶有UART口的MCU,由于該MCU的數(shù)據(jù)都是立即數(shù),在運行過程中并沒有取數(shù)據(jù)操作,因此設(shè)計的流水線結(jié)構(gòu)采用三級結(jié)構(gòu),分別為取指令、譯碼和指令執(zhí)行。而MCU的指令地址則由程序計數(shù)器給出。在通信模塊的設(shè)計主要考慮的是正常上位機通信的進(jìn)行和遠(yuǎn)程監(jiān)控通信的有效實施。
本三軸伺服控制器的硬件設(shè)計需要配合軟件才能有效運行,該控制器軟件設(shè)計的主要任務(wù)是:完成對接口的初始化;上位機能夠?qū)Κ毩⒖刂迫S的伺服控制設(shè)備進(jìn)行指令控制;對于光電編碼器反饋的速度信號和位置信號進(jìn)行讀取和分析處理;根據(jù)反饋的數(shù)據(jù)和外部的腔制命令完成整個控制系統(tǒng)的閉環(huán)控制。其具體的主程序控制流程圖如圖2所示。
本控制器軟件的關(guān)鍵是PWM信號的設(shè)定與輸出,一方面要考慮外部的輸入角度,另一方面要考慮系統(tǒng)的反饋。要實現(xiàn)高精度的三軸定位,必須有一套合理的信號產(chǎn)生機制。系統(tǒng)的中斷設(shè)計也是本控制器的重要研究內(nèi)容,因為本控制器采用相對獨立的三軸控制方式,在保證各軸獨立運行的同時要兼顧到整體的運行情況,且在運行過程中一旦某一部分出現(xiàn)問題,其他所有的部分都要同時采取一定的措施解決這個問題。
3 性能測試
為了驗證所設(shè)計的三軸伺服控制器的有效性,對基于FPGA的控制、通信等模塊進(jìn)行了基于軟件的Modelsim的仿真測試。首先進(jìn)行了該控制模塊的單次運行時間,本三軸伺服控制器的單次運行的平均時間為483ns,這種結(jié)果基本滿足了該控制平臺的實時性要求。系統(tǒng)的通信功能測試主要針對控制器的在線編程和上位機遠(yuǎn)程控制進(jìn)行。以普通筆記本作為上位機,采用串口通信軟件與該控制器進(jìn)行通信,完成系統(tǒng)的三個力矩電機的啟動、加速、調(diào)速、換向、制動等功能。
在性能測試方面還進(jìn)行了該控制器的調(diào)速性能測試、及時中斷性能測試、故障自動報警與處理性能測試、三軸綜合配合高精度定位測試等一系列測試。從仿真測試結(jié)果上看,所設(shè)計的基于FPGA的三軸伺服控制器基本能夠滿足該機載平臺的要求。
4 結(jié)語
以FPGA作為控制核心對某機載三軸運動平臺的伺服控制器進(jìn)行設(shè)計,主要對其硬件中的控制、驅(qū)動、通信模塊進(jìn)行了設(shè)計,同時給出了其軟件控制流程和部分中斷、復(fù)位等軟件程序。通過后續(xù)的仿真測試驗證了該控制器的有效性。