三相BLDC電機在汽車電子中應用十分廣泛,例如座椅風扇、充電小門執行機構、主動進氣格柵以及空調出風口等場景。對于這類車載小型執行機構,工程師通常希望在滿足可靠性的同時,實現系統的低成本、小型化和輕量化設計。
針對這一需求,納芯微推出了專用小型電機驅動芯片 NSUC1610。該芯片在單器件中集成了車載高壓LDO、LIN PHY、Gate Driver、MOSFET以及基于ARM內核的MCU,可為三相BLDC電機提供高度集成的控制方案,從而簡化系統設計并提升車載電機控制的可靠性。
本文將從BLDC電機的工作原理出發,介紹無感控制的基本方法,并結合NSUC1610的硬件架構解析其三相BLDC驅動方案的實現方式。
01 BLDC工作原理
無刷直流電機(BLDC)通過電子換向取代傳統有刷直流電機的機械換向,因此具有壽命長、效率高以及功率密度高等優勢。BLDC電機通常由三相定子繞組和永磁體轉子構成。當定子繞組通電后,根據電磁感應原理會產生定子磁鏈;轉子永磁體則形成固定的轉子磁鏈。當兩者之間存在一定角度差時,磁場會趨向于對齊,從而產生電磁轉矩驅動轉子旋轉。
電機產生的電磁轉矩可表示為:T = I × (K_T × sinθ)
T是產生的轉矩
I為線圈內的電流
K_T為電機轉矩常數
θ為定子磁鏈和轉子磁鏈的角度
圖1.1 三相無刷電機磁鏈簡圖
如圖1.1所示,當定子 A 相與 C 相繞組導通時,兩相電流根據右手螺旋定則產生磁場,其磁鏈矢量疊加后形成定子磁鏈(紅色)。轉子永磁體則產生固定方向的轉子磁鏈(深紅色)。當定子磁鏈與轉子磁鏈之間存在一定角度差時,磁場會趨向于對齊,從而產生電磁轉矩,使轉子產生順時針旋轉趨勢(黑色)。
無感控制的基本原理是通過檢測六步換相過程中懸空相的反電動勢變化來判斷轉子位置,從而確定合適的換相時刻。在電機旋轉過程中,轉子永磁體產生的磁場會切割定子繞組,根據電磁感應原理,繞組中會產生感應電動勢,即反電動勢。
如圖1.2所示,以 A、C 兩相施加 12V 電壓為例,此時 B 相處于懸空狀態,其反電動勢Vbe會經歷由負到正的變化過程。由于三相電機的虛擬中性點電壓約為母線電壓的一半(約6V),因此 B 相的相電壓可表示為6 + Vbe。
當檢測到 B 相電壓等于 6V 時,說明反電動勢發生過零,此時轉子位于兩個換相點之間。通過延遲約 30° 電角度進行換相,即可實現正確的六步換相控制,其余扇區的換相過程同理。
圖1.2 BLDC感應電動勢
三相BLDC需要三個半橋驅動,其拓撲圖1.3所示。
圖1.3 三相半橋逆變驅動結構
02 NSUC1610 介紹
NSUC1610內部集成了豐富的電機控制外設,包括 3路捕獲比較模塊(CAPCOM)、3路反電動勢比較器(BEMFC)、模數轉換器(ADC)、PWM控制模塊、溫度傳感器、4路MOSFET半橋輸出(MOUT)以及LIN通信接口(LIN PHY) 等。
其中,片上的 4路MOUT半橋驅動可直接驅動小功率直流有刷電機、三相無刷直流電機以及兩相四線步進電機,并可通過不同控制算法實現多種電機控制應用。
此外,芯片內置的 BEMFC反電動勢比較器支持BLDC電機反電動勢過零檢測,可用于實現BLDC電機的無感六步方波控制。
圖2.1展示了NSUC1610的內部資源框圖。
圖2.1 NSUC1610內部資源框圖
03 基于NSUC1610的BLDC方波控制
BLDC常見的控制方式為六步方波控制。在每個換相周期中,三相繞組中兩相導通,一相懸空,通過按照特定的導通順序切換各相繞組的通斷狀態,即可驅動電機實現順時針旋轉(CW)或逆時針旋轉(CCW)。
在 CW(順時針)模式下,扇區切換順序為:
SECTOR0?1?2?3?4?5?0
圖3.1展示了扇區0~5對應的三相電流與反電動勢波形,其中綠色曲線表示相電流,藍色虛線表示相電壓(反電動勢)。
圖3.1 CW 模式下不同扇區對應的反電動勢波形
在 CCW(逆時針)模式下,扇區切換順序為:
SECTOR0?5?4?3?2?1?0
扇區0~扇區5的三相電流和反電動勢波形如圖3.2所示。
圖3.2 CCW 模式下不同扇區對應的反電動勢波形
在一個電角度旋轉周期內,BLDC三相繞組的相電壓變化如圖3.3所示。當發生換相時,原本導通的繞組會進入浮空狀態,但由于線圈中仍然存在電流,電感電流無法瞬間降為零,因此會產生一段退磁時間(Demagnetization Time)。
在這一階段,繞組中的續流電流仍然存在,使得相電壓主要由續流電流產生的電壓分量決定,此時測得的反電動勢信號尚不能準確反映轉子位置。待繞組中的能量逐漸釋放完畢后,繞組電壓重新由切割磁力線產生的反電動勢主導,此時的反電動勢信號才可作為轉子位置檢測和換相控制的依據。
圖3.3 電機繞組三相電壓波形
在續流結束后,使能反電動勢過零檢測。當檢測到反電動勢過零點時,通過CAPCOM模塊捕獲該時刻,并設置比較值用于實現 30°電角度延時換相。
下一次換相比較值計算如下:
NextCompare = CaptureVal + (LastStepAvg / 2)
圖3.4展示了各變量對應的時間關系。
為了避免在某些扇區未檢測到反電動勢過零點的情況,在每次換相后還會設置 強制換相點(Forced Commutation)。當系統未檢測到過零信號時,電機會在該強制換相點執行換相,從而避免因過零檢測失敗導致電機運行異常。
其中 LastStepAvrg 表示最近六個扇區時間的平均值。
圖3.4 電機換相邏輯圖
BLDC無感六步方波控制的核心在于反電動勢(BEMF)的過零檢測。通過檢測反電動勢信號的上升沿或下降沿,可以確定轉子的電角度位置,并進一步實現換相控制。
下面介紹 NSUC1610 中反電動勢過零檢測的硬件實現方式。
NSUC1610內部集成了 三個反電動勢比較器(BEMFC0、BEMFC1、BEMFC2),用于實現三相反電動勢的過零檢測。比較器的輸出結果可作為 虛擬三相 Hall 信號,用于驅動三相BLDC無感六步方波控制算法。
具體實現方式如下:三相電壓的虛擬中性點(Virtual Star Point)連接至BEMFC0、BEMFC1、BEMFC2 的正向輸入端;各相橋臂電壓分別連接至比較器的反向輸入端,其中:
mout0 連接至 BEMFC0 的反向輸入端
mout2 連接至 BEMFC1 的反向輸入端
mout1 連接至 BEMFC2 的反向輸入端
其硬件連接關系如 圖3.5 所示。
圖3.5 反電動勢比較器的輸入通道連接方式
反電動勢比較BEMFC模塊的配置代碼如下:
BEMFC->CR2_b.BRM = 0; // 0:虛擬星點參考 1:相位電壓參考
BEMFC->CR2_b.BIS0 =0; //0:電壓傳感輸入1:電流傳感輸入
BEMFC->CR2_b.BIS1 =0; //0:電壓傳感輸入1:電流傳感輸入
BEMFC->CR2_b.BIS2 =0; //0:電壓傳感輸入1:電流傳感輸入
BEMFC0、BEMFC1 和 BEMFC2 的比較輸出分別連接至 CAPCOM0、CAPCOM1 和 CAPCOM2,用于實現反電動勢過零點的捕獲。其中:
CAPCOM0 用于捕獲 mout0 的過零點
CAPCOM1 用于捕獲 mout2 的過零點
CAPCOM2 用于捕獲 mout1 的過零點
通過將 CAPCOM 的輸入源配置為 BEMFC 比較器輸出,即可在反電動勢過零時觸發捕獲事件。配置代碼如下:
CAPCOM->CCR_b.CIS0 =1; // CAPCOM source:0:GPIO1:BEMFC
CAPCOM->CCR_b.CIS1 =1; // CAPCOM source:0:GPIO1:BEMFC
CAPCOM->CCR_b.CIS2 =1; // CAPCOM source:0:GPIO1:BEMFC
當電機以 CW 或 CCW 方向旋轉時,在同一扇區內浮空相的反電動勢變化趨勢保持一致,即呈現 遞增或遞減的特性。
以 扇區0 為例,無論電機以 CW 還是 CCW 方向旋轉,浮空相 MOUT2 的反電動勢均呈 遞增趨勢(↗),因此需要檢測其上升過零點。
六個扇區中需要檢測的通道及對應的反電動勢變化趨勢總結如 表3.6 所示。
表3.6不同扇區對應的檢測通道
表3.7不同扇區CAPCOM配置
通過上述配置,利用 NSUC1610 的片上資源即可實現對 BLDC 浮空相反電動勢的檢測與捕獲。
在 NSUC1610 的硬件模塊與控制算法協同作用下,可實現 BLDC 從 電機啟動到速度閉環運行的完整控制流程。圖3.8展示了 NSUC1610 驅動下的 BLDC 三相電壓與電流波形。
從測試結果可以看出,電機啟動及運行過程中三相電流過渡平滑,未出現明顯電流尖峰,驗證了該方案能夠實現 穩定可靠的 BLDC 啟動及閉環控制。
圖3.8 NSUC1610 驅動下的 BLDC 三相電壓與電流波形