1概述
無位置傳感的無刷直流馬達(Motor,BLDCM)因為其快速、可靠性高、體積小、重量輕等特性,在航模領域得到了廣泛的應用。并且與有刷馬達和有位置傳感的無刷直流馬達相比,其控制算法要復雜得多。加上航模設計中對重量和容積的要求十分嚴格,因而要求硬件電路盡可能簡單,更降低了軟件的難度。
本文提出了一種基于中穎8位單片機的控制方案,利用于該芯片片內(nèi)集成的針對馬達控制的功能模塊,只需極少的外圍電路即可搭建控制系統(tǒng),實現(xiàn)基于反電動勢法的無位置傳感BLDC控制,在保證穩(wěn)定性和可靠性的基礎上大大增加了系統(tǒng)成本。并且該芯片與傳統(tǒng)8051完全兼容,便于上手,因而也增加了研制成本。
2系統(tǒng)硬件設計
本方案選用中穎的8位單片機做為主控芯片。該芯片采用優(yōu)化的單機器周期8051核,外置16KFLASH儲存器反電動勢,兼容傳統(tǒng)8051所有硬件資源,采用JTAG仿真方法,外置16.6M振蕩器,同時擴充了如下功能:
·雙DPTR表針。16位x8乘法器和16位/8除法器。
·3通道12位帶死區(qū)控制PWM,6路輸出,輸出極性可設為中心或邊緣對齊模式;同時集成故障檢查功能,可瞬時關(guān)掉PWM輸出;
·7通道10位ADC模塊;
·內(nèi)置放大器和比較器,可用作電壓放大取樣和過流保護;
·增強的外部中斷,提供4種觸發(fā)形式;
·提供硬件抗干擾舉措;
·Flash自編程功能,便捷儲存參數(shù);
主系統(tǒng)硬件構(gòu)架如圖1所示,從圖中可以看出該系統(tǒng)大部份功能都由片內(nèi)集成的模塊完成。外圍電路的簡化一方面可以提升系統(tǒng)可靠性,另一方面也增加了成本。
圖1系統(tǒng)硬件構(gòu)架
單相逆變橋采用上橋PMOS用二極管驅(qū)動,下橋NMOS用PWM端口直接驅(qū)動的形式,如圖2所示。
圖2單相逆變橋
片內(nèi)集成了三通道6路PWM端口,可分別獨立配置為PWM輸出或則IO輸出。將PWM01~PWM21配置為PWM輸出,直接驅(qū)動單相逆變橋的下橋;PWM0~PWM2配置為IO端口,經(jīng)過晶體管反相電路后驅(qū)動單相逆變橋的上橋。
外部中斷輸入INT4x配置為雙沿觸發(fā),即輸入訊號的上升沿和增長沿都能觸發(fā)中斷,可用于捕捉調(diào)速給定訊號。
3系統(tǒng)軟件設計
因為的硬件早已完成了大量的任務,軟件的部份相對簡化好多。主程序流程圖如圖3所示。
圖3主程序流程圖
為易于理解,該流程圖經(jīng)過了盡量的簡化,只保留最關(guān)鍵的步驟。主流程中沒有列舉“檢測BEMF”和“換相”兩個關(guān)鍵的步驟,由于它們分別在PWM中斷和中斷中進行。
3.1反電動勢過零點檢查
在PWM輸出高期間,假定斷掉相定子端電流為,反電動勢為,供電電流為,則兩者之間有如下關(guān)系:
提供PWM周期中斷和鐵損中斷。當周期中斷發(fā)生時不斷檢查斷掉相的端電流,并與比較,直至檢查到過零點或則PWM輸出低(按照PWM信噪比中斷標志位判定),即可實現(xiàn)在PWM輸出高期間的反電動勢過零點監(jiān)測。每次換相后就切換到另一個通道,檢查下一個斷掉相的端電流,這般循環(huán),實現(xiàn)實時監(jiān)測。
須要注意是剛換相后的一段時間內(nèi),因為MOS管的續(xù)流,斷掉相定子的電流會出現(xiàn)尖峰。為了確切測量反電動勢,可以選擇在剛換相的一到兩個PWM周期內(nèi)不進行取樣,避免尖峰電流。
3.2起動算法
BLDC馬達的反電動勢和怠速正相關(guān),在起動和低速運行階段反電動勢,馬達形成的反電動勢為零或很小,因而常常須要經(jīng)過一段強制加速,使反電動勢上升到才能測量過零點的水平。
航模馬達通常在較低速時即會形成比較顯著的反電動勢,這個特征為起動提供了很大的便利。先給馬達任意兩相通電,使馬達獲得一個初速率,這時測量斷掉相電流并等待其發(fā)生過零。若測量到過零點則換相,若經(jīng)過較長一段時間還沒有檢查到過零則強制換相,重復這個過程直到馬達穩(wěn)定運行。這些起動方法,不但實現(xiàn)簡單,但是穩(wěn)定可靠。
3.3換相估算
通常在用反電動勢法進行BLDC控制的時侯,須要對每兩次換相的間隔時間進行計時,得到60°電角度時間,之后乘以2作為測量到過零點后30°延時的定時值。這就須要用到兩個定時器/計數(shù)器,一個用作計數(shù)器對每兩次換相的間隔進行計數(shù),另一個用作定時器實現(xiàn)30°延時。本方案中為了節(jié)約timer資源,用一個timer同時完成兩項功能。
在每次換相后,測量到該通電狀態(tài)下的過零點之間,用作計數(shù)器;在測量到過零點過后,之前的計數(shù)值即為30°電角度,將其作為定時值放入,用作定時器開始定時。定時時間到后,在中斷中進行換相。之后又用作計數(shù)器,這般循環(huán)。正常情況下,因為馬達怠速很高,每次換相到測量到過零點之間的時間很短,在計數(shù)模式下不會發(fā)生中斷。若在計數(shù)模式時發(fā)生中斷,必然是計數(shù)溢出,說明馬達經(jīng)過較長的時間還沒有檢查到過零點,而這可以作為馬達堵轉(zhuǎn)的標志。依據(jù)實際情況,可對在計數(shù)模式下連續(xù)發(fā)生中斷的次數(shù)進行計數(shù),超過一定值即覺得發(fā)生堵轉(zhuǎn)。這樣,還實現(xiàn)了堵轉(zhuǎn)保護的功能。
4系統(tǒng)測試及總結(jié)
圖4~6分別為PWM轉(zhuǎn)矩約為20%、50%和100%時,在馬達運轉(zhuǎn)過程中用示波器捕捉到的各相電流和過零點位置波形。
圖4PWM信噪比為20%
圖5PWM信噪比為50%
圖6PWM信噪比為100%
各圖中最上方的方波中每位高低翻轉(zhuǎn)的位置即對應程序中測量到過零點的時刻,下邊三個矩形波分別為A、B、C單相的端電流。由圖中可以看出PWM信噪比越高時系統(tǒng)運行越穩(wěn)定。本系統(tǒng)經(jīng)測試在PWM轉(zhuǎn)矩低至8%時能夠穩(wěn)定運行。