藉助軟硬體組合套裝,在一小時內建構 BLDC 馬達並運作

作者:Jacob Beningo

資料提供者:DigiKey 北美編輯群

在國防、工業與機器人產業中,許多應用都要求嵌入式系統採用無刷 DC (BLDC) 馬達。讓馬達轉動看似是小事一樁,但是當開發人員想要獲得最佳的馬達驅動、扭矩、電氣特性和電磁屬性,以及電流回授測量時,這其實是一個複雜的問題,可能會拖慢專案進度。

假設開發人員已經選取合適的硬體來執行演算法,能以最少的元件數,順暢控制應用的整個運動範圍,進而驅動馬達。

那開發人員就需要找到一個捷徑,能讓其透過多功能合一的軟硬體套裝,大幅縮短開發時間並專注於終端應用,而不用深入瞭解馬達控制的細節。

本文將介紹一個由 Texas Instruments 推出的類似套裝,其中將該公司的微控制器以及開發套件硬體,與其 InstaSPIN™ 磁場導向馬達控制軟體和工具整合在一起。然後,還將說明新手開發人員如何使用此組合,在一個小時內輕鬆確定馬達參數,並啟動複雜的 BLDC 馬達。

InstaSPIN-FOC 是什麼、真的是這麼簡單易用嗎?

Texas Instruments 的 InstaSPIN 解決方案的獨到之處在於,開發人員就算從零開始,也能在一小時內從無打造出轉動的馬達。事實上,用過此解決方案的開發人員,即使只用過一次,也可在十分鐘內啟動馬達。另外,由於該套件採用磁場導向控制 (FOC) 而非編碼器,開發人員僅需要接上電源、將馬達接地,然後連接每個驅動相位。此時,電氣連接即準備就緒,無需連接任何編碼器或其他複雜的電子裝置。

當然,除了 FOC,還有其他不使用感測器或編碼器的控制機制,例如反電動勢零交叉計時。但是,InstaSPIN 能監控馬達的通量,決定何時進行馬達換向。開發人員可在繪圖視窗中查看通量訊號,並設定「通量閥值」滑桿,指定馬達應在何種通量位準下進行換向。此外,該視窗還顯示相位電壓及電流波形,可用來確認最佳的換向。

InstaSPIN-FOC 解決方案共有四個主要部分:

  • 微控制器板
  • 馬達驅動器板
  • InstaSPIN-FOC 圖形使用者介面 (GUI)
  • BLDC 馬達

微控制器板提供核心智慧,可執行 FOC 演算法,並告知馬達驅動器何時開啟和關閉各個馬達相位,同時處理與 GUI 的通訊,讓開發人員透過 GUI 檢視通量位準及其他參數。馬達驅動器則提供驅動實際馬達的介面,其中包含多個電路,不僅能為微控制器提供高電壓保護、執行測量作業,而且還能偵測馬達故障。

InstaSPIN-FOC GUI 是個通用 GUI,可在 Texas Instruments 的線上開發圖庫中找到。開發人員可直接從網頁瀏覽器執行 GUI,也能將可在本機上執行的版本下載至電腦。

最後,還有實際的三相永磁 BLDC 馬達。

讓我們來詳細檢視各個部份,並探討潛在的硬體解決方案,以啟動 BLDC 馬達。

BLDC 馬達驅動器與微控制器

有多種不同的解決方案可供開發人員驅動 BLDC 馬達,這讓設計人員省了不少力氣:只需將 TI 的 InstaSPIN-FOCMotorControl SDK 與其 LAUNCHXL-F280049C TMS320F280049C LaunchPad (圖 1) 以及 BOOSTXL-DRV8323RS LaunchPad 提升套件搭載即可。TMS320F28049C LaunchPad 是一款低成本開發板,內含板載 XDS110 除錯器、擴充排針座,以及 F280049CPMS TMS320F280049C Piccolo™ 微控制器。

