丁 銘 任雁鵬 梁利平
(中國科學(xué)院微電子研究所,北京朝陽 100029)
帶有位置傳感器的無刷直流電機(jī)會帶來諸多不利因素,如減短電機(jī)壽命,增大電機(jī)體積,增加電機(jī)成本,無法應(yīng)用于某些特殊環(huán)境等,因此無位置檢測方法倍受關(guān)注,同時如何設(shè)計可靠,小巧,通用性強的無位置傳感器無刷直流電機(jī)控制器也是當(dāng)前研究的熱點。目前對于無刷直流電機(jī)控制器主要采用專用集成電路,F(xiàn)PGA,單片機(jī)和DSP控制。由于FPGA可以用VHDL,Verilog或C語言來編程,靈活性強,具有靜態(tài)可重復(fù)編程和動態(tài)在線系統(tǒng)重構(gòu)特性,使得硬件的功能可以像軟件一樣通過編成來修改,并能按照用戶需求來定義接口功能[1]。與單片機(jī)或DSP相比,F(xiàn)PGA具有的優(yōu)勢主要有:
(1)FPGA運行速度快。FPGA內(nèi)部有集成鎖相環(huán),可以倍頻外部時鐘。使得運行頻率達(dá)到幾百兆甚至更高,這是單片機(jī)和DSP所遠(yuǎn)達(dá)不到的,因此在高速場合單片機(jī)或DSP是不能替代FPGA的。而且FPGA的邏輯功能都是硬件電路實現(xiàn)的,其延遲都是納秒級別的,硬件運行速度快于MCU或DSP內(nèi)部軟件運行速度。
(2)FPGA管腳多,容易實現(xiàn)大規(guī)模系統(tǒng)。
(3)FPGA內(nèi)部程序是并行執(zhí)行的,有處理更復(fù)雜功能的能力。而單片機(jī)或DSP程序是串行執(zhí)行的,突發(fā)事件只能調(diào)用有限的中斷資源,這就使得FPGA工作效率高。
(4)FPGA有大量的IP核,可以方便進(jìn)行二次開發(fā)。
(5)FPGA較單片機(jī)或DSP靈活。對于一個型號的單片機(jī)或DSP,其外圍設(shè)備種類是固定的,個數(shù)也是固定的,如果某型號缺少所需要的外設(shè)那么就無法完成該功能,同時有的多余外設(shè)則會造成浪費。而FPGA則可以較好解決這個問題,F(xiàn)PGA型號種類都很豐富,我們可以選取一塊合適的FPGA,實現(xiàn)想要的外設(shè),管腳也可任意定義。
因此本文采用了Alteral公司提供的型號為EPIC3T100C8的FPGA芯片,來控制無位置傳感器直流無刷電機(jī),通過一些算法改良,巧妙地避免了乘法,除法運算,大大減少了FPGA的邏輯資源消耗,同時提高了運行速度。
無位置傳感器無刷直流電機(jī)的FPGA控制系統(tǒng)方案如圖1所示。
有圖可知系統(tǒng)數(shù)據(jù)的計算處理、控制算法、速度換相時間計算以及PWM產(chǎn)生都是在FPGA 內(nèi)部用數(shù)字硬件實現(xiàn),外部只需簡單的硬件電路,從而使整個控制系統(tǒng)實現(xiàn)起來很簡單,具有很高的性價比
由文獻(xiàn)[2]可知,采用PWM下降沿采樣的算法,可以在不對相電壓濾波的情況下,依然采樣出正確的數(shù)據(jù)。
當(dāng)啟動模塊接受到啟動信號后,采用預(yù)定位啟動方法[3-6],產(chǎn)生信號控制PWM占空比不斷增大,同時控制換相時間不斷減小,這樣使得電機(jī)轉(zhuǎn)速不斷提高。當(dāng)電機(jī)速度上升到一定值后,速度計算模塊會產(chǎn)生信號,使能過零檢測模塊,將PWM下降沿采樣得到的數(shù)據(jù)進(jìn)行一系列運算,采用改良的相電壓方法[7],檢測出過零點位置,當(dāng)連續(xù)檢測到三個正確的過零點后,切入閉環(huán)控制模式。此后設(shè)定的速度與計算得到的速度作差進(jìn)入速度調(diào)節(jié)模塊進(jìn)行PID運算,得到的輸出值和采樣得到的電流值繼續(xù)作差進(jìn)入電流調(diào)節(jié)器進(jìn)行PID運算,輸出的值作為PWM占空比控制。隨著PID的作用,電機(jī)運行速度會達(dá)到設(shè)定的速度,穩(wěn)定運行。
具體實現(xiàn)模式是:首先在一些控制信號:如占空比信號,PWM選擇信號,時鐘信號等產(chǎn)生一相應(yīng)占空比的PWM信號,接著此信號和六路PWM選擇信號相與,其中選擇信號將相應(yīng)需要PWM輸出的兩路置位1,其它四路置位零即可。其硬件框圖如圖2所示:

