1 概述
無位置傳感器的無刷直流電機(Brushless Direct Current Motor, BLDCM)由于其快速、可靠性高、體積小、重量輕等特點,在航模領域得到了廣泛的應用。但是與有刷電機和有位置傳感器的無刷直流電機相比,其控制算法要復雜得多。加上航模設計中對重量和體積的要求非常嚴格,因此要求硬件電路盡可能簡單,更增加了軟件的難度。
本文提出了一種基于中穎8位單片機SH79F168的控制方案,借助于該芯片片內集成的針對電機控制的功能模塊,只需很少的外圍電路即可搭建控制系統,實現基于反電動勢法的無位置傳感器BLDC控制,在保證穩定性和可靠性的基礎上大大降低了系統成本。而且該芯片與傳統8051完全兼容,易于上手,從而也降低了研發成本。
2 系統硬件設計
本方案選用中穎的8位單片機SH79F168做為主控芯片。該芯片采用優化的單機器周期8051核,內置16K FLASH存儲器,兼容傳統8051所有硬件資源,采用JTAG仿真方式,內置16.6M振蕩器,同時擴展了如下功能:
雙DPTR指針. 16位 x 8乘法器和16位/8除法器.
3通道12位帶死區控制PWM,6路輸出,輸出極性可設為中心或邊沿對齊模式;同時集成故障檢測功能,可瞬時關閉PWM輸出;
7通道10位ADC模塊;
增強的外部中斷,提供4種觸發方式;
提供硬件抗干擾措施;
Flash自編程功能,方便存儲參數;
主系統硬件架構如圖1所示,從圖中可以看出該系統大部分功能都由片內集成的模塊完成。外圍電路的簡化一方面可以提高系統可靠性,另一方面也降低了成本。
圖 1 系統硬件架構
三相逆變橋采用上橋PMOS用三極管驅動,下橋NMOS用PWM端口直接驅動的方式,如圖2所示。
圖 2 三相逆變橋
SH79F169片內集成了三通道6路PWM端口,可分別獨立配置為PWM輸出或者IO輸出。將PWM01~PWM21配置為PWM輸出,直接驅動三相逆變橋的下橋;PWM0~PWM2配置為IO端口,經過晶體管反相電路后驅動三相逆變橋的上橋。
外部中斷輸入INT4x配置為雙沿觸發,即輸入信號的上升沿和下降沿都能觸發中斷,可用于捕捉調速給定信號。
3 系統軟件設計
由于SH79F168的硬件已經完成了大量的任務,軟件的部分相對簡化很多。主程序流程圖如圖3所示。
圖 3 主程序流程圖
為便于理解,該流程圖經過了盡量的簡化,只保留最關鍵的步驟。主流程中沒有列出“檢測BEMF”和“換相”兩個關鍵的步驟,因為它們分別在PWM中斷和timer0中斷中進行。
3.1 反電動勢過零點檢測
在PWM輸出高期間,假設斷開相繞組端電壓為 ,反電動勢為 ,供電電壓為 ,則三者之間有如下關系[1]:
SH79F168提供PWM周期中斷和占空比中斷。當周期中斷發生時不斷檢測斷開相的端電壓,并與 比較,直到檢測到過零點或者PWM輸出低(根據PWM占空比中斷標志位判斷),即可實現在PWM輸出高期間的反電動勢過零點檢測。每次換相后就切換到另一個通道,檢測下一個斷開相的端電壓,如此循環,實現實時檢測。
需要注意是剛換相后的一段時間內,由于MOS管的續流,斷開相繞組的電壓會出現尖峰。為了準確檢測反電動勢,可以選擇在剛換相的一到兩個PWM周期內不進行采樣,避開尖峰電壓。
3.2 起動算法
BLDC電機的反電動勢和轉速正相關,在起動和低速運行階段,電機產生的反電動勢為零或很小,因此往往需要經過一段強制加速,使反電動勢上升到能夠檢測過零點的水平。
航模電機一般在較低速時即會產生比較明顯的反電動勢,這個特點為起動提供了很大的便利。先給電機任意兩相通電,使電機獲得一個初速度,這時檢測斷開相電壓并等待其發生過零。若檢測到過零點則換相,若經過較長一段時間還沒有檢測到過零則強制換相,重復這個過程直至電機穩定運行。這種起動方式,不但實現簡單,而且穩定可靠。在這種方式不能適用時,再根據應用場合考慮選用特定的起動方式,可參考文獻[2],限于篇幅本文不詳述。
3.3 換相計算
一般在用反電動勢法進行BLDC控制的時候,需要對每兩次換相的間隔時間進行計時,得到60°電角度時間,然后除以2作為檢測到過零點后30°延時的定時值。這就需要用到兩個定時器/計數器,一個用作計數器對每兩次換相的間隔進行計數,另一個用作定時器實現30°延時。本方案中為了節省timer資源,用一個timer同時完成兩項功能。
在每次換相后,檢測到該通電狀態下的過零點之間,timer0用作計數器;在檢測到過零點之后,之前的計數值即為30°電角度,將其作為定時值裝入timer0,timer0用作定時器開始定時。定時時間到后,在timer0中斷中進行換相。然后timer0又用作計數器,如此循環。正常情況下,由于電機轉速很高,每次換相到檢測到過零點之間的時間很短,timer0在計數模式下不會發生中斷。若timer0在計數模式時發生中斷,必然是計數溢出,說明電機經過較長的時間還沒有檢測到過零點,而這可以作為電機堵轉的標志。根據實際情況,可對timer0在計數模式下連續發生中斷的次數進行計數,超過一定值即認為發生堵轉。這樣,timer0還實現了堵轉保護的功能。
4 系統測試及總結
圖4~6分別為PWM占空比約為20%、50%和100%時,在電機運轉過程中用示波器捕捉到的各相電壓和過零點位置波形。
圖 4 PWM占空比為20%
圖 5 PWM占空比為50%
圖 6 PWM占空比為100%
各圖中最上方的方波中每個高低翻轉的位置即對應程序中檢測到過零點的時刻,下面三個梯形波分別為A、B、C三相的端電壓。由圖中可以看出PWM占空比越高時系統運行越穩定。本系統經測試在PWM占空比低至8%時還能穩定運行。
采用本方案的航模電調通過廠家的各項測試,性能良好,穩定可靠,且節省了成本。目前已進入批量生產階段,產生了良好的經濟效益。
參考文獻
[1] Jianwei Shao. Direct Back EMF Detection Method for Sensorless Brushless DC Motor Dives. Thesis submitted to the Faculty of the Virginia Polytechnic Institute and the State University in Partial fulfillment of the requirements for the degree of Master, 2003.
[2] 吳筱輝, 程小華, 劉杰. 反電動勢法檢測轉子位置的直流無刷電機系統起動方法. 中小型電機, 2005, 32(5)
歡迎轉載,本文來自電子發燒友網(http://www.xsypw.cn/)張飛軟硬開源,基于STM32?BLDC直流無刷電機驅動器視頻套件
http://t.elecfans.com/topic/42.html?elecfans_trackid=fsy_post
評論
查看更多