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