單片機C868實現(xiàn)無傳感器BLDC電機控制
引 言
BLDC具備諸多優(yōu)勢,例如外型緊湊、結(jié)構(gòu)簡單、高效率、低噪音、較長使用壽命等等,這種電機越來越廣泛地應(yīng)用于自動化、工業(yè)和消費類電子產(chǎn)品等領(lǐng)域。圖1所示為典型的BLDC電機框圖,該電機包括一個梯形磁通的永磁同步電機、一個轉(zhuǎn)子位置檢測器(通常為三個霍爾傳感器)和一個驅(qū)動電機的三相逆變器。另外,必須配置一個單片機(MCU),輸出特定的脈沖寬度調(diào)制(PWM)模式來驅(qū)動BLDC電機。如同一個傳統(tǒng)直流電機那樣,電機的換流必須與轉(zhuǎn)子位置同步,用戶可以通過改變PWM的占空比來調(diào)節(jié)電機轉(zhuǎn)速。
圖1 BLDC電機框圖
通常,電機中的三個霍爾傳感器相互成60度角。也就是說,每隔60度其中一個傳感器就會變換其狀態(tài),完成一次電循環(huán)需要進行6次狀態(tài)變換。在這種情況下,定子的相電流始于霍爾傳感器信號轉(zhuǎn)換后的30度,保持120度。為了使電機正常運行,MCU的輸出模式(換流順序)應(yīng)當依據(jù)輸入模式(轉(zhuǎn)子位置信號)來確定,輸入轉(zhuǎn)子位置信號模式與輸出PWM模式相結(jié)合,即構(gòu)成換流表。
單片機C868和CAPCOM6E單元
C868是英飛凌公司8位單片機產(chǎn)品家族中的新成員,可為各種應(yīng)用和系統(tǒng)提供低成本的先進控制功能。借助功能強大的片上PWM發(fā)生單元CAPCOM6E,C868滿足了對低成本、高實時性的電力電子控制的所有要求。利用靈活的CAPCOM6E,由硬件/軟件處理所有對時間要求十分苛刻的任務(wù),而CPU則處理用戶命令,并可進行相應(yīng)的控制運算。內(nèi)置的5通道8位ADC所具備的同步特性有助于測量無噪音相關(guān)的系統(tǒng)參數(shù)。
CAPCOM6E可驅(qū)動多種類型的電機(交流異步電機IM、直流無刷電機BLDC和開關(guān)磁阻電機SRM等),它是基于此類PWM單元十多年的研發(fā)的最新成果。CAPCOM6E具備以下特性:
—T12具有三個捕捉/比較通道,每個通道有兩個輸出,可用作捕捉通道或比較通道,并且具備死區(qū)時間控制,可避免電源電路出現(xiàn)短路。T12有中心對齊、邊緣對齊、單脈沖觸發(fā)模式和滯環(huán)控制等控制模式。對于BLDC電機控制,通道1可用于捕捉速度,通道2可用作相位延遲,而通道3可用作超時功能。
—T13有一個獨立的比較通道和1路輸出,可生成高速PWM信號,并控制占空比。T13也支持單脈沖觸發(fā)模式,可與T12同步。PWM信號可自動迭加至T12的6路輸出中任何一路(或全部)的有效電平上。對于BLDC電機控制,通過T13 PWM的占空比調(diào)節(jié)電機速度。
如圖2所示,CC60-CC62和COUT60-COUT62是用于驅(qū)動電機的6個基本輸出信號。對于BLDC電機控制,應(yīng)當通過三個輸入口CCPOS0-CCPOS2(轉(zhuǎn)子位置反饋信號)的狀態(tài)來控制輸出信號。T13生成的高頻PWM信號具有高達50ns的分辨率,加至T12的CC60-CC62和COUT60-COUT62輸出中的任何一個有效電平。CTRAP是緊急中斷輸入。如果該輸入為低,CC60-CC62和COUT60-COUT62將立即變?yōu)轭A(yù)定義的電平,以實現(xiàn)過流/過壓保護。用戶僅需設(shè)置各種寄存器的值,例如周期寄存器、比較寄存器、偏移寄存器等等,即可快捷地控制CAPCOM6E。
圖2 CAPCOM6E框圖
值得指出的是借助CAPCOM6E,用戶可通過軟件建立任何塊交換表(或狀態(tài)機),同時由硬件生成相應(yīng)的PWM輸出信號。這樣可以非常靈活地實現(xiàn)任何控制要求。下面的例子是以定義自制
的塊交換表的源代碼。數(shù)組下標HALL_PATTERNS_NUMBER 從0至5。
// Hall patterns
ubyte HallPatterns [HALL_PATTERNS_NUMBER]=
{
0x25, // Current="100" Expected="101"
0x29, // Current="101" Expected="001"
0x0b, // Current="001" Expected="011"
0x1a, // Current="011" Expected="010"
0x16, // Current="010" Expected="110"
0x34, // Current="110" Expected="100"
};
ubyte PWMPatterns[ HALL_PATTERNS_NUMBER]=
{
0x18, // U="0" V=- W=+ COUT62/CC62=01 COUT61/CC61=10 COUT60/CC60=00
0x12, // U=- V="0" W=+ COUT62/CC62=01 COUT61/CC61=00 COUT60/CC60=10
0x06, // U=- V=+ W="0" COUT62/CC62=00 COUT61/CC61=01 COUT60/CC60=10
0x24, // U="0" V=+ W=- COUT62/CC62=10 COUT61/CC61=01 COUT60/CC60=00
0x21, // U=+ V="0" W=- COUT62/CC62=10 COUT61/CC61=00 COUT60/CC60=01
0x09 // U=+ V=-W=0 COUT62/CC62=00 COUT61/CC61=10 COUT60/CC60=01
}; 無傳感器的BLDC控制
些應(yīng)用中,不能使用霍爾傳感器或其它直接檢測轉(zhuǎn)子位置的方法,因此需要采用間接方法來檢測轉(zhuǎn)子位置。對于如圖3中所示的電機運行,探測電機反電勢的過零點是獲得電機轉(zhuǎn)子位置最常見的方法。按照120度導電方式, 任何時間都有一相電機端子沒有外加電壓,因此可以在該相電機端子檢測電機反電勢來得知轉(zhuǎn)子位置。
在圖3(a)中,各個相位使用的霍爾傳感器用三個電阻分壓器和一個比較器替代。比較器向C868提供三個轉(zhuǎn)子位置信號。CAPCOM6E特別適用于這個解決方案,因為它的每路輸入均有一個噪聲濾波器可抑制噪音,并具備相位延遲功能,可調(diào)節(jié)相位角度,如圖4所示。
圖3 無傳感器C868 BLDC系統(tǒng)(a)利用外部比較器
(b)利用A/D轉(zhuǎn)換器
圖4 CAPCOM6E具備特殊功能用于BLDC電機控制
如圖4所示,通過設(shè)置T12計時器的死區(qū)時間定時器,用戶可以定義噪音抑制窗口,通過設(shè)置T12通道1的比較值,用戶可以使T12輸出發(fā)生相位延遲,通過設(shè)置T12通道2的比較值,用戶可以了解有多長時間輸入沒有變化。T12通道0為捕捉模式,以測量實際速度。
在圖3(b)中,電機端子電壓可由C868的A/D轉(zhuǎn)換器檢測,A/D轉(zhuǎn)換可由T13溢出觸發(fā),通常,反電勢信號有很大噪音,進行測量的最佳時機是在關(guān)閉電力電子開關(guān)的器件前的瞬間。此時正是T13溢出的時間。因此,每一次T13溢出均會觸發(fā)一次ADC測量。軟件僅須讀取該值并與預(yù)定義的閾值(過零點)進行比較。如果達到了該閾值點,軟件將重設(shè)T12,以準備下一個PWM狀態(tài)。當相位延遲結(jié)束后(因為反向電動勢BEMF過零點約比換流點提前30度),T12通道1的比較事件將觸發(fā)換流至下一個狀態(tài)。實驗結(jié)果表明C868 BLDC系統(tǒng)的A/D方法是切實有效的。
結(jié) 語
本文介紹了采用英飛凌公司最新推出的8位單片機 C868及其功能強大、靈活自如的PWM發(fā)生單元CAPCOM6E實現(xiàn)無傳感器BLDC電機控制系統(tǒng)的方法。C868的CAPCOM6E具有一個用戶自定義的塊交換表(狀態(tài)機),其卓越的靈活性為用戶提供了很大應(yīng)用空間,可實現(xiàn)任何BLDC電機控制方案。C868所帶A/D轉(zhuǎn)換器的同步功能和CAPCOM6E的相位延遲功能可以進行精確的無噪聲的反電勢測量。實驗結(jié)果證明C868確實非常適合無傳感器BLDC電機控制。