本文選用DSP與FPGA作為運(yùn)動(dòng)控制器的核心部件,設(shè)計(jì)了通用型運(yùn)動(dòng)控制器。其中DSP用于運(yùn)動(dòng)軌跡規(guī)劃、速度控制及位置控制等功能;FPGA完成運(yùn)動(dòng)控制器的精插補(bǔ)功能,用于精確計(jì)算步進(jìn)電機(jī)或伺服驅(qū)動(dòng)元件的控制脈沖,同時(shí)接收并處理脈沖型位置反饋信號(hào)。本文對(duì)該運(yùn)動(dòng)控制器的總體結(jié)構(gòu)、硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行了描述。
1 系統(tǒng)總體設(shè)計(jì)
運(yùn)動(dòng)控制器的總體性能指標(biāo)為:作為一個(gè)單獨(dú)的運(yùn)動(dòng)控制器使用,控制信號(hào)采用數(shù)字量方式輸出,能控制四軸的伺服電機(jī);最高脈沖輸出頻率為4MP/s,能處理的編碼器反饋信號(hào)最高頻率為4MP/繞行電感器s;能接收和處理4路編碼器反饋信號(hào);可以處理原點(diǎn)信號(hào)、正負(fù)方向信號(hào)、到位信號(hào)以及急停信號(hào)等數(shù)字量輸入信號(hào);提供16路數(shù)字量輸出信號(hào)和16路數(shù)字量輸入信號(hào)接口。運(yùn)動(dòng)控制器采用DSP與FPGA芯片作為主控芯片,主要包括DSP模塊、FPGA模塊、FPGA外圍電路模塊和數(shù)字量輸入輸出接口模塊。
采用基于DSP與FPGA的運(yùn)動(dòng)控制器,能夠?qū)崟r(shí)完成復(fù)雜的軌跡運(yùn)算,而且利用DSP的高速數(shù)字信號(hào)處理功能和FPGA功耗低、主頻高的優(yōu)點(diǎn),能充分顯示該運(yùn)動(dòng)控制器的優(yōu)點(diǎn)。采用DSP與FPGA相結(jié)合的運(yùn)動(dòng)控制器可以方便地對(duì)系統(tǒng)的控制策略進(jìn)行修改,對(duì)控制參數(shù)進(jìn)行修正,并可使設(shè)備具有良好的可靠性、可維修性,而且還降低了成本。系統(tǒng)還可以采用更多的智能控制策略,結(jié)構(gòu)靈活,有較強(qiáng)的通用性,適合電感器生產(chǎn)廠家于模塊化設(shè)計(jì),能夠提高算法效率,且易于維護(hù)和擴(kuò)展。總體設(shè)計(jì)方案原理框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 DSP模塊
本控制器采用TI公司的TMS320F2812為主控芯片,它是32位的控制專用DSP,內(nèi)含F(xiàn)LASH,主頻高達(dá)150MHz,具有數(shù)字信號(hào)處理、事件管理和嵌入式控制功能,適用于大批量數(shù)據(jù)處理的場(chǎng)合。
選用TI公司生產(chǎn)的TPS767D318芯片來(lái)實(shí)現(xiàn)TMS320-F2812的電源設(shè)計(jì),將5V電源分別轉(zhuǎn)換為3.3V和1.8V。
SRAM是DSP常用的外圍存儲(chǔ)器,它具有接口簡(jiǎn)單、讀寫速度快等優(yōu)點(diǎn),所以選擇大小為64KB的隨機(jī)存儲(chǔ)器CY7C1021作為存儲(chǔ)器擴(kuò)展芯片。DSPF2812與CY7C1021接口電路如圖2所示。
復(fù)位電路設(shè)計(jì)采用TI公司的TPS382x系列電壓監(jiān)控電路,此系列電路不需要外圍電路即可組成監(jiān)控電路。SCI模塊用于擴(kuò)展RS-232和RS-485串行通信接口;CAN模塊和外部CAN工業(yè)現(xiàn)場(chǎng)總線相連;外部接口用于與FPGA連接和擴(kuò)展數(shù)字量輸入輸出。2.2 FPGA模塊
FPGA芯片選用Altera公司的Cyclone系列EP1C6TC44C8,這是一款高性能、低功耗的FPGA。E塑封電感器P1C6TC44C8具有2個(gè)鎖相環(huán),包含5980個(gè)邏輯單元,相當(dāng)于12萬(wàn)門的規(guī)模,同時(shí)還包含了最高頻率200MHz、92160bit的內(nèi)部RAM。該芯片所擁有的邏輯門數(shù)量、頻率和引腳I/O等資源都能很好地滿足運(yùn)動(dòng)控制器的設(shè)計(jì)要求。由于本系統(tǒng)的控制對(duì)象是伺服電機(jī),所以設(shè)計(jì)中主要利用EP1C6TC44C8的I/O口設(shè)計(jì)電機(jī)控制信號(hào)的輸入輸出、編碼器信號(hào)的輸入與部分?jǐn)?shù)字量輸入輸出。另外,該芯片在整個(gè)硬件系統(tǒng)設(shè)計(jì)完畢后還可以通過(guò)JTAG接口對(duì)硬件進(jìn)行重配置,可以增加系統(tǒng)設(shè)計(jì)的靈活性。
電感器廠家 2.3 FPGA外圍電路模塊
X軸伺服電機(jī)控制電路如圖3所示。Y軸、Z軸、U軸伺服電機(jī)控制電路與X軸相同。
(1)輸入輸出開關(guān)量接口設(shè)計(jì)。
輸入信號(hào)主要包括限位開關(guān)信號(hào)LIMX+、LIMX-~LIMU+、LIMU-,伺服報(bào)警信號(hào)ALMX~ALMU和回零信號(hào)HMX~HMU。輸出信號(hào)主要包括伺服使能信號(hào)SRVX~SRVU和復(fù)位信號(hào)RSTX~RSTU。當(dāng)檢測(cè)到這些信號(hào)后,確定具體觸發(fā)的信號(hào),限位信號(hào)觸發(fā),則立即停止對(duì)應(yīng)電機(jī)該方向的運(yùn)動(dòng),直到限位消除,電機(jī)才能在該方向繼續(xù)運(yùn)動(dòng);回零信號(hào)觸發(fā),則電機(jī)等待Index信號(hào)的輸入后立即讓電機(jī)反向運(yùn)行用戶設(shè)定的回零距離作為機(jī)械零點(diǎn);伺服報(bào)警信號(hào)輸入時(shí),程序立即停止該電機(jī)的運(yùn)動(dòng),直到用戶將報(bào)警清除。 大功率電感廠家 |大電流電感工廠