圖2 :六路PWM輸出硬件框圖
此模塊經(jīng)過綜合后所需邏輯資源很少,并且最大數(shù)據(jù)延遲很小,最大為18ns,響應(yīng)速度很快,而采樣控制信號的響應(yīng)速度快決定著采樣精度高,采樣得到的數(shù)據(jù)與理想點采樣值偏差小,這在低速時尤為重要,因為低速時由于相電壓斜率低,采樣得到的數(shù)據(jù)本來就差距不大,此時如果再引入由于采樣帶來的較大偏差,往往使得電機(jī)不能穩(wěn)定運行甚至停轉(zhuǎn)。
此模塊主要是為了實現(xiàn)電機(jī)的無位置檢測控制。采用改良的相電壓法,有如下公式:假定b相關(guān)斷且沒有續(xù)流,則有:

其中eb表示b相反電動勢,Ubc表示b、c相端電壓之差,Uab表示a、b相端電壓之差[7]。每次換相后,清零計數(shù)器,并開始計數(shù);同時利用PWM下降沿采樣得到的相電壓數(shù)據(jù)經(jīng)過公式(1)與零比較,以上升的反動勢而言,當(dāng)連續(xù)檢測到一個小于零和兩個大于或等于零的點后,確定前一個大于零或等于零的點為過零點。當(dāng)確定出過零點后記下計數(shù)器相應(yīng)值,以便確定下一次換相時刻。利用硬件實現(xiàn)的PWM下降沿采樣,一旦出現(xiàn)PWM下降沿就會迅速采樣對應(yīng)相電壓的值,延遲很小,使得采樣的數(shù)據(jù)精確度高,過零檢測正確性也高,這在低速時尤為重要。避免單片機(jī)或DSP采樣相應(yīng)速度慢,帶來的延遲,使得PWM下降沿采樣時的數(shù)據(jù)有一定偏差,而這種偏差在低速時,由于相電壓斜坡斜率較低,往往會導(dǎo)致由于采樣精度不高而導(dǎo)致過零檢測失敗。

圖3 過零檢測硬件實現(xiàn)框圖
實現(xiàn)硬件框圖如下圖3。
PID控制算法是一種簡單有效的控制算法,可使系統(tǒng)穩(wěn)定運行,而且魯棒性好,可靠性高,因此得到廣泛應(yīng)用。其公式為:

其中比例項公式:

積分項公式:

式中:ek為誤差輸入,Kp為比例增益,Ki為積分增益。Ki,Kp的范圍由實際電動機(jī)的參數(shù)決定,其具體數(shù)值需經(jīng)實驗來確定。
而實際應(yīng)用中,對于乘法運算,需要消耗大量邏輯資源,延遲加大;為了減少消耗,減低延遲,采用左移算法代替乘法:比如Kp取102,那么完全可以用:

