對于小功率電機(jī)應(yīng)用,成本比復(fù)雜性更為重要,并且對轉(zhuǎn)矩的平順性要求較低,因此單相無刷直流(BLDC)電機(jī)是三相電機(jī)或兩相電機(jī)不錯的替代方案。此類電機(jī)結(jié)構(gòu)簡單,易于制造,因此成本較低。此外,它只需要使用一個電樞位置傳感器和幾個 MOSFET 即可控制電機(jī)繞組。


本文介紹的基于 MCU 的驅(qū)動電路實現(xiàn)對單相無刷電機(jī)的控制,它會利用兩個反饋回路。一個是內(nèi)層回路,負(fù)責(zé)控制換向;另一個是外層回路,負(fù)責(zé)控制轉(zhuǎn)速。電機(jī)轉(zhuǎn)速以外部模擬電壓。作為參考,而且會檢測出過流和過溫故障。

圖 1 顯示了基于 Microchip 的 8 位單片機(jī) PIC16F1613 的單相驅(qū)動器。選擇這款單片機(jī)是因為其引腳數(shù)較少,并且片上外設(shè)可以控制驅(qū)動器開關(guān)、測量電機(jī)轉(zhuǎn)速、預(yù)測轉(zhuǎn)子位置以及實現(xiàn)故障檢測。本應(yīng)用使用以下外設(shè):互補(bǔ)波形發(fā)生器(CWG)、信號測量定時器(SMT)、模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC)、捕捉 / 比較 / 脈寬調(diào)制(CCP)、固定參考電壓(FVR)、定時器、比較器和溫度指示器。上述外設(shè)通過固件在內(nèi)部進(jìn)行連接,因此可減少所需的外部引腳數(shù)。其中值得一提的是,互補(bǔ)波形發(fā)生器是一個好東西,由專門的硬件電路產(chǎn)生適合驅(qū)動馬達(dá)的互補(bǔ)信號,大大簡化了程序設(shè)計。
全橋電路由 CWG 輸出進(jìn)行控制驅(qū)動電機(jī)繞組,霍爾傳感器用于確定轉(zhuǎn)子位置。流過電機(jī)繞組的電流通過檢測電阻 Rshunt 轉(zhuǎn)換為電壓,從而實現(xiàn)過流保護(hù)。轉(zhuǎn)速以外部模擬輸入作為參考。圖 2 顯示了電機(jī)驅(qū)動器控制框圖。

對于本設(shè)計,電機(jī)額定電壓為 5V,額定轉(zhuǎn)速為 2400 轉(zhuǎn) / 分鐘。電機(jī)驅(qū)動器電源電壓為 9V。改變 MOSFET 的額定電壓和導(dǎo)通電阻可以輕易適應(yīng)從 3.3V~100V 不同的電壓和對應(yīng)的功率等級。參考轉(zhuǎn)速可以是任一模擬輸入,比如一個電位器和固定電阻組成的分壓器,非常方便調(diào)速。PIC16F1613 單片機(jī)的 ADC 模塊具有 10 位分辨率以及最多 8 個通道,因此適用于各類模擬輸入。ADC 模塊用于提供參考轉(zhuǎn)速和初始 PWM 占空比,從而根據(jù)參考轉(zhuǎn)速源對電機(jī)轉(zhuǎn)速進(jìn)行初始化。

內(nèi)層回路
內(nèi)層反饋回路負(fù)責(zé)控制換向。
馬達(dá)驅(qū)動就好像猴子推秋千一樣,需要在恰當(dāng)?shù)臅r候用力;魻杺鞲衅髫(fù)責(zé)告訴單片機(jī)何時用力。全橋驅(qū)動就好像在左邊還有一個猴子,我們還要決定是哪邊的猴子要用力。CWG 輸出用于控制定子繞組的激勵,它取決于霍爾傳感器輸出的狀態(tài)(霍爾傳感器輸出將通過比較器與 FVR 進(jìn)行比較)。將使能比較器遲滯,以屏蔽傳感器輸出中的噪聲。比較器輸出可在正向全橋模式與反向全橋模式之間切換,從而使電機(jī)實現(xiàn)順時針或逆時針旋轉(zhuǎn)。CWG 輸出將饋入全橋電路的開關(guān)的輸入。要生成一個電氣周期,必須執(zhí)行一次正反向組合。電機(jī)機(jī)械旋轉(zhuǎn)一周需要兩個電氣周期,因此必須執(zhí)行兩次正反向組合電機(jī)才能完成一次順時針旋轉(zhuǎn)。

