無刷直流(BLDC)電機是一種使用直流電源運行的電機,但它依靠的是電子控制器來切換電機繞組中的電流,而非傳統有刷電機那樣使用電刷。這種設計可以減少磨損,使電機更耐用、更高效。沒有電刷就意味著摩擦更少,因而熱損失也更少。BLDC電機具有效率高、功率重量比大、維護成本低、轉速高、扭矩大、運行安靜的特點,非常適合無人機、風扇、泵和電動汽車(EV)等應用。
然而,BLDC電機需要有電子控制器(如微控制器)、反饋機制(如霍爾效應傳感器)等額外元器件才能工作。為簡化BLDC電機和永磁同步電機(PMSM)的設計,NXP Semiconductors推出了S32M276S系統級封裝(SiP)解決方案,該方案集成了高壓模擬功能和高性能Arm? Cortex?-M7微控制器。NXP的S32M2 BLDC/PMSM電機控制評估板和S32M276SFFRD參考設計板支持該解決方案。
本項目將幫助工程師了解使用NXP S32M276SFFRD參考設計板快速高效打造BLDC電機控制應用原型所需的硬件和軟件棧。
項目材料與資源
項目物料清單 (BOM)
NXP S32M276SFFRD參考設計板
NXP S32調試探針
項目代碼/軟件
S32 Design Studio for S32 Platform v.3.5(需要登錄)
S32M2xx開發包(在S32 Design Studio中提供)
用于S32K3和S32M27x的RTD 4.0.0版
用于S32K3和S32M27x的RTD 4.0.0版P20補丁
項目GitHub代碼庫
其他資源
NXP賬戶(可免費創建)
FreeMASTER運行時調試工具(需要登錄)
用于S32M27X的AMMCLib(需要登錄)
S32M276電機控制應用程序(需要登錄)
其他硬件
運行Windows 10或更高版本的PC
12V – 24V BLDC電機
12V DC/DC電源
瞬時(開)-關-(開)翹板開關
五個6.3mm FASTON連接器(三個用于電機,兩個用于電源)
FTDI TTL-232R-3V3-WE TTL轉USB串行轉換電纜
剝線鉗
壓線鉗
連接線
USB轉UART開關適配器板(可選,設計文件在GitHub代碼庫中)
項目技術概述
NXP S32M276SFFRD參考設計板(圖1)基于NXP S32M276 SiP,該SiP集成了32位Arm Cortex-M7微控制器和帶有穩壓器、柵極驅動器和電流檢測功能的模擬芯片。該參考設計旨在向電機控制應用工程師展示S32M276如何幫助減小印刷電路板(PCB)和BOM尺寸。為便于原型開發,S32M276SFFRD提供用于UART、CAN/CAN FD(使用內部PHY)和JTAG 10引腳連接器等接口的分線板。
圖1:NXP S32M276SFFRD參考設計板。(圖源:貿澤電子)
硬件概述
本節介紹如何連接本項目的各種硬件組件。
將電機連接到開發板
將一個6.3mm FASTON連接器壓接到BLDC電機的A相上。
將第二個6.3mm FASTON連接器壓接到BLDC電機的B相上。
將第三個6.3mm FASTON連接器壓接到BLDC電機的C相上。
將第四個6.3mm FASTON連接器壓接到直流電源的正極線上。
將第五個6.3mm FASTON連接器壓接到直流電源的負極線上。
將電機的A相連接到開發板的A相連接器上。
將電機的B相連接到開發板的B相連接器上。
將電機的C相連接到開發板的C相連接器上。
將電源的負極端子連接到開發板的接地連接器上。
注意:長時間帶負載運行電機可能會導致電機過熱。請連接合適的負載,或者縮短電機運行時間。
將開關連接到開發板
將開發板的VDDE-MCU引腳(圖2)連接到開關的公共端。
將開發板的PTD0引腳連接到開關的高電平端。
將開發板的PTE11引腳連接到開關的低電平端。
圖2:將開關連接到電路板。(圖源:Green Shoe Garage)
將計算機連接到開發板
將JTAG 10引腳連接器電纜的一端插入開發板。
將JTAG 10引腳連接器電纜的另一端插入S32調試探針。
將USB轉UART開關適配器板(圖3)插入開發板。
將適配器板的TX信號(LPUART0_TX)連接到TTL-232R-3V3-WE的黃色RX線。
將適配器板的RX信號(LPUART0_RX)連接到TTL-232R-3V3-WE的橙色TX線。
將適配器板的GND信號連接到TTL-232R-3V3-WE的黑色GND線。
將TTL-232R-3V3-WE的USB Type A端插入PC。
注意:GitHub代碼庫中包含USB轉UART適配器板的Gerber文件,從而更加便于將外部器件(如開關)連接到S32M276SFFRD開發板。
圖3:適配器板可使開發板與外部元器件的連接更加可靠。(圖源:Green Shoe Garage)
軟件概述
本節將介紹更新、測試和運行本項目所需的各種開發應用程序。本文不再重復介紹NXP文檔中的內容,但在計算機上設置開發環境時,請注意以下事項:
下載和安裝軟件時,請使用指定版本(而非最新版本),并遵循安裝順序。軟件安裝錯誤可能導致代碼編譯失敗、軟件啟動失敗或菜單不完整。
請勿嘗試同時運行集成開發環境(IDE)調試器和測試應用程序(如MCAT),因為它們需要使用同一個COM端口。
S32 Design Studio
NXP S32 Design Studio (S32DS) 是一款專為汽車和工業應用定制的IDE。它支持為NXP S32系列汽車微控制器和微處理器開發軟件,這些微控制器和微處理器廣泛應用于各種先進汽車系統,如高級輔助駕駛系統(ADAS)、動力總成和車身控制等。該應用程序基于廣泛采用的Eclipse平臺,可為開發人員提供熟悉的界面。
S32DS提供全面的工具鏈,包括基于GCC的編譯器、調試器以及對S32實時驅動程序(RTD)的支持。它提供驅動程序、RTOS、中間件和硬件抽象層,并支持符合AUTOSAR標準的汽車軟件工具和庫。
FreeMASTER
FreeMASTER是一款多功能實時調試監控器和數據可視化工具,用于配置和優化嵌入式軟件應用程序。它已被汽車主機廠(OEM)和設備制造商廣泛用于各種汽車和工業應用,具有以下主要功能:
非侵入式監控:使用類似示波器的顯示屏、儀表、滑塊和文本數據記錄器實時顯示多個變量
集成:與自定義HTML、MATLAB?、Excel和其他可編寫腳本的框架鏈接,將微控制器(MCU)硬件集成到控制回路中
連接性:使用與Python、Node.js、C/C++/C#等兼容的JSON RPC調用,通過各種通信外設或調試通道連接到目標系統
嵌入式視圖:在桌面應用程序中集成圖表、表格和網頁視圖
電機控制應用調優工具
NXP電機控制應用調優(MCAT)工具(圖4)是一款功能強大的軟件實用程序,設計用于簡化電機控制應用的開發和調優,尤其是在使用NXP電機控制硬件平臺和軟件解決方案時。它提供了直觀的界面,用于實時調整電機控制參數,并可在電機運行時調優控制回路參數。這一功能對于微調性能、盡可能降低扭矩紋波和實現高效率而言至關重要,是電動汽車等應用中電機工程師的寶貴資源。
圖4:NXP MCAT工具有助于調整電機的性能參數。(圖源:NXP)
項目開發
本節將介紹如何修改源代碼以滿足需求。這些代碼還可以作為模板,根據項目的需要進行進一步修改。源代碼可從GitHub代碼庫獲取。
在S32DS中編輯源代碼
修改MCAT測試代碼的主循環,使電機在窗口開關處于活動位置時運行。此代碼假定開關高電平位置為活動,但也可修改為低電平位置為活動。
#include "Siul2_Port_Ip.h"
#include "Siul2_Dio_Ip.h"
#include "actuate_s32m.h"
?
#define MOTOR_ON() ACTUATE_EnableOutput()
#define MOTOR_OFF() ACTUATE_DisableOutput()
?
int main(void)
{
??? // 將PTD0和PTE11引腳初始化為輸入引腳
??? Siul2_Port_Ip_PinSettingsConfig pinConfig = {
??????? .mux = SIUL2_PORT_MUX_AS_GPIO,
??????? .inputBufferEnable = true,
??????? .outputBufferEnable = false,
??? };
??? Siul2_Port_Ip_Init(1, &pinConfig);
?
??? // 主應用程序循環
??? while (1)
??? {
??????? // 讀取PTD0和PTE11的狀態
??????? bool isPTD0High = Siul2_Dio_Ip_ReadChannel(PTD, 0);
??????? bool isPTE11High = Siul2_Dio_Ip_ReadChannel(PTE, 11);
?
??????? // 如果PTD0或PTE11為高電平,則開啟電機
??????? if (isPTD0High)
??????? {
??????????? MOTOR_UP();
??????? }
??????? else if (isPTE11High)
??????? {
??????????? MOTOR_DOWN();
??????? }
??????? else
??????? {
??????????? MOTOR_OFF();
??????? }
??? }
??? return 0;
}
上述代碼重新利用了原本用于霍爾效應傳感器的引腳。這意味著本示例可用于無傳感器配置。
上傳固件
在S32 Design Studio for S32 Platform中導入已安裝的應用程序軟件項目:
啟動S32DS for S32 Platform。
單擊File(文件),然后單擊Import(導入)。
在Import窗口中,展開General(通用)文件夾,然后選擇Existing Projects into Workspace(現有項目導入到工作區)(圖5)。
圖5:在S32DS中添加現有代碼庫。(圖源:NXP)
瀏覽至下載的項目文件所在的文件夾,選擇父項目文件夾。
選中Copy projects into workspace(將項目復制到工作區)復選框(圖6)。
單擊OK(確定),然后單擊Finish(完成)。
圖6:確保選中Copy projects into workspace復選框。(圖源:NXP)
展開項目文件夾,雙擊*.mex文件,在S32配置工具中打開項目配置(圖7)。
圖7:*.mex文件將上傳到被測試的設備。(圖源:NXP)
確保配置了正確的項目,然后單擊Update Code(更新代碼)按鈕生成配置文件(圖8)。
圖8:確保在上傳固件之前選擇了正確的設備。(圖源:NXP)
在S32DS中,單擊C圖標(圖9)返回C/C++視圖。
圖9:C圖標可打開C/C++視圖模式。(圖源:NXP)
單擊調試圖標(圖10)打開Debug Configuration(調試配置)窗口(圖11),選擇預定義的調試配置以構建軟件并上傳到MCU。
圖10:調試圖標可打開Debug Configuration窗口。(圖源:NXP)
圖11:在Debug Configuration窗口中,可以更改固件在調試期間的運行方式。(圖源:NXP)
此時S32DS將切換到調試視圖。
單擊Resume(繼續)圖標(或按F8鍵)運行代碼(圖12)。
單擊Disconnect(斷開連接)(圖12),以避免S32DS IDE調試器和FreeMASTER工具之間的干擾。
圖12:Disconnect和Resume按鈕可用于切換IDE或測試工具是否可訪問被測試的設備。(圖源:NXP)
使用MCAT工具調優電機
NXP MCAT工具是一款功能強大的軟件工具,設計用于簡化電機控制應用(包括使用NXP電機控制硬件平臺的應用)的開發和調試。
瀏覽至FreeMASTER_Control文件夾,雙擊pmpx文件即可打開MCAT工具(圖13)。
圖13:雙擊S32M_PMSM_Sensorless.pmpx文件打開MCAT工具。(圖源:貿澤電子)
選擇正確的微控制器和電機控制配置文件。
在MCAT界面中輸入特定于電機的參數,包括但不限于:
極對數(pp)
額定電壓和電流
最大轉速(RPM)
反電動勢常數和繞組電阻(如果已知)
單擊Output File(輸出文件)選項卡,然后單擊Generate Configuration File(生成配置文件)(圖14)。
圖14:MCAT的Output File選項卡。(圖源:貿澤電子)
按照上傳固件部分的第10到第12步添加新配置。
設置速度和電流回路初始的比例-積分-微分(PID)控制增益。MCAT工具可能會提供默認值。
啟用電機:
設置所需的工作模式(本項目中使用開環或閉環控制)。
逐步提高速度或占空比,確保電機正確啟動。
實時監控關鍵參數,如電壓、電流和速度等。
調整速度和電流回路的PID增益:
先調整比例增益(P),直至響應速度和穩定性達到平衡。
提高積分增益(I),以消除穩態誤差。
必要時提高微分增益(D),以抑制振蕩。
使用MCAT工具的實時反饋(如波形和數值數據)進一步優化調優過程。
注意:MCAT提供級聯驅動結構,支持開環和閉環操作:
標量控制(開環、無反饋)可生成脈寬調制(PWM)信號,用于低速測試。將電機轉速設置為50rpm,然后緩慢提高V/rpm系數,直至電機開始旋轉。
電流磁場定向控制(FOC)模式可評估電流傳感,包括對電流回路PI調節器進行調優。
速度FOC模式可讓用戶對速度回路PI調節器、斜坡響應等進行調優。
電機帶載測試:
對電機施加不同的負載,以模擬實際工況。
監控性能(圖15)并調整參數,以確保穩定性和效率。
圖15:電機帶載測試。(圖源:Green Shoe Garage)
調整啟動參數,如初始占空比、加速度變化率和啟動換向設置,以實現平穩可靠的電機啟動。
驗證安全功能:
測試電機在過流、欠壓或過熱等故障工況下的行為。
調整MCAT工具中的故障閾值,確保電機控制器能夠正常響應。
調優完成后,根據需要重復第4步和第5步,以更新配置文件。
結語
汽車行業的電氣化進程,需要無數的創新以精確的方式結合在一起。其中,降低成本、重量和復雜性對于電動汽車的大規模普及至關重要。NXP S32M276 SiP解決方案將多項關鍵功能集成到單一封裝中,減少了對分立元器件的需求,從而盡可能地降低了系統復雜性,在應對這些挑戰方面發揮了關鍵作用。這種集成通過減少BOM和簡化組裝流程,直接轉化為成本節約。此外,SiP的緊湊性有助于實現整體系統的小型化和輕量化,這對電動汽車尤為重要,因為重量的減輕直接關系到續航里程和性能的提升。
通過在統一封裝中支持高性能計算和先進的電機控制,S32M276還有助于開發更高效的空調控制系統。其優化的架構可精確控制電機、提高能效并降低車輛能耗,從而提升每次充電后的行駛里程,增強電動汽車對消費者的整體吸引力。總之,NXP S32M276等嵌入式系統不僅有助于加快電動汽車的普及步伐,還有助于為更可持續的未來鋪平道路。
?
評論