王尚宇,岳鳳英,趙帆,張仰成
(1.中北大學(xué) 電氣與控制工程學(xué)院,太原 030051;2.北京衛(wèi)星制造廠有限公司,北京 100094)
隨著電機(jī)在探測(cè)、鉆取領(lǐng)域運(yùn)用的越來(lái)越廣泛,且對(duì)電機(jī)運(yùn)動(dòng)控制精度要求越來(lái)越高。目前存在大量復(fù)雜環(huán)境探測(cè)實(shí)驗(yàn)的進(jìn)行,為在模擬復(fù)雜環(huán)境中進(jìn)行測(cè)試驗(yàn)證,本文設(shè)計(jì)了一種新型測(cè)試系統(tǒng)總控單元。自主流程主控模塊以ARM 芯片為核心,利用端口映射連接下級(jí)的采集存儲(chǔ)模塊和進(jìn)給機(jī)構(gòu)控制模塊,執(zhí)行全局控制。采集存儲(chǔ)模塊以FPGA 作為控制核心,主要負(fù)責(zé)模擬量采集、存儲(chǔ),以及LVDS數(shù)據(jù)的接收存儲(chǔ)分發(fā)。為避免底層控制模塊的故障對(duì)主流程的影響,進(jìn)給機(jī)構(gòu)控制模塊采用獨(dú)立控制方式,選用DSP 作為主控芯片。上位機(jī)通過(guò)Qt 軟件設(shè)計(jì)開發(fā),采用模塊化設(shè)計(jì)思想,充分考慮了系統(tǒng)維護(hù)性和可擴(kuò)展性,以及測(cè)試效率,從而減少了后期系統(tǒng)維護(hù)的周期與成本。
總控單元由于控制任務(wù)多,實(shí)時(shí)性強(qiáng),因此將總控單元分為自頂向下的兩級(jí)控制結(jié)構(gòu)??偪貑卧δ芙Y(jié)構(gòu)如圖1 所示。該結(jié)構(gòu)主要由自主流程主控模塊、采集存儲(chǔ)模塊、進(jìn)給機(jī)構(gòu)控制模塊組成。自主流程主控模塊負(fù)責(zé)整個(gè)測(cè)試流程控制,包括時(shí)序控制、時(shí)統(tǒng)管理、指令控制、上位機(jī)交互等功能的實(shí)現(xiàn)。采集存儲(chǔ)模塊負(fù)責(zé)所有測(cè)試數(shù)據(jù)的采集及處理,包括1553B 總線數(shù)據(jù)接收、上傳顯示及遙測(cè)下傳、LVDS 數(shù)據(jù)接收及存儲(chǔ)、傳感器數(shù)據(jù)采集與存儲(chǔ)。進(jìn)給機(jī)構(gòu)控制模塊負(fù)責(zé)進(jìn)給機(jī)構(gòu)電機(jī)的運(yùn)動(dòng)控制,包含運(yùn)動(dòng)模式、運(yùn)動(dòng)參數(shù)等內(nèi)容,同時(shí)監(jiān)測(cè)限位開關(guān)觸發(fā)信號(hào)、采集電機(jī)轉(zhuǎn)速。
圖1 總控單元結(jié)構(gòu)圖Fig.1 Overall control unit structure diagram
為避免測(cè)試流程命令收發(fā)、數(shù)據(jù)存儲(chǔ)與進(jìn)給機(jī)構(gòu)控制相互影響,進(jìn)給機(jī)構(gòu)控制由進(jìn)給機(jī)構(gòu)控制模塊單獨(dú)控制,內(nèi)置恒速控制與速度曲線模擬控制雙模式,控制方式為PWM 位置指令控制;機(jī)構(gòu)總行程由結(jié)構(gòu)設(shè)計(jì)保證,行程到位控制有兩種方式,第一種由編碼器旋轉(zhuǎn)角度確定到位,第二種由行程到位開關(guān)確定到位[1]。兩種方式均可由進(jìn)給機(jī)構(gòu)控制模塊獲取,觸發(fā)停機(jī)狀態(tài)并向電機(jī)驅(qū)動(dòng)器發(fā)出停機(jī)抱閘指令。
進(jìn)給機(jī)構(gòu)伺服電機(jī)的運(yùn)動(dòng)控制主要由進(jìn)給機(jī)構(gòu)控制系統(tǒng)模塊來(lái)負(fù)責(zé),這里選擇TI 公司的TMS320F28335作為電機(jī)運(yùn)動(dòng)控制芯片。這是一款TI 公司生產(chǎn)的高性能TMS320C28X 系列32 位浮點(diǎn)DSP 處理器,其浮點(diǎn)運(yùn)算單元,用戶可快速編寫控制算法而無(wú)需在處理小數(shù)操作上耗費(fèi)過(guò)多的時(shí)間和精力[2-3]。該芯片具有150 MHz 的高速處理能力,有多達(dá)18 路的PWM輸出,其中6 路為專有的高精度HRPWM 輸出,12位16 道ADC,可以充分發(fā)揮DSP 在電機(jī)控制方面的優(yōu)勢(shì)。
配置安川伺服單元SGD7S-5R5A 系列為進(jìn)給機(jī)構(gòu)所選伺服電機(jī)。根據(jù)進(jìn)給機(jī)構(gòu)的機(jī)械結(jié)構(gòu)形式,進(jìn)給機(jī)構(gòu)伺服電機(jī)進(jìn)行速度控制時(shí),歸根結(jié)底是按時(shí)間進(jìn)行位置控制,故電機(jī)控制方式選擇為位置環(huán)控制。由于單獨(dú)的電機(jī)加伺服獨(dú)立成閉環(huán),因此對(duì)編碼器輸出位置脈沖信號(hào)的接收僅起到監(jiān)測(cè)作用,不參與整體模塊控制[4]。電機(jī)控制原理如圖2所示。
圖2 電機(jī)控制原理圖Fig.2 Motor control schematic diagram
通過(guò)DSP 產(chǎn)生的PWM 波形對(duì)電機(jī)進(jìn)行控制,同時(shí)電機(jī)自帶的編碼器反饋的位置信號(hào)通過(guò)伺服單元,進(jìn)入進(jìn)給機(jī)構(gòu)控制模塊的QEP 端口進(jìn)行脈沖計(jì)數(shù),并讀取QEP 當(dāng)前的計(jì)數(shù)值,用來(lái)實(shí)時(shí)監(jiān)測(cè)電機(jī)速度偏差[5]。伺服電機(jī)尾部安裝的24 位編碼器每圈可輸出16777216 個(gè)脈沖,伺服單元可接受的CCW格式脈沖位置指令最大頻率為4 MHz。進(jìn)給機(jī)構(gòu)要求的最大移動(dòng)速度為0.1 m/s,假設(shè)進(jìn)給機(jī)構(gòu)的絲杠導(dǎo)程為4 mm,則可換算要達(dá)到最大移動(dòng)速度,電機(jī)瞬時(shí)角速度最大為25 圈/s。若脈沖位置指令頻率與編碼器輸出脈沖頻率為1∶1,最大電機(jī)瞬時(shí)角速度對(duì)應(yīng)的脈沖位置指令頻率脈沖頻率為419430400 Hz,遠(yuǎn)遠(yuǎn)大于可接受頻率4 MHz。因此,需至少設(shè)置脈沖頻率比為419.430400/4≈105,放大取整為200,在該設(shè)置條件下,每輸入一個(gè)位置脈沖,電機(jī)轉(zhuǎn)動(dòng)200個(gè)編碼器脈沖角度,由編碼器每圈輸出1677216 個(gè)脈沖可折合約為0.004°。故理論上伺服電機(jī)在最大速度運(yùn)動(dòng)的條件下,單脈沖可實(shí)現(xiàn)角度調(diào)整精度0.004°,極大的提高了電機(jī)運(yùn)動(dòng)控制的精度。
進(jìn)給機(jī)構(gòu)控制模塊主要負(fù)責(zé)電機(jī)的運(yùn)動(dòng)控制,從而帶動(dòng)進(jìn)給機(jī)構(gòu)運(yùn)動(dòng)。DSP 芯片內(nèi)部具有QEP 模塊,可用于電機(jī)自帶的編碼器脈沖信號(hào)的接收,其內(nèi)部集成的SPI 接口可用于與其它模塊高速通信[6];豐富的GPIO 引腳和中斷引腳可用于握手通信控制。根據(jù)外圍設(shè)備功能,該進(jìn)給機(jī)構(gòu)控制模塊包括時(shí)鐘電路、PWM 驅(qū)動(dòng)電路、QEP 接收部分接口電路、進(jìn)給機(jī)構(gòu)限位開關(guān)電路、SPI 接口電路、急??刂齐娐贰_M(jìn)給機(jī)構(gòu)速度提升、行進(jìn)段速度調(diào)節(jié)范圍與行程機(jī)械設(shè)計(jì)、電機(jī)性能、驅(qū)動(dòng)器性能有關(guān),對(duì)于所選的電機(jī)控制芯片DSP,速度控制和其控制精度均可以達(dá)到良好的效果。
2.2.1 時(shí)鐘電路
DSP 的時(shí)鐘電路,一共有兩種方案可供選擇:第一種是使用外部時(shí)鐘源,即有源晶振,將晶振連接到X1 引腳上或者XCLKIN 引腳上,X2 接地。另一種是由振蕩器產(chǎn)生時(shí)鐘,用一個(gè)晶體和兩個(gè)電容組成的電路分別連接到X1 和X2 引腳上。在本時(shí)鐘電路設(shè)計(jì)中采用25 MHz 有源晶振給DSP 提供時(shí)鐘。
2.2.2 PWM 驅(qū)動(dòng)電路
DSP 通過(guò)PWM 端口向伺服單元發(fā)送脈沖位置指令,由于電平的不匹配和隔離的需要,PWM 信號(hào)不能直接驅(qū)動(dòng)伺服單元的PWM 接收端口[7]。查所選安川伺服電機(jī)手冊(cè),伺服單元的脈沖指令接收電路為光耦隔離輸入,故選用同類線性驅(qū)動(dòng)器SN65ALS189芯片。
2.2.3 QEP 接口電路
DSP 通過(guò)QEP 端口接收伺服單元的編碼器脈沖信號(hào),由于電平的不匹配和隔離的需要,編碼器脈沖信號(hào)不能由QEP 端口接收[8]。伺服單元的脈沖驅(qū)動(dòng)電路為差分線驅(qū)動(dòng)器輸出,參照其設(shè)計(jì),選擇高速光電耦合器6N137,將6N137 的輸出信號(hào)進(jìn)行電阻分壓,以匹配DSP 的I/O 接口電壓。
2.2.4 SPI 通信接口
DSP 通過(guò)SPI 接口與自主流程控制模塊內(nèi)STM32進(jìn)行連接,其中STM32 為通信主機(jī),DSP 為從機(jī),為支持由從機(jī)發(fā)起的通信需求,特定義DSP 芯片的GPIO53 管腳為從機(jī)發(fā)起通信的握手信號(hào),由該引腳連接STM32 的外部中斷引腳,通知主機(jī)狀態(tài)的STM32由從機(jī)發(fā)起通信。為在啟動(dòng)信號(hào)觸發(fā)自主流程的同時(shí)控制電機(jī)運(yùn)行,特將GPIO52 映射為外部中斷輸入引腳,一旦測(cè)試流程控制模塊送來(lái)啟動(dòng)信號(hào),進(jìn)給機(jī)構(gòu)可以迅速響應(yīng)。
2.2.5 進(jìn)給機(jī)構(gòu)限位開關(guān)
為提高進(jìn)給機(jī)構(gòu)運(yùn)動(dòng)的安全性,在進(jìn)給機(jī)構(gòu)導(dǎo)軌零點(diǎn)位設(shè)置上限位保護(hù)開關(guān),終點(diǎn)位設(shè)置下限位保護(hù)開關(guān)。限位開關(guān)輸出為數(shù)字量,OC 門輸出,引入控制器后,供電為+12 V,將負(fù)載替換為20 k 電阻,控制輸出電流0.6 mA,遠(yuǎn)小于限位開關(guān)負(fù)載電流,并用5.1 k 電阻進(jìn)行分壓電平轉(zhuǎn)換。
2.2.6 急停斷電抱閘控制電路
為防止進(jìn)給機(jī)構(gòu)超軌運(yùn)動(dòng),進(jìn)給機(jī)構(gòu)結(jié)構(gòu)上設(shè)計(jì)了急停開關(guān),配合伺服電機(jī)制動(dòng)器緊急情況下執(zhí)行制動(dòng)。其制動(dòng)器電源為電壓24 V,功耗為10 W,電流不超過(guò)0.5 A。為防止制動(dòng)器動(dòng)作時(shí)電源波動(dòng)對(duì)其他共用電源設(shè)備的干擾,故采用獨(dú)立直流電源對(duì)制動(dòng)器單獨(dú)供電。
2.2.7 伺服單元接口
進(jìn)給機(jī)構(gòu)控制模塊接一個(gè)PCB 板DB37 插座,與伺服單元的CN1 口相連。伺服單元控制電機(jī)輸入輸出接口信號(hào)定義如表1 所示。
表1 伺服單元接口定義Tab.1 Servo unit interface definition
使用CCS 軟件對(duì)進(jìn)給機(jī)構(gòu)控制系統(tǒng)測(cè)試流程進(jìn)行開發(fā)。實(shí)現(xiàn)在機(jī)構(gòu)負(fù)載條件下對(duì)進(jìn)給機(jī)構(gòu)電機(jī)的控制與調(diào)速功能,具備恒速控制,速度曲線模擬控制,以及與自主流程控制軟件和采集存儲(chǔ)軟件的數(shù)據(jù)交互。進(jìn)給機(jī)構(gòu)控制模塊的軟件流程如圖3 所示。
圖3 軟件設(shè)計(jì)流程Fig.3 Software design flow chart
上位機(jī)測(cè)試軟件基于Windows 平臺(tái),使用目前應(yīng)用比較廣泛、發(fā)展較快、功能強(qiáng)大的圖形化編輯軟件QT 進(jìn)行編寫。軟件結(jié)構(gòu)包括系統(tǒng)初始化模塊、控制參數(shù)設(shè)置模塊、控制器數(shù)據(jù)回讀模塊、模擬與數(shù)字量采集模塊、數(shù)據(jù)顯示與存儲(chǔ)模塊、數(shù)據(jù)管理模塊等。其中,系統(tǒng)初始化模塊主要負(fù)責(zé)初始化控制器參數(shù)及接口,并在軟件啟動(dòng)后進(jìn)行系統(tǒng)自檢,控制參數(shù)設(shè)置模塊主要負(fù)責(zé)進(jìn)給機(jī)構(gòu)電機(jī)控制參數(shù)、觸發(fā)模式初始化。
使用輔助軟件SigmaWin+對(duì)進(jìn)給機(jī)構(gòu)模塊進(jìn)行性能測(cè)試,該軟件可以對(duì)伺服電機(jī)進(jìn)行初始化設(shè)置,并具有速度波形追蹤和電機(jī)轉(zhuǎn)速顯示功能。進(jìn)給機(jī)構(gòu)測(cè)試平臺(tái)實(shí)物圖如圖4 所示,測(cè)試設(shè)備上方為伺服電機(jī)且電機(jī)轉(zhuǎn)軸連接進(jìn)給機(jī)構(gòu)行程導(dǎo)軌,導(dǎo)軌上配備有配重鋁板以模擬真實(shí)探測(cè)裝備。
圖4 進(jìn)給機(jī)構(gòu)測(cè)試平臺(tái)Fig.4 Feed mechanism testing platform
速度超調(diào)體現(xiàn)在進(jìn)給機(jī)構(gòu)加速到勻速階段時(shí)的速度超調(diào)程度。伺服電機(jī)運(yùn)動(dòng)的速度超調(diào)不超過(guò)3%。速度超調(diào)主要測(cè)試方法是在電機(jī)不同的運(yùn)動(dòng)工況下通過(guò)SigmaWin+軟件對(duì)進(jìn)給機(jī)構(gòu)的速度曲線進(jìn)行追蹤,進(jìn)給機(jī)構(gòu)從0.08 m/s 減速到0 的速度追蹤曲線,如圖5 所示。
圖5 0.08 m/s 減速到0 的速度曲線Fig.5 Speed curve for deceleration to 0 at 0.08 m/s
此工況下伺服電機(jī)轉(zhuǎn)速為1200 r/min,如圖6所示,將勻速運(yùn)行階段進(jìn)行放大觀察,根據(jù)勻速運(yùn)動(dòng)曲線可知電機(jī)轉(zhuǎn)速偏差最大為1170 r/min,可得該工況下的速度超調(diào)為2.5%,故測(cè)試結(jié)果控制系統(tǒng)的響應(yīng)性好。
圖6 速度超調(diào)抓取Fig.6 Speed overshoot grab
速度穩(wěn)定性體現(xiàn)在電機(jī)從加速到勻速階段時(shí)的速度抖動(dòng)程度。基于進(jìn)給機(jī)構(gòu)控制系統(tǒng)的測(cè)試結(jié)果的高標(biāo)準(zhǔn)、嚴(yán)要求,伺服電機(jī)運(yùn)動(dòng)的速度平穩(wěn)性即可調(diào)速范圍內(nèi)平穩(wěn)性優(yōu)于5%。速度穩(wěn)定性的測(cè)試方法同速度超調(diào),為了體現(xiàn)普遍適用性,選取另一種工況進(jìn)行測(cè)試,選擇進(jìn)給機(jī)構(gòu)從0.08 m/s 減速到0.052 m/s 的速度曲線。
該工況下,如圖7 所示,將其勻速運(yùn)行階段放大觀察,從速度曲線中可以獲取電機(jī)最大速度和最小速度,經(jīng)計(jì)算可知該工況下的進(jìn)給機(jī)構(gòu)速度穩(wěn)定性為0.45%,故測(cè)試結(jié)果控制系統(tǒng)穩(wěn)定性高。
自主流程主控模塊接收到系統(tǒng)啟動(dòng)信號(hào)觸發(fā)后,進(jìn)給機(jī)構(gòu)控制模塊將電機(jī)運(yùn)行中采集的模擬量數(shù)據(jù)傳送給采集存儲(chǔ)模塊進(jìn)行處理,BES 數(shù)據(jù)采集結(jié)果如圖8 所示,前8 幀為時(shí)間戳,其中51 和4F表示電機(jī)速度達(dá)到0.08 m/s。
圖8 電機(jī)模擬量采集Fig.8 Motor analog signal acquisition
本文提出了一種基于ARM+FPGA+DSP 的新型測(cè)試系統(tǒng)總控單元的設(shè)計(jì)與實(shí)現(xiàn)方案,重點(diǎn)介紹了總控單元中進(jìn)給機(jī)構(gòu)控制系統(tǒng)的硬件設(shè)計(jì)、軟件流程及性能驗(yàn)證。對(duì)目前存在的控制系統(tǒng)的電路及其驗(yàn)證過(guò)程進(jìn)行優(yōu)化設(shè)計(jì)。該進(jìn)給機(jī)構(gòu)控制系統(tǒng)的速度超調(diào)和速度穩(wěn)定性均得到優(yōu)化,電機(jī)控制精度得到了保證。故該進(jìn)給機(jī)構(gòu)控制系統(tǒng)的電路和軟件設(shè)計(jì)合理,且具備實(shí)際工程的使用價(jià)值。