高偉松,王立玲,肖金壯,王洪瑞
(河北大學(xué) 電子信息工程學(xué)院,河北 保定 071000)
在伺服電機(jī)和伺服驅(qū)動(dòng)器組成的高性能穩(wěn)定平臺(tái)伺服系統(tǒng)中,需要實(shí)時(shí)地獲得伺服電機(jī)的轉(zhuǎn)角和轉(zhuǎn)速信息,高速高精度的傳感器以及相應(yīng)的外圍電路設(shè)計(jì)是必不可少的。由于單片機(jī)自身資源的局限性,難以滿足現(xiàn)在伺服系統(tǒng)高精度、高運(yùn)算率以及快速實(shí)時(shí)性的要求。在穩(wěn)定平臺(tái)伺服控制系統(tǒng)中,DSP已經(jīng)逐漸取代單片機(jī),成為主流芯片。本設(shè)計(jì)采用TI公司的32 bit浮點(diǎn)型DSP芯片TMS320F28335,其工作時(shí)鐘頻率高達(dá)150 MHz,具有強(qiáng)大的運(yùn)算能力,能夠?qū)崟r(shí)地完成復(fù)雜的控制算法。片內(nèi)集成了豐富的電機(jī)控制外圍部件和電路,簡化了控制電路的硬件設(shè)計(jì),提高了系統(tǒng)的可靠性。
本研究采用DSP的新型開發(fā)板ICETEK-F28335-A,配合使用其中的EQEP模塊和光電編碼器設(shè)計(jì)了測量伺服電機(jī)轉(zhuǎn)速的解決方案,同時(shí)利用該開發(fā)板上的數(shù)模轉(zhuǎn)換(D/A)模塊,經(jīng)過電壓轉(zhuǎn)換放大完成對(duì)伺服電機(jī)轉(zhuǎn)速的控制,實(shí)現(xiàn)了對(duì)穩(wěn)定平臺(tái)伺服電機(jī)控制的閉環(huán)系統(tǒng)。實(shí)踐表明,該系統(tǒng)有功耗低、成本低和結(jié)構(gòu)簡單的優(yōu)點(diǎn),同時(shí)具有高精度、高分辨率以及快速實(shí)時(shí)性的特點(diǎn),使穩(wěn)定平臺(tái)伺服系統(tǒng)達(dá)到了較好的控制效果。
穩(wěn)定平臺(tái)應(yīng)用的主要技術(shù)是伺服控制技術(shù),本系統(tǒng)實(shí)現(xiàn)了對(duì)松下伺服MINAS A系列伺服電機(jī)進(jìn)行速度控制,其主要由松下伺服MINAS A系列的伺服驅(qū)動(dòng)器、伺服電機(jī)、相應(yīng)的光電編碼器、TMS320F28335運(yùn)動(dòng)控制開發(fā)板、相應(yīng)的ICETEK-5100USB仿真器以及實(shí)現(xiàn)閉環(huán)過程必需的外圍電路組成。伺服系統(tǒng)的結(jié)構(gòu)如圖1所示。
穩(wěn)定平臺(tái)的伺服系統(tǒng)實(shí)現(xiàn)速度閉環(huán)過程為:DSP控制器根據(jù)上位機(jī)給定的速度命令值減去速度反饋值算出電機(jī)速度的誤差值,經(jīng)過驅(qū)動(dòng)單元的數(shù)字濾波器(調(diào)節(jié)算法)產(chǎn)生電機(jī)速度的控制信號(hào),即D/A模塊產(chǎn)生模擬量電壓,經(jīng)過電平轉(zhuǎn)換到能夠?qū)λ欧姍C(jī)進(jìn)行控制的電壓范圍,從而實(shí)現(xiàn)對(duì)伺服電機(jī)的轉(zhuǎn)速控制。其中,反饋值是根據(jù)增量式光電編碼器反饋的正交脈沖信號(hào),經(jīng)過光耦隔離、整形,將反饋信號(hào)提供給TMS320F28335的eQEP模塊。采集脈沖信號(hào)根據(jù)M/T計(jì)數(shù)方法計(jì)算出電機(jī)轉(zhuǎn)速,反饋給上位機(jī),實(shí)現(xiàn)自動(dòng)控制,從而使穩(wěn)定平臺(tái)能夠隔離載體運(yùn)動(dòng)建立穩(wěn)定基準(zhǔn)面[1]。電源模塊將開關(guān)電源提供的+5 V電壓變換為+3.3 V為系統(tǒng)供電[2]。
圖1 伺服系統(tǒng)結(jié)構(gòu)框圖
TMS320F28335的eQEP模塊為增強(qiáng)型的正交解碼模塊,主要應(yīng)用于運(yùn)動(dòng)控制系統(tǒng)中,它提供了編碼器的直接接口,通過eQEP模塊可以得到電機(jī)的位置、方向和速度信息。TMS320F28335中提供4個(gè)引腳信號(hào)經(jīng)GPIO復(fù)用器進(jìn)入到eQEP內(nèi)部的正交解碼模塊,QDU(正交解碼單元)對(duì)接收到的編碼器的正交脈沖信號(hào)進(jìn)行方向和脈沖的解碼,解碼之后得到4倍頻的位置脈沖信號(hào)和方向信號(hào),送到位置計(jì)數(shù)器中進(jìn)行脈沖計(jì)數(shù)。設(shè)置編碼器控制寄存器QDECCTL為正交計(jì)數(shù)模式,觀察狀態(tài)寄存器QEPSTS中的正交方向標(biāo)志位來觀察旋轉(zhuǎn)方向,順時(shí)針時(shí)進(jìn)行增計(jì)數(shù),逆時(shí)針時(shí)進(jìn)行減計(jì)數(shù)。通過程序讀取該位置計(jì)數(shù)器QPOSCNT的值就可以得到電機(jī)實(shí)際位置信息,通過該位置信息就可以與給定位置信息進(jìn)行閉環(huán)控制。此外,還可以通過QCAP模塊來計(jì)算電機(jī)的速度信息[3]。正交編碼脈沖、定時(shí)器計(jì)數(shù)脈沖和計(jì)數(shù)方向時(shí)序邏輯如圖2所示。
圖2 正交編碼脈沖、計(jì)數(shù)脈沖和方向信號(hào)
伺服系統(tǒng)的編碼器信號(hào)是從伺服驅(qū)動(dòng)器上輸出的差分信號(hào),而DSP需要的是TTL信號(hào),因此在采集前需要對(duì)編碼器輸出的信號(hào) OA+、OA-、OB+、OB-、OZ+和OZ-進(jìn)行轉(zhuǎn)換,本系統(tǒng)利用AM26LS32芯片進(jìn)行差分信號(hào)的接收[4],接收后的輸出信號(hào)為 A、B和Z 3路信號(hào),其中A、B信號(hào)相位差為90°。光電編碼器輸出的信號(hào)經(jīng)過光電隔離、整形之后送到DSP eQEP模塊的相應(yīng)引腳,其接口電路如圖3所示。其中,6N137是高速光耦芯片,實(shí)現(xiàn)數(shù)字信號(hào)和模擬信號(hào)的隔離;74HC14是高速CMOS反相器,實(shí)現(xiàn)對(duì)輸入脈沖信號(hào)的整形。圖3只給出了光電編碼器輸出的OA+、OA-兩路信號(hào)的光電隔離和整形,光電隔離和整形后的信號(hào)送到TMS320F28335外設(shè)引腳的 EQEP1A、EQEP1B和 EQEP1I,進(jìn)行正交解碼。
圖3 接口電路圖
通過設(shè)置中斷使能寄存器QEINT、中斷標(biāo)志寄存器QFLG、中斷清除寄存器QCLR和一些相關(guān)初始化程序產(chǎn)生中斷,通過周期寄存器QUPRD設(shè)置周期中斷采樣時(shí)間為t,位置鎖存器QPOSLAT每隔時(shí)間t就鎖存一次位置計(jì)數(shù)器QPOSCNT的值,位置計(jì)數(shù)器計(jì)數(shù)到邊沿時(shí)也會(huì)發(fā)生翻轉(zhuǎn),由于采樣時(shí)間內(nèi)位置計(jì)數(shù)值遠(yuǎn)小于位置計(jì)數(shù)的周期數(shù),因此最多發(fā)生一次翻轉(zhuǎn)[5]。本文令2次相鄰中斷的鎖存值為 f(t)和 f(2t),位置計(jì)數(shù)器為 32 bit寄存器。當(dāng)位置計(jì)數(shù)器增計(jì)數(shù)到FFFFFFFFh時(shí),若計(jì)數(shù)方向還是增計(jì)數(shù),則計(jì)數(shù)值回到0,繼續(xù)進(jìn)行增計(jì)數(shù);同理,當(dāng)位置計(jì)數(shù)器減計(jì)數(shù)到0時(shí),若計(jì)數(shù)方向仍為減計(jì)數(shù),則計(jì)數(shù)值回到FFFFFFFFh,繼續(xù)進(jìn)行減計(jì)數(shù)。
當(dāng)狀態(tài)寄存器QEPSTS[QDF]為0時(shí),說明伺服電機(jī)進(jìn)行反轉(zhuǎn),即進(jìn)行減計(jì)數(shù);當(dāng)狀態(tài)寄存器QEPSTS[QDF]為1時(shí),說明伺服電機(jī)進(jìn)行正轉(zhuǎn),即進(jìn)行增計(jì)數(shù)。以正轉(zhuǎn)為例,分兩種情況計(jì)算電機(jī)轉(zhuǎn)速:當(dāng)不發(fā)生翻轉(zhuǎn)時(shí),δ=f(2t)-f(t),t~2t時(shí)間內(nèi)電機(jī)轉(zhuǎn)子旋轉(zhuǎn)的機(jī)械角度為:
其中,P表示每轉(zhuǎn)的脈沖數(shù),△t=2t-t。
計(jì)算伺服電機(jī)轉(zhuǎn)速的方法有很多,常見的就是M法、T法和M/T法。M法測速是根據(jù)在一規(guī)定的時(shí)間間隔內(nèi)光電編碼器所產(chǎn)生的脈沖數(shù)來確定轉(zhuǎn)速,它實(shí)際上是測定頻率,適用于測量較高的轉(zhuǎn)速。T法測速是通過測量光電編碼器所產(chǎn)生的相鄰兩個(gè)脈沖之間的時(shí)間來確定被測轉(zhuǎn)速,這種方法實(shí)際上是測量周期,適用于測量較低的轉(zhuǎn)速。M/T法是通過測量檢測時(shí)間和在該檢測時(shí)間內(nèi)脈沖發(fā)生器發(fā)送的脈沖數(shù)來確定被測轉(zhuǎn)速,這種方法兼顧上述兩種方法的優(yōu)點(diǎn),在高速和低速的場合下都具有較高的分辨能力。本文選用M/T法,其原理如圖4所示[6]。
圖4 M/T法測速的基本原理
其中,f為時(shí)鐘脈沖的頻率,P為每轉(zhuǎn)的脈沖數(shù)。
本設(shè)計(jì)采用的DSP開發(fā)板ICETEK-F28335-A的D/A模塊輸出電壓為0~4.2 V,而伺服電機(jī)所需的控制電壓范圍為-10 V~+10 V,因此需進(jìn)行電壓轉(zhuǎn)換,其放大電路如圖5所示。
M1為測速脈沖計(jì)數(shù)值,M2為高頻時(shí)鐘脈沖計(jì)數(shù)值,T為采樣時(shí)間,時(shí)鐘脈沖計(jì)數(shù) M2有±1的誤差,由于時(shí)鐘脈沖頻率遠(yuǎn)遠(yuǎn)高于測速脈沖的頻率,因此誤差可以忽略,從而使測量精度大大提高。轉(zhuǎn)速習(xí)慣上常以每分鐘轉(zhuǎn)速來表示,計(jì)算公式為:
圖5 電壓轉(zhuǎn)換放大電路
由于DSP開發(fā)板輸出阻抗較大,有分壓導(dǎo)致衰減損耗嚴(yán)重,因此放大電路前需加一個(gè)電壓跟隨器,起到阻抗匹配作用,從而使后級(jí)放大電路能夠更好地工作。
系統(tǒng)的軟件調(diào)試與開發(fā)均采用針對(duì)TMS320F28335的CCSV3.3版本。TI公司為用戶提供的軟件開發(fā)工具CCS(Code Composer Studio)提供了可視化窗口,將所有代碼生成工具集成在一起,用戶的一切開發(fā)過程都在CCS中進(jìn)行,包括項(xiàng)目建立、源程序的編輯、程序的編譯和調(diào)試,此外,CCS還提供了實(shí)時(shí)操作系統(tǒng) DSP/BIOS,極大地方便了調(diào)試和開發(fā)。本系統(tǒng)的DSP程序主要分為主程序和中斷服務(wù)程序兩個(gè)模塊。主程序模塊[10]主要實(shí)現(xiàn)各個(gè)功能模塊的初始化、內(nèi)存變量的定義和中斷矢量的聲明等工作。中斷程序模塊主要實(shí)現(xiàn)相關(guān)寄存器的設(shè)置、讀取和鎖存eQEP模塊的脈沖計(jì)數(shù)、檢測電路的反饋以及控制算法的程序等工作,其軟件流程如圖6所示。本文提出了穩(wěn)定平臺(tái)伺服系統(tǒng)的設(shè)計(jì),利用DSP芯片TMS320F28335的eQEP模塊對(duì)光電編碼器的脈沖信號(hào)進(jìn)行解碼和計(jì)數(shù),求得伺服電機(jī)的角度和速度信息,
圖6 軟件流程圖
從而與上位機(jī)給定值進(jìn)行比較,通過調(diào)節(jié)算法使D/A
模塊產(chǎn)生電壓信號(hào)對(duì)伺服電機(jī)進(jìn)行速度控制。研究表明,該設(shè)計(jì)具有較高的響應(yīng)速度、穩(wěn)定精度和較強(qiáng)的抗負(fù)載擾動(dòng)能力,充分實(shí)現(xiàn)了穩(wěn)定平臺(tái)的高精度控制。同時(shí),該系統(tǒng)具有較強(qiáng)的魯棒性和自適應(yīng)能力,驗(yàn)證了該方案的有效性,并為不同控制領(lǐng)域提供了高性能的數(shù)字解決方案。
[1]李永,林輝.基于DSP的單軸穩(wěn)定平臺(tái)伺服控制系統(tǒng)設(shè)計(jì)[J].機(jī)電一體化,2011,17(1):78-82.
[2]高梅,王忠慶.基于DSP的交流伺服電機(jī)控制系統(tǒng)的研究[J].機(jī)器工程與自動(dòng)化,2009(5):149-150.
[3]蘇奎峰,呂強(qiáng),常天慶,等.TMS320X281xDSP原理及 C程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2011.
[4]李木國,李響,劉達(dá).基于DSP的電機(jī)伺服系統(tǒng)中的模糊 PID 控制[J].測控技術(shù),2011,30(6):64-66.
[5]谷海濤,顏湘武,曲偉.正交解碼電路和捕獲單元在轉(zhuǎn)角和轉(zhuǎn)速測量中的應(yīng)用 [J].電氣應(yīng)用,2005,24(1),112-115.
[6]趙巖.編碼器測速方法的研究[D].長春:中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究,2002.