目前伺服控制器的設(shè)計(jì)多以DSP或MCU為控制核心,,但DSP的靈活性不如FPGA,,且在某些環(huán)境比較惡劣的條件如高溫高壓下DSP的應(yīng)用效果會(huì)大打折扣,因此以FPGA為控制核心,,對(duì)應(yīng)用于機(jī)載三軸伺服控制平臺(tái)的控制器進(jìn)行了設(shè)計(jì)與優(yōu)化,。
1 總體方案
FPGA(Field-Prograromable Gate Array,現(xiàn)場(chǎng)可編程門陣列)是在PAL,,GAL,,CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block),、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分??梢哉f(shuō),,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一,,因此在設(shè)計(jì)中采用FPGA為控制核心,。FPGA的基本特點(diǎn)主要有:采用FPGA設(shè)計(jì)ASIC電路,,用戶不需要投片生產(chǎn),就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC電路的中試樣片;FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳;FPGA是ASIC電路中設(shè)計(jì)周期最短,、開(kāi)發(fā)費(fèi)用最低,、風(fēng)險(xiǎn)最小的器件之一;FPGA采用高速CHMOS工藝,功耗低,,可以與CMOS,、TTL電平兼容。
整個(gè)控制器由控制和驅(qū)動(dòng)兩部分組成,,其結(jié)構(gòu)如圖1所示,。控制部分由FPGA及一些附件組成,,該控制器能夠獨(dú)立完成三軸控制器的電機(jī)驅(qū)動(dòng)波形發(fā)生,、閉環(huán)運(yùn)算與控制、與上位機(jī)通信等任務(wù),,附件主要用來(lái)完成電樞電流的反饋等功能,。驅(qū)動(dòng)模塊由光電耦合器件和放大驅(qū)動(dòng)芯片等組成。該控制器的最終控制目標(biāo)為對(duì)驅(qū)動(dòng)三軸的力矩電機(jī)進(jìn)行高精度定位與驅(qū)動(dòng),。力矩電機(jī)的位置和速度反饋由光電編碼器實(shí)現(xiàn),。
由于本控制器所應(yīng)用的機(jī)載平臺(tái)為三軸結(jié)構(gòu),因此,,控制器采用獨(dú)立式控制,,即每個(gè)軸都具有圖1所示的控制功能,三個(gè)相對(duì)獨(dú)立的分控制器組成整體的三軸控制器,。該基于FPGA的三軸伺服控制器的基本控制方案就是這種反饋式的高精度控制,,其中速度環(huán)使用PD控制算法,,位置環(huán)使用PID控制算法,。調(diào)整PID參數(shù),通過(guò)控制電壓來(lái)控制跟蹤瞄準(zhǔn)精度,,使得跟蹤瞄準(zhǔn)精度逐漸提高,,達(dá)到所需盼精度要求。
2 控制器硬件與軟件的設(shè)計(jì)與實(shí)現(xiàn)
本伺服控制器以FPGA為核心,,在硬件設(shè)計(jì)中主要進(jìn)行了驅(qū)動(dòng)模塊設(shè)計(jì),、控制模塊設(shè)計(jì)和通信模塊設(shè)計(jì)。驅(qū)動(dòng)模塊能夠根據(jù)外部給定的驅(qū)動(dòng)角度產(chǎn)生驅(qū)動(dòng)信號(hào),,控制模塊則能夠?qū)怆娋幋a器測(cè)得的角度信號(hào)和速度信號(hào)進(jìn)行分析,、反饋及運(yùn)算,,最終給出PWM脈寬值驅(qū)動(dòng)整個(gè)系統(tǒng),,在這期間還需要功放的放大作用,而通信模塊的主要功能是實(shí)現(xiàn)與上位機(jī)的有效通信,,并能夠?qū)崿F(xiàn)控制器的在線編程功能和上位機(jī)對(duì)三軸系統(tǒng)中力矩電機(jī)的遠(yuǎn)程控制功能。
驅(qū)動(dòng)模塊主要包括控制波產(chǎn)生單元,、力矩電機(jī)光電編碼器信號(hào)采集與處理,、可編程死區(qū)發(fā)生器等部件。驅(qū)動(dòng)模塊中的信號(hào)功率放大部分和隔離措施的應(yīng)用也是該部分中的重要設(shè)計(jì)內(nèi)容,,在此設(shè)計(jì)中功率放大采用普通的晶體管放大電路,,而光電隔離器件的應(yīng)用能夠有效防止強(qiáng)電模塊對(duì)弱電部分的影響。在驅(qū)動(dòng)模塊中輔助芯片采用可編程器件EPlK30QC208,,它采用可重構(gòu)的CMOS SRAM工藝,,把連續(xù)的快速通道與獨(dú)特的嵌入式陣列(EAB)相結(jié)合,同時(shí)結(jié)合眾多可編程器件的優(yōu)點(diǎn)來(lái)完成普通門陣列的宏功能,,主要完成伺服控制器的各種硬件邏輯接口功能,。 EPlK30QC208主要完成4個(gè)接口的邏輯功能,即:主機(jī)接口,、D/A接口,、碼盤接口、I/O接口,。D/A轉(zhuǎn)換器件采用雙通道DAC芯片DAC5573,,相對(duì)TLC2543來(lái)說(shuō),硬件的連接簡(jiǎn)單很多,,因?yàn)樗捎脴?biāo)準(zhǔn)的I2C總線,,同時(shí)S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL這兩個(gè)引腳,,就可以實(shí)現(xiàn)兩者之間的通信,。需要注意的是,SDA和SCL這兩個(gè)引腳需要上拉電阻值為10 kΩ的電阻來(lái)確保I2C總線能夠釋放出來(lái),。 控制模塊方面速度環(huán)節(jié)和位置環(huán)節(jié)分別采用PD和PID控制,。因此在控制器設(shè)計(jì)中需要在這方面有所體現(xiàn)。由于本控制器以控制直流力矩電機(jī)為最終目的,,因此在控制模塊的設(shè)計(jì)方面需要研究力矩電機(jī)的驅(qū)動(dòng)及其電壓值獲取,。在本控制器設(shè)計(jì)過(guò)程中需要對(duì)上述各項(xiàng)進(jìn)行綜合控制與處理,以達(dá)到合理地控制開(kāi)銷和控制精度的平衡,。在三軸伺服裝置中選用PID控制算法,。引入通常的PID控制算法,并考慮功率放大,、位置檢測(cè)環(huán)的增益和速度環(huán)的PD控制算法,,給定三軸電樞電壓。
在控制模塊的設(shè)計(jì)中速度與位置調(diào)節(jié)的是整個(gè)控制的主體,,本伺服控制器完成輸入信號(hào)與輸出信號(hào)的比較,,再通過(guò)位置校正,、速度校正、機(jī)械諧振校正之后,,校正后的信號(hào)控制PWM發(fā)生器的占空比,,具有一定占空比的PWM信號(hào)控制PWM功率級(jí),進(jìn)而驅(qū)動(dòng)被控對(duì)象,。如此就可以得到本伺服控制器在反饋環(huán)節(jié)中所需要的力矩電機(jī)位置信息,,利用該位置信息對(duì)三軸平臺(tái)實(shí)現(xiàn)高精度控制。
基于FPGA的三軸伺服控制器的通信模塊設(shè)計(jì)在硬件設(shè)計(jì)中也占有很大的比重,。整體的通訊設(shè)計(jì)接口采用基于RS232的通用串口通信方式,。采用這種接口方式能夠在滿足系統(tǒng)現(xiàn)場(chǎng)編程通信的同時(shí)滿足系統(tǒng)的遠(yuǎn)程通信要求。該通信模塊采用一個(gè)帶有UART口的MCU,,由于該MCU的數(shù)據(jù)都是立即數(shù),,在運(yùn)行過(guò)程中并沒(méi)有取數(shù)據(jù)操作,因此設(shè)計(jì)的流水線結(jié)構(gòu)采用三級(jí)結(jié)構(gòu),,分別為取指令,、譯碼和指令執(zhí)行。而MCU的指令地址則由程序計(jì)數(shù)器給出,。在通信模塊的設(shè)計(jì)主要考慮的是正常上位機(jī)通信的進(jìn)行和遠(yuǎn)程監(jiān)控通信的有效實(shí)施,。該設(shè)計(jì)采用了雙PC設(shè)計(jì),這樣能夠極大地減少?gòu)?fù)位時(shí)間,,使上述MCU不會(huì)因?yàn)橥饨绲母蓴_而錯(cuò)誤地執(zhí)行指令,,這樣就能提高系統(tǒng)的可靠性。
本三軸伺服控制器的硬件設(shè)計(jì)需要配合軟件才能有效運(yùn)行,,該控制器軟件設(shè)計(jì)的主要任務(wù)是:完成對(duì)接口的初始化;上位機(jī)能夠?qū)Κ?dú)立控制三軸的伺服控制設(shè)備進(jìn)行指令控制;對(duì)于光電編碼器反饋的速度信號(hào)和位置信號(hào)進(jìn)行讀取和分析處理;根據(jù)反饋的數(shù)據(jù)和外部的腔制命令完成整個(gè)控制系統(tǒng)的閉環(huán)控制,。其具體的主程序控制流程圖如圖2所示。
本控制器軟件的關(guān)鍵是PWM信號(hào)的設(shè)定與輸出,,一方面要考慮外部的輸入角度,,另一方面要考慮系統(tǒng)的反饋。要實(shí)現(xiàn)高精度的三軸定位,,必須有一套合理的信號(hào)產(chǎn)生機(jī)制,。系統(tǒng)的中斷設(shè)計(jì)也是本控制器的重要研究?jī)?nèi)容,,因?yàn)楸究刂破鞑捎孟鄬?duì)獨(dú)立的三軸控制方式,,在保證各軸獨(dú)立運(yùn)行的同時(shí)要兼顧到整體的運(yùn)行情況,且在運(yùn)行過(guò)程中一旦某一部分出現(xiàn)問(wèn)題,,其他所有的部分都要同時(shí)采取一定的措施解決這個(gè)問(wèn)題,。限于篇幅,本文并未列出該三軸伺服控制器的軟件程序,。
3 性能測(cè)試
為了驗(yàn)證所設(shè)計(jì)的三軸伺服控制器的有效性,,對(duì)基于FPGA的控制,、通信等模塊進(jìn)行了基于軟件的Modelsim的仿真測(cè)試。首先進(jìn)行了該控制模塊的單次運(yùn)行時(shí)間,,本三軸伺服控制器的單次運(yùn)行的平均時(shí)間為483ns,,這種結(jié)果基本滿足了該控制平臺(tái)的實(shí)時(shí)性要求。系統(tǒng)的通信功能測(cè)試主要針對(duì)控制器的在線編程和上位機(jī)遠(yuǎn)程控制進(jìn)行,。以普通筆記本作為上位機(jī),,采用串口通信軟件與該控制器進(jìn)行通信,完成系統(tǒng)的三個(gè)力矩電機(jī)的啟動(dòng),、加速,、調(diào)速、換向,、制動(dòng)等功能,。控制器參數(shù)的在線編程也完全能夠滿足,。
在性能測(cè)試方面還進(jìn)行了該控制器的調(diào)速性能測(cè)試,、及時(shí)中斷性能測(cè)試、故障自動(dòng)報(bào)警與處理性能測(cè)試,、三軸綜合配合高精度定位測(cè)試等一系列測(cè)試,。從仿真測(cè)試結(jié)果上看,所設(shè)計(jì)的基于FPGA的三軸伺服控制器基本能夠滿足該機(jī)載平臺(tái)的要求,。
4 結(jié)語(yǔ)
以FPGA作為控制核心對(duì)某機(jī)載三軸運(yùn)動(dòng)平臺(tái)的伺服控制器進(jìn)行設(shè)計(jì),,主要對(duì)其硬件中的控制、驅(qū)動(dòng),、通信模塊進(jìn)行了設(shè)計(jì),,同時(shí)給出了其軟件控制流程和部分中斷、復(fù)位等軟件程序,。通過(guò)后續(xù)的仿真測(cè)試驗(yàn)證了該控制器的有效性,。