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