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