趙高超,楊鴻武,裴 東,王全州
(西北師范大學(xué)物理與電子工程學(xué)院,甘肅蘭州 730070)
隨著微型計(jì)算機(jī)和大功率電子元件的迅速發(fā)展,很多傳統(tǒng)的模擬控制技術(shù)已讓位于微機(jī)控制技術(shù)[1],兼有高運(yùn)算速度和強(qiáng)控制能力的DSP在逆變器、電機(jī)等電力電子設(shè)備的控制領(lǐng)域得到了廣泛應(yīng)用[2]。而以2000系列DSP作為控制器,能提高系統(tǒng)的性能和可擴(kuò)展性。在電氣傳動(dòng)中,2000系列芯片的應(yīng)用以TMS320LF240x 為主,應(yīng)用TMS320F(C)28x的比較少。但28x比24x系列的DSP具有更完備的外圍控制接口和更豐富的電機(jī)控制外設(shè)電路,更高的主頻,運(yùn)行速度達(dá)到了150 MHz,集成了轉(zhuǎn)換速度達(dá)到80 ns的12位16通道復(fù)用A/D轉(zhuǎn)換器,12個(gè)PWM(pulse width modulation,脈沖寬度調(diào)制)輸出通道,使得控制系統(tǒng)的采樣速度、可靠性和精度大大提高[3]。系統(tǒng)使用TMS320F2812作為控制核心,在高度集成的環(huán)境中實(shí)現(xiàn)高性能電機(jī)控制。
目前,很多控制系統(tǒng)中采用位置式PID(Proportional-Integral-Derivative,比例-積分-微分)控制[4]。位置式PID 控制算法使用全量輸出,所以每次的輸出均與過去的狀態(tài)有關(guān)。計(jì)算時(shí)被控量要進(jìn)行累加,運(yùn)算量大,也會(huì)導(dǎo)致輸出控制量可能出現(xiàn)大幅度變化,進(jìn)而會(huì)引起執(zhí)行機(jī)構(gòu)位置的大幅度變化。這種情況在實(shí)際生產(chǎn)中是不允許的,在一些重要場(chǎng)合可能還會(huì)造成重大事故[5]。為避免這種情況的發(fā)生,系統(tǒng)采用增量式PID 控制算法。增量式PID控制算法在計(jì)算時(shí)只輸出控制增量,誤動(dòng)作影響較小,且控制增量只與最近幾次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果[4-6]。
系統(tǒng)以TMS320F2812為硬件開發(fā)平臺(tái),從系統(tǒng)軟硬件總體設(shè)計(jì)、系統(tǒng)軟硬件詳細(xì)設(shè)計(jì)、系統(tǒng)調(diào)試分析等方面對(duì)電機(jī)驅(qū)動(dòng)的結(jié)構(gòu)、反饋系統(tǒng)、控制進(jìn)行了設(shè)計(jì)和制作,完成電機(jī)控制的軟硬件設(shè)計(jì)及調(diào)試。該系統(tǒng)的特色在于以TMS320F2812為控制器,結(jié)合其控制方便、處理速度快等特點(diǎn),采用增量式PID控制技術(shù),保證系統(tǒng)的輸出在一定精度內(nèi)跟隨控制量變化,提高了電機(jī)控制精度,成功實(shí)現(xiàn)了利用上位機(jī)對(duì)電機(jī)進(jìn)行閉環(huán)控制和運(yùn)動(dòng)狀態(tài)的實(shí)時(shí)顯示。
系統(tǒng)通過DSP芯片產(chǎn)生驅(qū)動(dòng)電路所需要的PWM及正反轉(zhuǎn)信號(hào)。同時(shí),DSP芯片采集和處理電機(jī)轉(zhuǎn)速信號(hào),實(shí)現(xiàn)直流電機(jī)的反饋控制。DSP芯片再通過串口和PC機(jī)建立通信,最終實(shí)現(xiàn)PC機(jī)通過串口調(diào)試軟件發(fā)布指令控制電機(jī)的運(yùn)動(dòng)。
系統(tǒng)結(jié)構(gòu)如圖1所示,由電機(jī)控制硬件部分主要由微控制器(DSP)、電機(jī)驅(qū)動(dòng)模塊、通訊模塊、光電編碼器反饋信號(hào)調(diào)整模塊、電源模塊等組成。
圖1 電機(jī)閉環(huán)控制系統(tǒng)結(jié)構(gòu)圖
(1)微控制器(DSP)。TMS320F2812作為運(yùn)動(dòng)控制系統(tǒng)的控制器,控制機(jī)構(gòu)主要捕獲傳感器系統(tǒng)信息而對(duì)其狀態(tài)作出判斷,然后輸出PWM驅(qū)動(dòng)電機(jī),同時(shí)檢測(cè)上位機(jī)通過串口發(fā)來的命令做相應(yīng)的處理,實(shí)現(xiàn)與上位機(jī)的通信。
(2)通訊模塊。串行通信模塊實(shí)現(xiàn)上位機(jī)與DSP芯片之間通信的信號(hào)電平轉(zhuǎn)換。
(3)反饋信號(hào)調(diào)整模塊。為了方便DSP的處理,要求光電編碼器采集到的信號(hào)幅度應(yīng)為3.3 V,所以需要將采集到的信號(hào)進(jìn)行整形和幅值的處理。
(4)電機(jī)驅(qū)動(dòng)模塊。功率驅(qū)動(dòng)電路用于DSP對(duì)電機(jī)的控制,以便完成各項(xiàng)工作。系統(tǒng)中采用的30 A雙路H橋電機(jī)驅(qū)動(dòng)板,該驅(qū)動(dòng)體積小,全貼片,集成度高,導(dǎo)通電阻小,PWM開關(guān)速度快。
(5)電源模塊。系統(tǒng)電源分為2部分:一部分是DSP的供電;另一部分是光電編碼器和電機(jī)驅(qū)動(dòng)模塊的供電。
2.1控制信號(hào)發(fā)送程序設(shè)計(jì)
控制信號(hào)發(fā)送程序的N-S流程圖如圖2所示。系統(tǒng)初始化后,上位機(jī)運(yùn)用電機(jī)調(diào)試程序?qū)⒖刂泼钔ㄟ^串口發(fā)送給DSP,DSP將電機(jī)轉(zhuǎn)速命令轉(zhuǎn)換成相應(yīng)的PWM波發(fā)送給電機(jī)驅(qū)動(dòng)。然后DSP檢測(cè)上位機(jī)發(fā)來的正反轉(zhuǎn)和停止命令,發(fā)送給驅(qū)動(dòng)模塊做出相應(yīng)的電機(jī)控制。
圖2 控制信號(hào)發(fā)送程序N-S流程圖
2.2反饋信號(hào)PID處理程序
反饋信號(hào)PID處理程序的N-S流程圖如圖3所示。電機(jī)的當(dāng)前狀態(tài)通過光電編碼器反饋到DSP,DSP對(duì)其信號(hào)進(jìn)行處理,將電機(jī)的當(dāng)前狀態(tài)發(fā)送給電腦顯示在電機(jī)調(diào)試軟件上。DSP根據(jù)控制轉(zhuǎn)速與反饋的轉(zhuǎn)速及偏差值做增量式PID運(yùn)算,再把調(diào)整值發(fā)送給驅(qū)動(dòng)模塊,完成閉環(huán)控制。
圖3 反饋信號(hào)PID處理程序N-S流程圖
3.1增量式光電編碼器
增量式編碼器的工作原理是:利用雙光柵疊柵條紋技術(shù),對(duì)空間位置進(jìn)行光學(xué)放大,循環(huán)碼道上的光電探測(cè)器輸出相位相差90°的2路正弦信號(hào)。電子電路根據(jù)這2路信號(hào)的相位關(guān)系,經(jīng)過方向解碼可確定碼盤的轉(zhuǎn)動(dòng)方向,然后按光柵付之間的轉(zhuǎn)動(dòng)方向?qū)φ倚盘?hào)的每個(gè)周期進(jìn)行增或減計(jì)數(shù),便可獲得相對(duì)某一位置的計(jì)數(shù)值N。這一位置由系統(tǒng)工作的初始時(shí)刻或工作中的操作指令或硬件電子電路確定,以獲得待測(cè)位置的編碼。若光柵節(jié)距角為δ,那么相對(duì)該指定位置的角度測(cè)量值:θ=Nδ[7]。其輸出信號(hào)如圖4所示。A、B兩相信號(hào)是相位相差90°的正交方波脈沖串,每個(gè)脈沖代表被測(cè)對(duì)象旋轉(zhuǎn)了一定的角度,A、B之間的相位關(guān)系則反映了被測(cè)對(duì)象的旋轉(zhuǎn)方向,即當(dāng)A相超前B相,轉(zhuǎn)動(dòng)方向?yàn)檎D(zhuǎn);當(dāng)B相超前A相,轉(zhuǎn)動(dòng)方向?yàn)榉崔D(zhuǎn)。Z信號(hào)是一個(gè)代表零位的脈沖信號(hào),可用于調(diào)零、對(duì)位[8]。
圖4 編碼器正反轉(zhuǎn)情況分析
3.2DSP中反饋信號(hào)的處理
TMS320F28xx中的EV(event manager module,事件管理模塊)中的QEP(Quadrature Encoder Pulse,正交編碼脈沖電路)的方向檢測(cè)邏輯確定電機(jī)轉(zhuǎn)速的反饋信號(hào)中哪個(gè)脈沖相序相位超前,然后產(chǎn)生一個(gè)方向信號(hào)作為通用定時(shí)器2(或4)的方向輸入。如果QEP1(對(duì)于EVB是QEP3)引腳的脈沖輸入是相位超前脈沖序列,那么定時(shí)器就進(jìn)行增計(jì)數(shù);相反,如果QEP(對(duì)于EVB是QEP4)引腳的脈沖輸入是相位超前脈沖序列,那么定時(shí)器就進(jìn)行減計(jì)數(shù)[3]。
正交編碼脈沖電路對(duì)編碼輸入脈沖的上升沿和下降沿都進(jìn)行計(jì)數(shù),因此,有QEP電路產(chǎn)生的通用定時(shí)器(通用定時(shí)器2或4)的時(shí)鐘輸入時(shí)每個(gè)輸入脈沖序列頻率的4倍。圖5給出了正交編碼脈沖、時(shí)鐘以及計(jì)數(shù)方向的實(shí)例[9]。
圖5 正交編碼脈沖和經(jīng)過解碼的定時(shí)器時(shí)鐘和方向
3.3M/T法測(cè)速原理
M/T測(cè)速算法是一種結(jié)合了M法和T法的優(yōu)點(diǎn)測(cè)速算法,能夠在較寬的速度范圍內(nèi)提供精確度很高的速度值[10]。
圖6 M/T法測(cè)速原理
相比于M法和T法,M/T測(cè)速法理論上能在很寬的速度范圍內(nèi)保持1%的相對(duì)精確度[10],并且誤差小,因此其應(yīng)用非常廣泛。系統(tǒng)利用DSP編程,采用M/T法實(shí)現(xiàn)轉(zhuǎn)速測(cè)量。
3.4增量式PID方法調(diào)整PWM的占空比控制轉(zhuǎn)速
為便于計(jì)算機(jī)通過軟件實(shí)現(xiàn)PID 控制算法,在實(shí)際應(yīng)用中多采用數(shù)字PID 控制方式[5]。對(duì)模擬PID 控制算法,以一系列的采樣時(shí)刻Kt代表連續(xù)時(shí)間t,以矩形法數(shù)值積分近似代替積分,以一階后項(xiàng)差分近似代替微分,由此可得離散位置式PID表達(dá)式:
(1)
式中:kp、ki、kd分別是比例系數(shù)、積分系數(shù)、微分系數(shù);e(t)為誤差信息。
位置式PID控制算法使用全量輸出,所以每次的輸出均與過去的狀態(tài)有關(guān)。計(jì)算時(shí)要對(duì)e(t)量進(jìn)行累加,計(jì)算機(jī)輸出控制量u(k)對(duì)應(yīng)的執(zhí)行機(jī)構(gòu)的實(shí)際位置偏差;因?yàn)閑(k)量進(jìn)行累加u(k)可能出現(xiàn)大幅度變化,進(jìn)而會(huì)引起執(zhí)行機(jī)構(gòu)位置的大幅度變化,當(dāng)應(yīng)用到時(shí)變系統(tǒng)時(shí),系統(tǒng)的性能會(huì)變差,甚至不穩(wěn)定[11]。
上述算法雖然比較直觀,但由于是全量輸出,所以每次輸出均與過去的所有狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)e(k)進(jìn)行累加,計(jì)算機(jī)運(yùn)算量大[5]。于是產(chǎn)生了增量式PID算法:
Δu(k)=u(k)-u(k-1)=kp[e(k)-e(k-1)]+kie(k)+
kd[e(k)-2e(k-1)+e(k-2)]=
(kp+ki+kd)e(k)-(kp+kd+kd)e(k-1)+kde(k-2)
(2)
令:A=(kp+ki+kd)e(k),B=(kp+kd+kd)e(k-1),C=kde(k-2)
則有:
Δu(k)=A-B+C
(3)
u(k)=u(k-1)+Δu(k)
(4)
式(4)為增量式PID控制算法,結(jié)構(gòu)圖如圖7所示。計(jì)算機(jī)只輸出控制增量,誤動(dòng)作影響較小,且控制增量只與最近幾次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果[12]。
圖7 增量式PID結(jié)構(gòu)圖
為了驗(yàn)證文中設(shè)計(jì)方法的可行性,系統(tǒng)以DSP芯片TMS320F2812為核心控制器件,采用Solid Motion SAEG系列36SYK71直流伺服電機(jī),采用512線的光電編碼器作為反饋部分,功率驅(qū)動(dòng)部分采用30 A雙路H橋電機(jī)驅(qū)動(dòng)板。試驗(yàn)得到增量式PID處理前后電機(jī)轉(zhuǎn)速測(cè)試數(shù)據(jù)及誤差,如表1所示。
從表1可以看出,電機(jī)轉(zhuǎn)速給定值與增量式PID處理前的實(shí)際轉(zhuǎn)速值最大誤差為9.22 r/s,而電機(jī)轉(zhuǎn)速給定值與增量式PID處理后的實(shí)際轉(zhuǎn)速值最大誤差為4.08 r/s.最后添加增量式PID控制后的電機(jī)轉(zhuǎn)速和理論轉(zhuǎn)速間的平均差值由4.47 r/s減小到1.60 r/s,平均相對(duì)誤差在5%以內(nèi),滿足系統(tǒng)精度要求??梢娀赥MS320F2812的增量式PID運(yùn)動(dòng)控制系統(tǒng)能夠很好地實(shí)現(xiàn)控制效果,具有良好的穩(wěn)態(tài)性能。
表1 電機(jī)轉(zhuǎn)速測(cè)試數(shù)據(jù)及誤差
設(shè)計(jì)了一種兼有PWM和模擬量控制的直流電動(dòng)機(jī)閉環(huán)控制系統(tǒng)。系統(tǒng)的特色在于以電機(jī)專用控制芯片TMS320F2812為控制器,該芯片的資源能夠很好地保證軟件算法的實(shí)現(xiàn),并具有足夠的控制精度和響應(yīng)速度。增量式PID控制的應(yīng)用,讓電機(jī)能更加平穩(wěn)地隨著控制量變化,使系統(tǒng)響應(yīng)更迅速,提高了系統(tǒng)控制精度。系統(tǒng)結(jié)構(gòu)相對(duì)簡(jiǎn)單,易于數(shù)字化實(shí)現(xiàn)。用于電機(jī)控制中,超調(diào)小,升速平穩(wěn),抗干擾能力強(qiáng),響應(yīng)迅速,魯棒性能好。
參考文獻(xiàn):
[1]張寶發(fā),趙輝,岳有軍.基于DSP的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì).儀表技術(shù)與傳感器,2010(8):63-65.
[2]張衛(wèi)豐,余岳輝.基于RTW的SVPWM DSP控制系統(tǒng).電工技術(shù)學(xué)報(bào),2007,22(3):102-106.
[3]TI.TMS320F2812 Digital signal processors data manual SPRS174J.Dallas:Texas Instruments Incorporated,2001.
[4]HODEL A S,HALL C E.Varialble-structure PID control to present integrator windup.IEEE Transactions on Industrial Electronics,2001,48(2):442-451.
[5]HESPANHA J P,NAGHSHTABRIZI P,XU Y.A survey of recent results in networked control systems.Proceedings of the IEEE,2007,95(1):138-162.
[6]LIN C L,JAN H Y,SHIEH N C.GA-based multiobjective PID control for a liner brushless DC motor.IEEE Transactions on Mechatronics,2003,8(1):56-65.
[7]羅長(zhǎng)洲,陳良益,孫巖,等.一種新型光學(xué)編碼器.光學(xué)精密工程,2003,11(1):104-108.
[8]俞竹青,潘全勝.一種光電編碼器用可編程計(jì)數(shù)電路的設(shè)計(jì).傳感器技術(shù),2002,21(10):22-24.
[9]朱貴憲.基于TMS320LF2407A DSP的電機(jī)數(shù)據(jù)采集與控制:[學(xué)位論文].濟(jì)南:山東大學(xué),2008.
[10]孔明,李鐵凡.基于M/T算法針對(duì)機(jī)械式水表誤差檢測(cè)及校準(zhǔn)的改進(jìn)方法.儀表技術(shù)與傳感器,2012(6):32-34.
[11]周黎英,趙國(guó)樹.模糊PID控制算法在恒速升溫系統(tǒng)中的應(yīng)用.儀器儀表學(xué)報(bào),2008,29(2):405-409.
[12]張科,靖固.利用FPGA的增量式PID控制的研究.現(xiàn)代制造工程,2009(3):112-114.