代替(3)式。而且在很多系統(tǒng)中,很多時候,假設(shè)Kp值已經(jīng)調(diào)至穩(wěn)定,那么其值稍微變化并不影響系統(tǒng)性能,也就是說Kp=102和Kp=96很有可能達(dá)到效果差不多,那么(5)式可以進(jìn)一步化為:

這樣利用左移代替乘法,大大減少了邏輯消耗資源,同時提高的運行速度。對于某FPGA芯片而言,假如其邏輯資源已經(jīng)消耗殆盡,那么完全可以做這樣的處理減少消耗,這也體現(xiàn)出了利用FPGA的靈活性。
不管是電流調(diào)節(jié)器還是速度調(diào)節(jié)器,如果參考值比較大,那么積分器就有可能建立起一個很大的誤差值,并且由于積分器的慣性作用這個誤差會一直保持較長的時間,從而會導(dǎo)致過大的超調(diào)。因此在設(shè)計PI調(diào)節(jié)器時,應(yīng)當(dāng)在積分器的輸出超過限定值時立即關(guān)閉積分作用(稱之為Anti-windup)[8-10],當(dāng)PI調(diào)節(jié)器輸出飽和限制器達(dá)到飽和值時,輸出飽和信號模塊檢測到飽和信號后,將停止積分作用而保持上一次的值,直到飽和信號消除后積分器才繼續(xù)積分,這樣該模塊就可以減少過度超調(diào)的影響,從而使系統(tǒng)快速進(jìn)入穩(wěn)態(tài)。
速度環(huán)PI硬件電路結(jié)構(gòu)如下圖4所示,電流環(huán)的結(jié)構(gòu)類似。

圖4 PI硬件結(jié)構(gòu)框圖
假如過零檢測模塊檢測到過零點后,計數(shù)器的值是m,定義一變量P=fclk/fpwm,fclk為計數(shù)器的計數(shù)時鐘頻率,fpwm為PWM采樣頻率,也就是說P表示一個PWM周期所需要計數(shù)的值。反動勢過零檢測如下圖5所示。

圖5 :反電動勢的過零點檢測
其中A點是此電動勢關(guān)斷起始點,E點是下一個換相點,B,C,D用于確定過零點,且C點被認(rèn)為是過零點。也就是說計數(shù)器從零開始計數(shù),從A點開始計數(shù)到D點時計數(shù)器的值為m。從A點到C點,和從C點到E點時間近視相等,為1/12反動勢周期T,則T=12*(m-P)/fclk。由于檢測到過零點后已經(jīng)存在1個PWM采樣所需時間的延遲,也就是說從D點開始從零開始計數(shù)到E點,用同樣時鐘計數(shù)的話,計數(shù)的值為:

也就是說我們可用一個同樣時鐘控制的計數(shù)器從D點從零開始計數(shù),當(dāng)計數(shù)到m’點后產(chǎn)生換相信號,并清零計數(shù)器,即可完成無刷直流電機(jī)的換相。在速度大于基速后,需要提前換相[11-12]才能繼續(xù)上升速度,也就是需要進(jìn)一步減少換相時間,取Advance變量為所需提前換相的量,那么(7)式修改為:

電機(jī)速度計算公式如下:

其中f和反動勢頻率一致,即f=1/T=fclk/(12*m),P為電機(jī)極對數(shù)。由于計算速度需要用到除法,這對FPGA而言,消耗的邏輯元是難以想象的,而且數(shù)據(jù)延遲增加。那么如何完成速度的PID運算呢。
這時不妨參考計數(shù)器的值m,這個值與速度成反比,而且可以直接從計數(shù)器里取出來用,非常方便。于是完全可以用相應(yīng)設(shè)定速度對應(yīng)的計數(shù)器值和實際計算得到的計數(shù)器值做差來進(jìn)行PID運算。假如設(shè)定速度為3000rpm那么根據(jù)(9)式可以求得相應(yīng)的m,然后這個值與每次計算得到的計數(shù)器值之差作PID運算即可。
硬件實現(xiàn)框圖如下圖6所示:

