直流電動機以其優(yōu)秀的線形機械特性、較寬的調(diào)速范圍、大的啟動轉(zhuǎn)矩、控制方法較簡單等優(yōu)點,在各種驅(qū)動、伺服系統(tǒng)中有著廣泛的應(yīng)用[1],但傳統(tǒng)的直流電機中的電刷和換向器由于直接接觸、摩擦造成的磨損、火花、噪聲等是一個不可忽視的問題。永磁無刷直流電機(PMBLDCM,以下直接簡稱為BLDCM)利用電子換向替代了機械換向,沒有磨損、火花,噪聲大大減小,目前有著大量的應(yīng)用,但如何實現(xiàn)最低成本的最優(yōu)化控制,迄今為止尚無完美的解決方案。本文給出了較之大部分控制方法成本更加低廉、結(jié)構(gòu)更加簡單的解決方案,并通過實驗進行了驗證。
對于無刷直流電機,控制方法的核心是要獲得電機位置或速度的實時信息。目前獲得位置、速度信息的方法主要有兩種:1.依靠霍耳元件或者碼盤來獲得位置、速度信號[2],這種方法比較直觀簡單,但是存在如下問題:增加了器件成本,在無法加裝傳感器的時候無效;2.無傳感器(Sensorless)方法,即不加裝傳感器,目前主要有反電動勢過零檢測法[3][4]、三次諧波分析法[5]、Kalman預測法[6],而這幾類方法大都局限于反電動勢為梯形的BLDCM,而且有的需要加裝特別的外部電路[3][4],在一些場合下無法實現(xiàn);有的算法復雜,會造成較大的實時誤差[6],也不是很實用。目前一些公司如NEC,Renesas已經(jīng)開發(fā)出了針對正弦反電動勢BLDCM的無傳感器的控制芯片,但是價格貴,調(diào)試繁瑣,升級不方便是很大的問題。本文給出了一種新的針對正弦反電動勢電機的控制方法,控制采用了TI公司DSP芯片(TMS320LF2407A),核心代碼完全用C語言開發(fā),便于調(diào)試、升級,同時實現(xiàn)了很好的啟動和調(diào)速功能,并對整個電路進行了最大的簡化,無需加裝特別的采樣電路,利用系統(tǒng)中的電路保護電阻完成對電流的采樣。
2系統(tǒng)結(jié)構(gòu)綜述
參考圖1,本系統(tǒng)中通過單電流采樣,在DSP中實現(xiàn)電流鑒別算法和濾波算法,得到對應(yīng)的三相電流,通過速度位置估算算法計算出電機轉(zhuǎn)子的當前位置和速度,然后利用PI反饋算法生成新的PWM作用于電機之上,完成一個控制流程。這樣循環(huán)往復,實現(xiàn)了電機從啟動到正常運轉(zhuǎn)以及調(diào)速的功能,下面將分別闡述各部分的原理與實現(xiàn)。
圖1 BLDC控制系統(tǒng)示意圖
3單電流采樣的實現(xiàn)
如圖2所示,電機的驅(qū)動采用了七段式的空間矢量法(SVPWM,Space Vector PWM),利用六個依次相差60度的基本矢量和全0矢量(與全1矢量等效),根據(jù)不同的作用時間合成按給定轉(zhuǎn)速作圓周轉(zhuǎn)動的旋轉(zhuǎn)矢量。
圖2 SVPWM波形生成及單電流采樣示意圖
從上圖中我們可以看出,一個SVPWM周期可以劃分成七個小的時間段(此即七段法名稱的由來),不同的時間段對應(yīng)不同的開關(guān)管控制電壓,不同的控制電壓造成了逆變電路*率開關(guān)管不同的通斷狀態(tài),而不同的通斷狀態(tài)則對應(yīng)著不同的電流流向,因此只要我們知道了當前的電流流向狀態(tài),就可以從兩次不同時間的采樣電流(分別對應(yīng)若干電流之和)中提取出需要的電流。以第0扇區(qū)為例(如圖2右側(cè)所示),在第一次電流采樣中得到了Iu,第二次得到了(Iu+Iv),由于在很短的時間內(nèi),電流不會發(fā)生突變,這樣就可以根據(jù)(Iu+Iv+Iw=0)推算出三相電流,完成了單電流采樣(One-shunt current detection)。
這一算法簡潔明了,但也存在著一定的問題:第一,在采樣的過程中往往會引入較多的噪聲,需要進行濾波;第二,存在扇區(qū)邊界切換問題,我們從圖2中可以看出,在旋轉(zhuǎn)矢量跨越邊界的時候,由于某一基本矢量作用時間太短會導致采樣無法完成,這個時候,可以通過限制作用時間最小值來保證采樣過程正常進行,但這樣必然會使生成的正弦波發(fā)生畸變,我們通過簡單的濾波(例如限制兩次電流采樣值的差異幅值,根據(jù)歷史值修正新值等)去掉畸變點,可以實現(xiàn)很好的效果。
實際采樣以及濾波處理結(jié)果如下(圖3),從圖中可以看出通過濾波達到了很好的電流檢測效果,完全可以滿足進一步的控制需求。
圖3單電流采樣電流結(jié)果(未濾波與濾波后的比較)
4無位置、速度傳感器下電機控制方法詳述
這里將從電機的初始化啟動、正常運轉(zhuǎn)和調(diào)速三個方面敘述電機控制的全過程,并給出電機控制算法的流程圖,讓讀者更能夠從整體上了解這一控制方法。
啟動過程:由于整個系統(tǒng)沒有傳感器以獲得電機的實際位置,如果從任意位置啟動,可能會造成電機反轉(zhuǎn)甚至啟動完全失敗,因此需要對電機轉(zhuǎn)子位置進行初始化,即把后面控制算法中涉及到的轉(zhuǎn)子角度的初始值清零。我們采用的初始化方法是生成一個固定的PWM脈沖序列,該序列的特點是只作用于在某一相,最后將電機鎖定于某一磁極,達到了初始化的目的。
正常運轉(zhuǎn):目前我們采用TI公司的TMS320LF2407A作為控制的DSP,該DSP本身具備PWM 控制寄存器,通過較簡單的程序就能完成前面所述的七段法SVPWM波的輸出。