Texas Instruments 的 TMS320F280049C LaunchPad 圖片圖 1:TMS320F280049C LaunchPad 內含隔離式 USB XDS110 除錯探針、F280049C Piccolo 微控制器,以及可供電給兩個提升套件的電子器件,而套件可用於特定應用的硬體。(圖片來源:Texas Instruments)

TMS320F280049C 微控制器採用 C2000 微控制器核心,包含 256 KB 快閃記憶體、100 KB RAM,且工作頻率為 100 MHz。此外,TMS320F280049C 還在 ROM 中內置 TI 的 FOC 馬達控制演算法,因此開發人員無需浪費寶貴的程式碼空間。

TMS320F280049C LaunchPad 並非開發人員運用 TMS320F280049C 微控制器的唯一方式。此外,還可使用 TMS320F280049C 微控制器的 TMDSCNCD280049C 控制卡 (圖 2)。此卡可用在原型開發階段;也可供希望有更多靈活性或更多擴充性的開發人員使用,使其能夠更換自己在應用中使用的微控制器。該控制卡可置於擴充底座內,供開發人員存取微控制器 I/O。

Texas Instruments 的 TMS320F280049C 控制卡圖片圖 2:TMS320F280049C 控制卡採用小型的模組封裝,不僅能提供馬達控制能力,還可搭載擴充底座,存取微控制器的 I/O。(圖片來源:Texas Instruments)

DRV8323RS LaunchPad 提升套件是一款裝在 TMS320F280049C LaunchPad 上面的擴充板,可增加驅動 BLDC 馬達所需的其他硬體 (圖 3)。

Texas Instruments 的 DRV8323RS LaunchPad 提升套件圖片圖 3:DRV8323RS LaunchPad 提升套件含有馬達驅動控制器、FET,以及用於驅動 BLDC 馬達的附加電路。(圖片來源:Texas Instruments)

DRV8232RS 板可裝在位置 1 或位置 2 擴充區,但是位置 1 是 MotorControl SDK 範例假定的預設位置。開發人員可透過三種端子形式的連接器,將 BLDC 馬達接到該板上,然後為其提供外部電源來驅動馬達。DRV8232RS LaunchPad 提升套件也可為 TMS320F280049C 板供電。該板內含顯示電源是否開啟的 LED,以及故障偵測 LED。

DRV8232RS LaunchPad 提升套件的核心是 DRV8230 三相智慧閘極驅動器。該閘極驅動器可為額定電壓高達 60 V 的 MOSFET,提供低側電流感測及直接驅動。

藉由 TMS320F280049C LaunchPad 及 DRV8232RS LaunchPad 提升套件,開發人員可驅動各種 BLDC 馬達。Trinamic 公司的 QBL4208-41-04-006 是款非常適合入門使用的馬達 (圖 4)。

Trinamic 馬達採用 24 V 電源供電,旋轉速度達 4000 RPM,並可提供 62.5 mNm 的扭矩。

Trinamic 的 QBL4208-41-04-006 4000 RPM BLDC 馬達圖片圖 4:Trinamic 的 QBL4208-41-04-006 4000 RPM BLDC 馬達採用 24 V 電源供電,並可產生 62.5 mNm 的扭矩。(圖片來源:Trinamic Motion Control GmbH)

現在,我們已經知道開發人員實作 BLDC 馬達控制所需的最低配置,下一步便是瞭解如何使用 InstaSPIN-FOC GUI 識別馬達的參數。

識別 BLDC 馬達參數並啟動馬達

在 InstaSPIN-FOC GUI 能夠驅動馬達之前,還需要瞭解馬達特性,才能針對速度或扭矩執行 FOC 控制。要達到此目的,演算法需要知道以下特性:

  • 電阻值
  • 電感值
  • 馬達通量
  • 磁化電流

這些特性可由 InstaSPIN-FOC GUI 自動確定,整個過程僅需幾分鐘。該 GUI 可以在瀏覽器中執行,在預設情況下,會載入搭配 TMS320F280049C 和 DRV8232 擴充板執行的 MotorControl SDK Lab 5。Lab 5 將展示開發人員如何才能識別馬達並取得其參數。有關完整的細節,請參閱 GUI 快速入門指南及實驗室手冊。