全橋電路
圖 3 所示的全橋電路主要由兩個 P 溝道 MOSFET(用作上橋臂開關(guān))和兩個 N 溝道 MOSFET(用作下橋臂開關(guān))組成。P 溝道晶體管的主要優(yōu)勢在于可以在上橋臂開關(guān)位置輕松實現(xiàn)柵極驅(qū)動,從而降低上橋臂柵極驅(qū)動電路的成本。但這種組合上橋臂開關(guān)和下橋臂開關(guān)有可能同時導(dǎo)通,就是常說的跨越導(dǎo)通,應(yīng)極力避免這種狀況,否則將產(chǎn)生直通電流,導(dǎo)致驅(qū)動器元件損壞。
為避免跨越導(dǎo)通,可使用 CWG 的計數(shù)器寄存器來實現(xiàn)死區(qū)延時。這樣可避免輸出信號發(fā)生重疊,繼而防止上橋臂和下橋臂同時導(dǎo)通。理想情況下,N 溝道 MOSFET 和 P 溝道 MOSFET 應(yīng)具有相同的導(dǎo)通電阻(RDSon)和總柵極電荷 QG,以便獲得最佳的開關(guān)特性。因此,最好選擇一對互補(bǔ)的 MOSFET 來匹配上述參數(shù)。
但實際上,由于互補(bǔ) MOSFET 的結(jié)構(gòu)不同,無法完全達(dá)到此要求;P 溝道器件的芯片尺寸必須是 N 溝道器件的 2 到 3 倍才能匹配 RDSon 性能。但是,芯片尺寸越大,QG 的影響也越大。因此,選擇 MOSFET 時,務(wù)必先確定 RDSon 和 QG 二者中哪個對開關(guān)性能的影響更大,然后再相應(yīng)地進(jìn)行選擇。
故障檢測
若轉(zhuǎn)矩負(fù)載超出允許的電機(jī)轉(zhuǎn)矩負(fù)載最大值,可能會導(dǎo)致電機(jī)停轉(zhuǎn),從而使近似短路電流流過繞組。因此,為保護(hù)電機(jī),必須實現(xiàn)過流和停轉(zhuǎn)故障檢測。為了實現(xiàn)過流檢測,本設(shè)計中有 Rshunt,該電阻會根據(jù)流過電機(jī)繞組的電流提供相應(yīng)的電壓。電阻兩端的壓降隨電機(jī)電流線性變化。該電壓將饋入比較器的反相輸入并與參考電壓進(jìn)行比較,參考電壓基于 Rshunt 電阻與允許的電機(jī)停轉(zhuǎn)電流最大值之積。參考電壓可由 FVR 提供,并可通過 DAC 進(jìn)一步縮小。這樣便可以使用非常小的參考電壓,從而將電阻保持在較低水平,進(jìn)而降低 Rshunt 的功耗。為了濾除噪聲和保護(hù)單片機(jī)的 IO,Rshunt 上的信號通過 R8,C5 這個低通濾波器接入單片機(jī),會造成一定時間的延遲觸發(fā),可以根據(jù)需要略微調(diào)整低通濾波器的時間常數(shù)。
如果 Rshunt 電壓超出參考電壓,比較器輸出會觸發(fā) CWG 的自動關(guān)斷功能,并且只要故障存在,CWG 的輸出便會保持無效狀態(tài)。過溫故障可通過器件的片上溫度指示器進(jìn)行檢測,溫度指示器的測量范圍為 -40˚C 至+85˚C。指示器的內(nèi)部電路會隨著溫度的不同而產(chǎn)生不同的電壓,然后通過 ADC 將此電壓轉(zhuǎn)換為數(shù)字量。為提高溫度指示器的精確度,可實施單點校準(zhǔn)。
下圖是馬達(dá)繞向和電流圖,供 debug 使用。

外層回路
圖 2 中所示的外層回路用于控制電機(jī)在不同條件下的轉(zhuǎn)速,例如負(fù)載需求、干擾和溫度漂移變化等。轉(zhuǎn)速由 SMT 測量。SMT 是一款具有時鐘和門控邏輯的 24 位計數(shù)定時器,經(jīng)配置可用于測量多種數(shù)字信號參數(shù),如脈沖寬度、頻率、占空比以及兩輸入信號邊沿之間的時間差?赏ㄟ^ SMT 的周期和占空比采集模式測量電機(jī)的輸出頻率。在此模式下,SMT 信號的占空比或周期都可基于 SMT 時鐘進(jìn)行采集。SMT 會計算單個電機(jī)旋轉(zhuǎn)周期內(nèi)的 SMT 時鐘數(shù),然后將結(jié)果存儲于捕捉周期寄存器中。使用該寄存器可獲得電機(jī)的實際頻率。將實際轉(zhuǎn)速與參考轉(zhuǎn)速進(jìn)行比較時,如果實際轉(zhuǎn)速高于設(shè)定的參考轉(zhuǎn)速,則產(chǎn)生正誤差;如果實際轉(zhuǎn)速低于設(shè)定的參考轉(zhuǎn)速,則產(chǎn)生負(fù)誤差。此誤差會饋入 PI 控制器。PI 控制器是一種固件算法,用于計算轉(zhuǎn)速偏差的補(bǔ)償值。在初始 PWM 占空比的基礎(chǔ)上加減此補(bǔ)償值可得到新的占空比值。
主程序框圖:

速度控制框圖:

中斷處理流程:

結(jié)論
在成本敏感型電機(jī)控制應(yīng)用中,高效而靈活的單片機(jī)可大顯身手。器件效率可針對外設(shè)集成度進(jìn)行測量,從而優(yōu)化控制任務(wù)、引腳和存儲器數(shù)量以及封裝尺寸。此外,如果需要不同的設(shè)計,易用性和上市時間也會顯得尤為重要。本文介紹了低成本單片機(jī)如何滿足上述需求,以及如何通過驅(qū)動器設(shè)置所需的參考轉(zhuǎn)速、預(yù)測轉(zhuǎn)子位置、實現(xiàn)控制算法、測量電機(jī)實際轉(zhuǎn)速以及執(zhí)行故障檢測。 |