基于單片機實現(xiàn)對單相無刷電機的控制系統(tǒng)設(shè)計
對于小功率電機應(yīng)用,成本比復(fù)雜性更為重要,并且對轉(zhuǎn)矩的平順性要求較低,因此單相無刷直流(BLDC)電機是三相電機或兩相電機不錯的替代方案。此類電機結(jié)構(gòu)簡單,易于制造,因此成本較低。此外,它只需要使用一個電樞位置傳感器和幾個MOSFET即可控制電機繞組。
對于小功率電機應(yīng)用,成本比復(fù)雜性更為重要,并且對轉(zhuǎn)矩的平順性要求較低,因此單相無刷直流(BLDC)電機是三相電機或兩相電機不錯的替代方案。此類電機結(jié)構(gòu)簡單,易于制造,因此成本較低。此外,它只需要使用一個電樞位置傳感器和幾個MOSFET即可控制電機繞組。
本文介紹的基于MCU的驅(qū)動電路實現(xiàn)對單相無刷電機的控制,它會利用兩個反饋回路。一個是內(nèi)層回路,負責(zé)控制換向;另一個是外層回路,負責(zé)控制轉(zhuǎn)速。電機轉(zhuǎn)速以外部模擬電壓。作為參考,而且會檢測出過流和過溫故障。
圖1顯示了基于Microchip的8位單片機PIC16F1613的單相驅(qū)動器。選擇這款單片機是因為其引腳數(shù)較少,并且片上外設(shè)可以控制驅(qū)動器開關(guān)、測量電機轉(zhuǎn)速、預(yù)測轉(zhuǎn)子位置以及實現(xiàn)故障檢測。本應(yīng)用使用以下外設(shè):互補波形發(fā)生器(CWG)、信號測量定時器(SMT)、模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC)、捕捉/比較/脈寬調(diào)制(CCP)、固定參考電壓(FVR)、定時器、比較器和溫度指示器。上述外設(shè)通過固件在內(nèi)部進行連接,因此可減少所需的外部引腳數(shù)。其中值得一提的是,互補波形發(fā)生器是一個好東西,由專門的硬件電路產(chǎn)生適合驅(qū)動馬達的互補信號,大大簡化了程序設(shè)計。
全橋電路由CWG輸出進行控制驅(qū)動電機繞組,霍爾傳感器用于確定轉(zhuǎn)子位置。流過電機繞組的電流通過檢測電阻Rshunt轉(zhuǎn)換為電壓,從而實現(xiàn)過流保護。轉(zhuǎn)速以外部模擬輸入作為參考。圖2顯示了電機驅(qū)動器控制框圖。
對于本設(shè)計,電機額定電壓為5V,額定轉(zhuǎn)速為2400轉(zhuǎn)/分鐘。電機驅(qū)動器電源電壓為9V。改變MOSFET的額定電壓和導(dǎo)通電阻可以輕易適應(yīng)從3.3V~100V不同的電壓和對應(yīng)的功率等級。參考轉(zhuǎn)速可以是任一模擬輸入,比如一個電位器和固定電阻組成的分壓器,非常方便調(diào)速。PIC16F1613單片機的ADC模塊具有10位分辨率以及最多8個通道,因此適用于各類模擬輸入。ADC模塊用于提供參考轉(zhuǎn)速和初始PWM占空比,從而根據(jù)參考轉(zhuǎn)速源對電機轉(zhuǎn)速進行初始化。
內(nèi)層回路
內(nèi)層反饋回路負責(zé)控制換向。
馬達驅(qū)動就好像猴子推秋千一樣,需要在恰當(dāng)?shù)臅r候用力?;魻杺鞲衅髫撠?zé)告訴單片機何時用力。全橋驅(qū)動就好像在左邊還有一個猴子,我們還要決定是哪邊的猴子要用力。CWG輸出用于控制定子繞組的激勵,它取決于霍爾傳感器輸出的狀態(tài)(霍爾傳感器輸出將通過比較器與FVR進行比較)。將使能比較器遲滯,以屏蔽傳感器輸出中的噪聲。比較器輸出可在正向全橋模式與反向全橋模式之間切換,從而使電機實現(xiàn)順時針或逆時針旋轉(zhuǎn)。CWG輸出將饋入全橋電路的開關(guān)的輸入。要生成一個電氣周期,必須執(zhí)行一次正反向組合。電機機械旋轉(zhuǎn)一周需要兩個電氣周期,因此必須執(zhí)行兩次正反向組合電機才能完成一次順時針旋轉(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)特性。因此,最好選擇一對互補的MOSFET來匹配上述參數(shù)。
但實際上,由于互補MOSFET的結(jié)構(gòu)不同,無法完全達到此要求;P溝道器件的芯片尺寸必須是N溝道器件的2到3倍才能匹配RDSon性能。但是,芯片尺寸越大,QG的影響也越大。因此,選擇MOSFET時,務(wù)必先確定RDSon和QG二者中哪個對開關(guān)性能的影響更大,然后再相應(yīng)地進行選擇。
故障檢測
若轉(zhuǎn)矩負載超出允許的電機轉(zhuǎn)矩負載最大值,可能會導(dǎo)致電機停轉(zhuǎn),從而使近似短路電流流過繞組。因此,為保護電機,必須實現(xiàn)過流和停轉(zhuǎn)故障檢測。為了實現(xiàn)過流檢測,本設(shè)計中有Rshunt,該電阻會根據(jù)流過電機繞組的電流提供相應(yīng)的電壓。電阻兩端的壓降隨電機電流線性變化。該電壓將饋入比較器的反相輸入并與參考電壓進行比較,參考電壓基于Rshunt電阻與允許的電機停轉(zhuǎn)電流最大值之積。參考電壓可由FVR提供,并可通過DAC進一步縮小。這樣便可以使用非常小的參考電壓,從而將電阻保持在較低水平,進而降低Rshunt的功耗。為了濾除噪聲和保護單片機的IO,Rshunt上的信號通過R8,C5這個低通濾波器接入單片機,會造成一定時間的延遲觸發(fā),可以根據(jù)需要略微調(diào)整低通濾波器的時間常數(shù)。
如果Rshunt電壓超出參考電壓,比較器輸出會觸發(fā)CWG的自動關(guān)斷功能,并且只要故障存在,CWG的輸出便會保持無效狀態(tài)。過溫故障可通過器件的片上溫度指示器進行檢測,溫度指示器的測量范圍為-40?C至+85?C。指示器的內(nèi)部電路會隨著溫度的不同而產(chǎn)生不同的電壓,然后通過ADC將此電壓轉(zhuǎn)換為數(shù)字量。為提高溫度指示器的精確度,可實施單點校準(zhǔn)。
下圖是馬達繞向和電流圖,供debug使用。
外層回路
圖2中所示的外層回路用于控制電機在不同條件下的轉(zhuǎn)速,例如負載需求、干擾和溫度漂移變化等。轉(zhuǎn)速由SMT測量。SMT是一款具有時鐘和門控邏輯的24位計數(shù)定時器,經(jīng)配置可用于測量多種數(shù)字信號參數(shù),如脈沖寬度、頻率、占空比以及兩輸入信號邊沿之間的時間差??赏ㄟ^SMT的周期和占空比采集模式測量電機的輸出頻率。在此模式下,SMT信號的占空比或周期都可基于SMT時鐘進行采集。SMT會計算單個電機旋轉(zhuǎn)周期內(nèi)的SMT時鐘數(shù),然后將結(jié)果存儲于捕捉周期寄存器中。使用該寄存器可獲得電機的實際頻率。將實際轉(zhuǎn)速與參考轉(zhuǎn)速進行比較時,如果實際轉(zhuǎn)速高于設(shè)定的參考轉(zhuǎn)速,則產(chǎn)生正誤差;如果實際轉(zhuǎn)速低于設(shè)定的參考轉(zhuǎn)速,則產(chǎn)生負誤差。此誤差會饋入PI控制器。PI控制器是一種固件算法,用于計算轉(zhuǎn)速偏差的補償值。在初始PWM占空比的基礎(chǔ)上加減此補償值可得到新的占空比值。
主程序框圖:
速度控制框圖:
中斷處理流程:
結(jié)論
在成本敏感型電機控制應(yīng)用中,高效而靈活的單片機可大顯身手。器件效率可針對外設(shè)集成度進行測量,從而優(yōu)化控制任務(wù)、引腳和存儲器數(shù)量以及封裝尺寸。此外,如果需要不同的設(shè)計,易用性和上市時間也會顯得尤為重要。本文介紹了低成本單片機如何滿足上述需求,以及如何通過驅(qū)動器設(shè)置所需的參考轉(zhuǎn)速、預(yù)測轉(zhuǎn)子位置、實現(xiàn)控制算法、測量電機實際轉(zhuǎn)速以及執(zhí)行故障檢測。