基于FPGA的三軸伺服控制器設計與實(shí)現
0 引言
在運動(dòng)控制系統中,多軸伺服控制器的設計一直是該領(lǐng)域的重要內容之一。目前伺服控制器的設計多以DSP或MCU為控制核心,但DSP的靈活性不如FPGA,且在某些環(huán)境比較惡劣的條件如高溫高壓下DSP的應用效果會(huì )大打折扣,因此以FPGA為控制核心,對應用于機載三軸伺服控制平臺的控制器進(jìn)行了設計與優(yōu)化。
1 總體方案
FPGA(Field-Prograromable Gate Array,現場(chǎng)可編程門(mén)陣列)是在PAL,GAL,CPLD等可編程器件的基礎上進(jìn)一步發(fā)展的產(chǎn)物。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(xiàn)(Interconnect)三個(gè)部分??梢哉f(shuō),FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一,因此在設計中采用FPGA為控制核心。FPGA的基本特點(diǎn)主要有:采用FPGA設計ASIC電路,用戶(hù)不需要投片生產(chǎn),就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC電路的中試樣片;FPGA內部有豐富的觸發(fā)器和I/O引腳;FPGA是ASIC電路中設計周期最短、開(kāi)發(fā)費用最低、風(fēng)險最小的器件之一;FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
整個(gè)控制器由控制和驅動(dòng)兩部分組成,其結構如圖1所示??刂撇糠钟蒄PGA及一些附件組成,該控制器能夠獨立完成三軸控制器的電機驅動(dòng)波形發(fā)生、閉環(huán)運算與控制、與上位機通信等任務(wù),附件主要用來(lái)完成電樞電流的反饋等功能。驅動(dòng)模塊由光電耦合器件和放大驅動(dòng)芯片等組成。該控制器的最終控制目標為對驅動(dòng)三軸的力矩電機進(jìn)行高精度定位與驅動(dòng)。力矩電機的位置和速度反饋由光電編碼器實(shí)現。
由于本控制器所應用的機載平臺為三軸結構,因此,控制器采用獨立式控制,即每個(gè)軸都具有圖1所示的控制功能,三個(gè)相對獨立的分控制器組成整體的三軸控制器。該基于FPGA的三軸伺服控制器的基本控制方案就是這種反饋式的高精度控制,其中速度環(huán)使用PD控制算法,位置環(huán)使用PID控制算法。調整PID參數,通過(guò)控制電壓來(lái)控制跟蹤瞄準精度,使得跟蹤瞄準精度逐漸提高,達到所需盼精度要求。
2 控制器硬件與軟件的設計與實(shí)現
本伺服控制器以FPGA為核心,在硬件設計中主要進(jìn)行了驅動(dòng)模塊設計、控制模塊設計和通信模塊設計。驅動(dòng)模塊能夠根據外部給定的驅動(dòng)角度產(chǎn)生驅動(dòng)信號,控制模塊則能夠對光電編碼器測得的角度信號和速度信號進(jìn)行分析、反饋及運算,最終給出PWM脈寬值驅動(dòng)整個(gè)系統,在這期間還需要功放的放大作用,而通信模塊的主要功能是實(shí)現與上位機的有效通信,并能夠實(shí)現控制器的在線(xiàn)編程功能和上位機對三軸系統中力矩電機的遠程控制功能。
驅動(dòng)模塊主要包括控制波產(chǎn)生單元、力矩電機光電編碼器信號采集與處理、可編程死區發(fā)生器等部件。驅動(dòng)模塊中的信號功率放大部分和隔離措施的應用也是該部分中的重要設計內容,在此設計中功率放大采用普通的晶體管放大電路,而光電隔離器件的應用能夠有效防止強電模塊對弱電部分的影響。在驅動(dòng)模塊中輔助芯片采用可編程器件EPlK30QC208,它采用可重構的CMOS SRAM工藝,把連續的快速通道與獨特的嵌入式陣列(EAB)相結合,同時(shí)結合眾多可編程器件的優(yōu)點(diǎn)來(lái)完成普通門(mén)陣列的宏功能,主要完成伺服控制器的各種硬件邏輯接口功能。 EPlK30QC208主要完成4個(gè)接口的邏輯功能,即:主機接口、D/A接口、碼盤(pán)接口、I/O接口。D/A轉換器件采用雙通道DAC芯片DAC5573,相對TLC2543來(lái)說(shuō),硬件的連接簡(jiǎn)單很多,因為它采用標準的I2C總線(xiàn),同時(shí)S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL這兩個(gè)引腳,就可以實(shí)現兩者之間的通信。需要注意的是,SDA和SCL這兩個(gè)引腳需要上拉電阻值為10 kΩ的電阻來(lái)確保I2C總線(xiàn)能夠釋放出來(lái)。
pid控制器相關(guān)文章:pid控制器原理
評論