首先,開發人員需要透過 TI 的開發者網站開啟 InstaSPIN-FOC GUI。隨後,開發人員會在 GUI 環境內發現一個執行按鈕,就像任何開發 IDE 一樣。按下此按鈕,即可將馬達識別程式碼下載到 LaunchPad 並嘗試執行。

一開始不會有任何特別的動作,因為開發人員需要先啟用軟體。若要啟用軟體,請勾選 GUI 中的「Enable System」(啟用系統) 核取方塊。此時,馬達識別程式碼還是不會執行,因為還需要勾選「Run」(執行) 核取方塊。啟用「Run」(執行) 後,程式碼開始執行用於識別馬達的序列。程式碼將執行必要的測量以取得馬達運作所需的參數。整個識別程序需要數分鐘,在此期間,馬達會加速旋轉,然後減速旋轉,並以低速運行數分鐘。

完成此程序後,開發人員會得到類似圖 5 的 GUI。

InstaSPIN-FOC 在識別出馬達後不久的 GUI 圖片圖 5:InstaSPIN-FOC 在識別出馬達後不久的 GUI。(圖片來源:Jacob Beningo)

請注意,在圖 5 中,GUI 的右上角已填充多個值。這些值都是需要記下來的馬達參數。以後在扭矩或速度模式下驅動馬達時,會用到這些參數。另外,您也會注意到,左側的「Motor Identified」(馬達已識別) 指示器已從灰色變成綠色。此時,我們就可以透過 GUI 直接控制馬達轉速。

只需更改 GUI 上的「speedRef(Hz)」(速度參考) 方塊即可控制馬達轉速。 請注意,此參考控制可以很快地將馬達加速;而要減速,則需要輸入多個設定點,且確保 speedRef 越來越小。透過取消勾選「Run」(執行) 核取方塊,可以完全停止馬達。

結合使用 BLDC 馬達和 TI 的 InstaSPIN-FOC 之秘訣與技巧

以下是開發人員使用 BLDC 馬達及 TI 的 InstaSPIN-FOC 解決方案時,應考慮的幾個最佳作法:

  • 選擇將馬達演算法內置於內部快閃記憶體的微控制器。這可減少馬達演算法所用的程式碼空間,同時還可提升執行效能。
  • 在 F280049C Launchpad 上,使用位置 1 作為 DRV8323RS Launchpad 提升套件的預設位置。若要使用位置 2,則需要對軟體進行更新。
  • 留些時間,瀏覽 TI 的 MotorControl SDK 所提供的全部 13 個範例實驗室。這些實驗室的內容相當齊全,包括識別馬達參數,以及透過速度和扭矩控件控制馬達等。
  • 使用 Lab 5 範例找出您自己的馬達參數。如果使用 MOTOR_TYPE_PM,請確保您還新增了下列定義,以便成功地編譯實驗室,然後使用調整過的值:

    define #define USER_MOTOR_INERTIA_Kgm2           (7.06154e-06)

  • 使用 InstaSPIN-FOC 線上 GUI 開始 BLDC 實驗。

結論

驅動 BLDC 馬達以控制扭矩或速度可能是個複雜的問題,很容易超出嵌入式軟體工程師的專業範圍,進而拖慢專案的開發。如前文所示,使用 Texas Instruments 的 InstaSPIN 和 MotorControl SDK 以及相關硬體後,開發人員即便對控制工程所知有限,也能快速且輕鬆地啟動 BLDC 馬達。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo 是嵌入式軟體顧問,目前與超過十幾個國家的客戶合作,透過產品品質、成本和上市時間的改善,促成業務的大幅轉型。他曾在嵌入式軟體開發技術上發表超過兩百篇文章,是深思熟慮的講師和技術培訓師,共擁有三個學位,包括密西根大學的工程碩士學位。歡迎透過以下方法洽詢,電郵:[email protected]、網站:www.beningo.com,亦可登記取得他發行的Embedded Bytes 每月電子報

關於出版者

DigiKey 北美編輯群