圖6 :換相信號產(chǎn)生硬件模塊
本實驗采用的FPGA芯片為Alteral公司提供的EPIC3T100C8型號的FPGA芯片,圖7給出了無位置傳感器無刷直流電機(jī)的FPGA控制板示意圖。實驗中用到的電機(jī)極對數(shù)為3,PWM采樣頻率為16k(我們所用的逆變器最大承受頻率為20k)。用FPGA控制時電機(jī)能下至84rpm(我們采用同樣的算法,用DSPIC30F4012的DSP芯片控制,低速只能達(dá)到580rpm),最高能上至12000rpm,其速度運行穩(wěn)定,波動很小,誤差在正負(fù)10轉(zhuǎn)以內(nèi)。如圖8給出了在PWM-ON-PWM調(diào)制方式下的7000rpm在0.5N*M負(fù)載下電流相電壓波形。

圖7 :FPGA控制板示意圖

圖8 :相電壓與相電流波形
本實驗通過一些改良的算法成功實現(xiàn)了利用一塊低端的FPGA芯片控制無位置傳感器直流無刷電機(jī),使得電機(jī)運行穩(wěn)定,響應(yīng)速度快,并且使采用PWM下降沿采樣,反電動勢過零檢測的算法能有效控制電機(jī)降低至很低速,(本實驗為84rpm)同時利用FPGA芯片可以靈活編程增加所需接口,與相應(yīng)外設(shè)相連,能更靈活的適用于其它設(shè)備。
[1]夏長亮,無刷直流電機(jī)控制系統(tǒng),北京東黃城根北街16號,科學(xué)出版社,2009,(13).
[2]孟德昀,胡海云,謝保昌.無何置傳感器無刷直流電機(jī)驅(qū)動設(shè)汁 [J].微特電機(jī),2003.(1):21-22
[3]劉明基,王 強.電動勢換向無刷直流電機(jī)的預(yù)定位起動法[J]. 微特電機(jī),1999,(2).
[4]馮培悌,舒振杰.永磁無刷直流電機(jī)的無位置傳感器控制技術(shù)[J].機(jī)電一體化,2001,(5).
[5]吳素平,羅隆福.基于DSP的無刷直流電動機(jī)的無位置傳感器控制技術(shù)[J].機(jī)車電傳動,2004,(1).
[6]王冉冉,劉玉慶.無位置傳感器無刷直流電機(jī)起動的比較與研究[J].微電機(jī),2003,(1).
[7]李自成,秦憶,陳善美,無刷直流電機(jī)無位置傳感器控制關(guān)鍵技術(shù)研究,華中科技大學(xué),20100301,(20).
[8]楊明,徐殿國,貴獻(xiàn)國.控制系統(tǒng)Anti- Windup 設(shè)計綜述[J]. 電機(jī)與控制學(xué)報,2006,10(6),(622).
[9]周兆勇,李鐵才,高橋敏.基于矢量控制的高性能交流電機(jī)速度伺服控制器的FPGA 實現(xiàn)[J].中國電機(jī)工程學(xué)報,2004,24(5),(68).
[10]HodelA S,Hall C E.Variable- structure PID control to prevent integrator windup [J].IEEE Trans.on Industrial Electronics,2001,48(2),(442).
[11]C.C.Chan,W.Xia,J.Z.Jiang,K.T.Chau and M.L.Zhu,“Permanent magnet brushless drives”,IEEE Industry Application Magazine,Nov./Dec.1998,(16).
[12]J.S.Lawler,J.M.Bailey,J.W.Mc Keever,Ioao Pinto,“Limitation of the conventional phase advance method for constant power operation of the brushless DC motor”,Proc.IEEE Southeast Conf,Apr.2002,(174).