很早之前就想做一款無刷電機控制器,但忙于工作一直沒有弄。最近有點時間畫板、打樣、焊接、調試,總算順利的轉起來了。不過,期間也遇到了很多問題,上網查資料,自己量波形,前前后后搞了差不多將近一個月(中間又出差一周),總算搞得差不多了,特意寫個總結。
板子外觀100*60mm中等大小,DC 12V輸入,設計最大電流10A(實際沒試過那么大的電機,手頭的電機也就5-6A的樣子),硬件上可以切換有感(HALL)和無感(EMF)兩種模式,外部滑動變阻器調速預留有PWM輸入、剎車、正反轉、USB和uart等接口。
先來說下原理無刷電機,其實就是直流電機,和傳統(tǒng)的DC電機是一樣的,只是把有刷的電滑環(huán)變成了電子換向器。
因為少了電滑環(huán)的摩擦,所以壽命靜音方面有了很大的提升,轉速也更高。
有感就是在電機端蓋的部位加裝霍爾傳感器分別相隔30度或60度;無感就是靠檢測懸浮相的感應電動勢過零點(后面再細講)。
無論有感,還是無感,各有各的優(yōu)缺點。有感在低速方面好,可以頻繁啟停換相;無感的結構簡單成本低,航模上應用居多。
先說有感,電源首先被分成了3個繞組uvw,這個交流電還是有區(qū)別的。
它只是3個h橋按一定的順序導通模擬出來的,本質還是直流電。電機靠hall位置按一定順序換相,轉速與電壓電流有關。這一點切記,不是換的越快、轉的就越快(位置決定換相時刻,電壓決定轉速)。一般調速就是調電壓,6步pwm方式是目前比較常用的。當然,后續(xù)還有foc等更好的算法。
硬件部分網上基本都是成熟的方案,三相H橋,H橋一般有上臂mos和下臂mos組成,如果只是簡單的做演示,上臂選pmos、下臂選nmos控制電路簡單直接用單片機的io就可以驅動。但pmos低內阻的價格高,功率上面很難做大。而這也就是為什么基本所有的商業(yè)控制器全是nmos的原因。
但是,上臂用nmos存在一個問題vgs控制電壓大與vcc 4v以上才能完全導通。為了簡化電路采用了ir公司出的驅動ic,它內部有自舉升壓電路,外部僅需一個續(xù)流的二極管及儲能電容即可。
有感模式控制相對簡單,3個霍爾傳感器輸出一般都是數字信號,分壓后直接接單片機io。
當然,控制方式上也就簡單很多,三個霍爾接中斷輸入,在中斷處理程序中根據組合狀態(tài)換相,程序上也沒什么復雜的。主程序一直檢測ad值,改變pwm占空比,以及電流保護等。
如下一個典型的換相代碼:Stm32有兩個高級定時器tim1和tim8,可以輸出4組互補型pwm,還可以設定死區(qū)時間等,使用上非常方便。
下圖為uvw三相的霍爾檢測到的電平,以及w相的波形。
下圖為w相電平,w相上臂on、下臂pwm,w相霍爾信號。
下圖為w相ir2304芯片輸出,上臂電壓可明顯看到已高于vcc,下臂為pwm信號。
接下來,再說說無感模式。由于沒有了霍爾,電機無法知道轉子當前的位置,所以就無法換相。而感應電動勢也只有在轉起來之后才有,所以無感模式的啟動是個難點。
一般方法都是分三段法:預定位、啟動、進入閉環(huán)反饋。
1、預定位:強制給某一相通電一段時間,讓電機定位到這個位置;占空比30-50%不要太大,可能會發(fā)熱。
2、啟動:逐步的強制換相,當然要有個加速的過程,使電機轉起來。這個過程太慢會抖動反轉,太快會丟步。參數需要一點點試,有點像控制步進電機。要能使電機轉的能產生電動勢,我也是參照的德國MK電調的算法。每次延時時間比上一次少1/25,形成一個加速的過程,直到電機完全轉起來產生足夠的電動勢。
3、進入閉環(huán)反饋:閉環(huán)反饋控制換相跟有感差不多一樣。
說到感應電動勢,很多人不明白,先來說說電流。電機線圈的內阻通常很小,比如0.2歐,電機的電壓比如10v,按理來說,電流100a為何電機不燒呢?其實,電機線圈在通電的一瞬間并不是完全導通的,因為有反向電動感應勢的存在,可能有-9.8v。10v-9.8v=0.2v/0.2= 1A,這樣算起來電流還合理。
再說說初中學習的法拉第 ,當線圈切割磁場時會產生感應電動勢,根據右手定則……不懂的自行上網搜。
如下圖,當ac相在通電12v的情況下,靜止狀態(tài)下正中間中性點理論為6v,但轉起來就不一定了。因為b相實際是在切割磁場,是會產生電動勢的,而電動勢的大小正負取決于當前在磁場ns極的位置。當切割ns時為-1,切割sn時為1,平行時為0。
首先,檢測電路網上已經一大很成熟了。如下圖,當然很多時候需要在4.7k對地的電阻上并一個100nf的電容,做一個低通濾波,也可以在軟件中做濾波處理。而我們所要做的,就是檢測這個懸浮相的電動勢過零點。
此次我選擇了比較器,lm339價格已經很便宜了,在高速上比ad有明顯優(yōu)勢,只要比較cin bin ain 與n點的壓差即可獲得零點。
理想很完美,現實很殘酷,實際中根本得不到這么完美的波形。如下圖,這個已經是比較好的了,但還是有很多毛刺。這個給單片機中斷,肯定一大堆問題,嚴重的換錯相燒mos管。
為什么會有這些毛刺呢?有些還挺有規(guī)律。參考了網上的介紹,這中間還有一個叫消磁的東西。
原理不深究了,反正時間很短,軟件上做一個濾波消掉就可以了。
進入中斷函數后,做如下處理,定時器的中斷我暫時用的20us。
至于網上說檢測到過零點后,延時30度換相,對電源效率有影響。我試了一下,好像沒什么明顯的差異。也有人說,在大功率的電機下不延時反而更平滑等。到底真實怎樣,有待各位實際實驗了。
(免責聲明:整理本文出于傳播相關技術知識,版權歸原作者所有。)
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!