從遠程物聯(lián)網(wǎng) (IoT) 控制的車(chē)庫開(kāi)門(mén)器和車(chē)窗到衛星推進(jìn)控制器,無(wú)刷直流 (BLDC) 電機越來(lái)越多地用于許多不同的應用。對于BLDC電機,設計人員面臨的問(wèn)題是驅動(dòng)電機所需的控制算法很復雜,而且往往是專(zhuān)用的。這使得一般工程師很難在合理時(shí)間內啟動(dòng)并運行這種電機。
開(kāi)發(fā)人員通常只能選擇在微控制器上運行的基于軟件的解決方案(這是一種靈活的軟件解決方案,但也給微控制器帶來(lái)了計算負擔),或者使用專(zhuān)用集成電路 (IC)。后者封裝了完整的BLDC電機控制功能,并將BLDC控制從主機轉移到其中。
本文首先討論基于微控制器的軟件解決方案和專(zhuān)用硬件芯片解決方案之間的區別,隨后深入探討如何使用Allegro MicroSystems的A4964KJPTR-T——專(zhuān)為簡(jiǎn)化汽車(chē)應用BLDC電機控制而設計的電機驅動(dòng)器。本文將展示如何與A4964KJPTR-T交互,以及一些避免意外行為的最佳做法。
BLDC電機極簡(jiǎn)介紹
BLDC電機在廣泛的速度范圍內提供高效扭矩輸送,噪音小,沒(méi)有有刷電機的機械摩擦。BLDC電機由電流而非電壓控制,用途廣泛,其形狀、尺寸和成本也因應用不同而各異。
例如,TRINAMIC MoTIon Control的QBL4208-41-04-006是一款24V、4000RPM的電機,可提供高達0.06Nm的扭矩(圖1)。該電機很輕巧(0.662lb),并為開(kāi)發(fā)人員提供了多種電機控制選擇,如通過(guò)使用反電動(dòng)勢 (BEMF) 的無(wú)傳感器操作,或使用能報告位置的內置傳感器。
圖1:QBL4208-41-04-006是一款24V、4000RPM BLDC電機,最高速度下可提供略高于0.06Nm的扭矩。(圖片來(lái)源:TRINAMIC MoTIon Control GmbH)
如需更大扭矩,設計人員可以使用QBL4208-41-04-025,這款電機也是來(lái)自TRINAMICMoTIon Control(圖2)。這是一款24V、4000RPM BLDC電機,可提供略高于0.25Nm的扭矩。
圖2:TRINAMIC MoTIon Control的QBL4208-41-04-025是一款24V、4000 RPM BLDC電機,最高速度下可提供略高于0.25Nm的扭矩。(圖片來(lái)源:TRINAMIC Motion Control GmbH)
BLDC電機通過(guò)三相線(xiàn)驅動(dòng),產(chǎn)生磁場(chǎng),磁場(chǎng)再推動(dòng)永久磁鐵,使定子移動(dòng)并轉動(dòng)電機。
理論上,這聽(tīng)起來(lái)很容易,但實(shí)際上,驅動(dòng)BLDC電機相當復雜,開(kāi)發(fā)人員只能選擇使用軟件框架來(lái)驅動(dòng)電機,或者選擇專(zhuān)用芯片解決方案。
軟件與專(zhuān)用芯片解決方案
在解決如何轉動(dòng)BLDC電機的問(wèn)題時(shí),開(kāi)發(fā)人員應該考慮若干因素。這些因素基本上可歸結為:
BOM成本與人工成本
電路板復雜性與軟件復雜性
維護時(shí)間和成本
從硬件的角度來(lái)看,走軟件路線(xiàn)可能非常有吸引力,因為專(zhuān)用芯片解決方案會(huì )給BOM增加一些額外的成本。若不使用專(zhuān)用芯片,則能去掉該成本,花很少的錢(qián)去買(mǎi)微控制器,把所有控制算法放進(jìn)該微控制器里。這似乎是雙贏(yíng)的做法,但團隊往往沒(méi)考慮到該決定的全部后果。
是的,BOM成本降低了,但微控制器上增加了額外負擔,要處理BLDC狀態(tài)數據并持續驅動(dòng)電機。如果微控制器還要對其他傳感器進(jìn)行采樣、與無(wú)線(xiàn)電通信以及控制其他設備,那么稍不注意,軟件開(kāi)發(fā)和維護成本就可能突飛猛漲。
不過(guò),微控制器中基于軟件的解決方案具備靈活性,因為團隊可以微調其電機控制算法。使用軟件也并不意味著(zhù)事情總會(huì )趨于極度復雜。
例如,通常情況下,將電機控制算法移入微控制器會(huì )占用更多的RAM,并需要大量閃存。然而,如果團隊使用專(zhuān)為電機控制而設計的微控制器,如Texas Instruments的F280049CRSHSR電機控制微控制器,算法已內置在微控制器ROM的庫中。這意味著(zhù)向應用程序添加的額外代碼只有對庫進(jìn)行訪(fǎng)問(wèn)的函數調用,所有繁重的工作都由該庫完成。
不過(guò),轉動(dòng)BLDC電機不僅是軟件的問(wèn)題,還需要硬件。圖3顯示了使用C2000微控制器的應用實(shí)例,其中F280049CRSHSR是該系列的成員。此圖說(shuō)明了驅動(dòng)BLDC電機所需的一切以及可選項。除了微控制器,還需要某種三相功率級,用來(lái)驅動(dòng)BLDC電機的三個(gè)相位,使電機轉動(dòng)。
圖3:Texas Instruments的C2000微控制器專(zhuān)為電機控制應用而設計。此圖為應用實(shí)例,中間是微控制器,其余為驅動(dòng)BLDC電機的必需和可選電路。(圖片來(lái)源:TexasInstruments)
利用微控制器驅動(dòng)電機無(wú)疑具有吸引力,但專(zhuān)用硬件解決方案怎么樣呢?我們來(lái)看看Allegro MicroSystems的A4964KJPTR-T電機驅動(dòng)器芯片。
Allegro MicroSystems的A4964KJPTR-T電機驅動(dòng)器
Allegro MicroSystems的A4964KJPTR-T電機驅動(dòng)芯片是專(zhuān)用BLDC電機驅動(dòng)器,其中包含了驅動(dòng)電機所需的所有能力(圖4)。該芯片專(zhuān)為汽車(chē)應用而設計,并與N溝道MOSFET搭配使用,具有無(wú)傳感器啟動(dòng)和換向功能,因此需要的外部硬件極少。A4964KJPTR-T的工作電壓范圍也很廣,從5.5V至50V,不僅適用于汽車(chē)系統,而且幾乎涵蓋了所有標準應用。
A4964KJPTR-T最引人注目的特性或許是,它能通過(guò)串行外設接口 (SPI) 與微控制器或中央電子控制單元 (ECU) 相連接,以配置電機運行的各種寄存器。顯然,該微控制器不需要像運行電機控制算法本身的微控制器那樣強大。
圖4:A4964KJPTR-T BLDC電機驅動(dòng)器工作電壓為5.5V至50V,提供無(wú)傳感器啟動(dòng)和換向。電機速度可通過(guò)SPI或專(zhuān)用PWM信號進(jìn)行配置。(圖片來(lái)源:AllegroMicroSystems)
另外,很有意義的是,A4964KJPTR-T電機速度也可以在沒(méi)有SPI的情況下驅動(dòng),只需提供脈沖寬度調制 (PWM) 信號即可。它有非易失性存儲器可以存儲電機設置,上電時(shí)加載這些設置,允許只用PWM信號來(lái)控制電機。
從配置角度而言,A4964KJPTR-T有32個(gè)可尋址16位寄存器,外加一個(gè)狀態(tài)寄存器。狀態(tài)寄存器很獨特,每次SP讀/寫(xiě)操作時(shí)傳輸前5位,以便軟件可以檢查一般狀態(tài),了解是否有任何故障或問(wèn)題。對芯片執行寫(xiě)操作時(shí),A4964KJPTR-T不會(huì )回傳數據,因此可以讀取所有狀態(tài)寄存器。
在32個(gè)可尋址寄存器中,還有兩個(gè)特殊寄存器。寄存器30是只寫(xiě)寄存器,寄存器31是只讀寄存器。只寫(xiě)寄存器允許開(kāi)發(fā)人員以0 – 1023之間的值設置需求輸入,即驅動(dòng)電機的占空比速率。只讀寄存器的數據根據寫(xiě)入寄存器29(即回讀選擇寄存器)的請求數據而改變。該寄存器允許檢索各種遙測信息,例如:
診斷
電機速度
平均供電電流
供電電壓
芯片溫度
需求輸入
應用的橋峰值占空比
應用的相位前移
除了這些特殊寄存器,其余30個(gè)寄存器允許對具體的電機應用進(jìn)行調整,并允許使能或禁用故障,如限流和柵極驅動(dòng)故障。
專(zhuān)用電機驅動(dòng)器很有意義,其將運行電機所需的各種配置都存儲在幾十個(gè)配置寄存器中。這極大地消除了微控制器原本會(huì )產(chǎn)生的軟件開(kāi)銷(xiāo),也許更重要的是,還極大地降低了軟件開(kāi)發(fā)和維護成本。驅動(dòng)BLDC不過(guò)是發(fā)送PWM(這不會(huì )造成微控制器的任何開(kāi)銷(xiāo)),或者使能電機位并提供基于SPI的需求輸入來(lái)轉動(dòng)BLDC。
A4964KJPTR-T使用技巧與訣竅
A4964KJPTR-T的連接很簡(jiǎn)單,以下是開(kāi)發(fā)人員應牢記的幾個(gè)“技巧與訣竅”,可以簡(jiǎn)化和加快他們的開(kāi)發(fā),例如:
狀態(tài)寄存器在每次寫(xiě)入芯片時(shí)都會(huì )通過(guò)SPI接口返回,而不是用作專(zhuān)門(mén)的可尋址寄存器。這意味著(zhù)驅動(dòng)代碼在寫(xiě)入芯片時(shí)需要監控SPI總線(xiàn)SDO線(xiàn)路以獲得狀態(tài)信息。
故障信息包括在狀態(tài)寄存器中,但當微控制器提供地址訪(fǎng)問(wèn)信息時(shí),在前五位中可以看到每次SPI事務(wù)的芯片狀態(tài)概覽。此數據可用于確定是否出現任何問(wèn)題。
存儲器映射中有兩個(gè)獨特的寄存器,一個(gè)只讀,一個(gè)只寫(xiě)。這很簡(jiǎn)單,但要注意不要試圖讀取只寫(xiě)寄存器,這樣做會(huì )把讀序列中的任何偽數據寫(xiě)入該寄存器中。
該芯片有非易失性存儲器,可用于存儲默認參數。這些參數被加載到RAM中,并在啟動(dòng)時(shí)使用。為確保芯片最有效地啟動(dòng)進(jìn)入就緒狀態(tài),應將“安全”啟動(dòng)值寫(xiě)入芯片。
如果終端設備在嘈雜或重輻射環(huán)境中使用,那么設計應用程序代碼定期重新確認配置數據是不錯的主意。芯片配置存儲在RAM中,這意味著(zhù)它很容易受到宇宙射線(xiàn)、位反轉以及所有可能發(fā)生在電子產(chǎn)品中的奇怪、罕見(jiàn)事件的影響。
本文小結
用于汽車(chē)、物聯(lián)網(wǎng)或其他應用的BLDC電機實(shí)現相當普遍,但驅動(dòng)會(huì )很復雜。為了應對軟件復雜性,開(kāi)發(fā)人員可以使用專(zhuān)用BLDC電機驅動(dòng)器,如A4964KJPTR-T,其中封裝了所有電機控制功能。
雖然仍然需要軟件與芯片交互,但運行軟件的微控制器只需要設定配置設置,A4964KJPTR-T就會(huì )負責驅動(dòng)電機。嘗試使用A4964KJPTR-T時(shí),開(kāi)發(fā)人員會(huì )發(fā)現,遵循所提供的“技巧與訣竅”可以幫助節省不少時(shí)間,避免許多麻煩。 |