1前言
最近和一些做汽車水泵/風(fēng)機的客戶交流時,都提到要預(yù)研TMS(熱管理域控制器)方案。希望使用一個高性能的車規(guī)MCU,同時控制三個無刷電機(水泵/風(fēng)扇)、多個有刷電機(空調(diào)風(fēng)門)和多個步進電機(空調(diào)出風(fēng)口/進氣格柵/電子膨脹閥)。
NXP主推的S32K3系列中的雙核MCU---S32K324(主頻160MHz * 2)能夠符合該要求,正好筆者手上有一套立功科技的基于S32K324的TMS方案評估板---S32K3_TriMotor,所以記錄下使用的過程,方便申請了該評估板的讀者快速上手。
2立功科技的TMS方案介紹
2.1 介紹資料
關(guān)于立功科技的TMS方案的特點和演示視頻,如下兩篇文章介紹的比較詳細,推薦閱讀。
2.2 簡要介紹
對立功科技的TMS方案進行下簡要介紹。
- 整體的方案框圖如下:
- 功能特性:
- 優(yōu)勢亮點:
- 控制效率高,極大提高熱量的能量利用效率;
- 器件集成化,極大精簡電子系統(tǒng)布局;
- 大幅減少MCU、線束等數(shù)量,降低車輛生產(chǎn)成本;
- 多個系統(tǒng)集成,方便系統(tǒng)管理;
- 響應(yīng)速度快,增強安全性。
3S32K3_TriMotor評估板測試
立功科技的S32K3_TriMotor有兩種配套程序,
- 一套用于客戶前期評估,基于NXP官方的S32K324三電機例程進行移植(主要是適配外圍的三相驅(qū)動),簽訂保密協(xié)議后免費提供。
- 一套用于客戶量產(chǎn)使用,需要付費購買。
3.1 環(huán)境搭建
使用S32K3_TriMotor對應(yīng)的免費例程需要準(zhǔn)備的環(huán)境如下:
- IDE:S32 Design Studio for S32 Platform 3.4 或 3.5
- 軟件包:RTD 2.0.0
- 調(diào)試器:Jlink(推薦安裝下J-Flash V7.70a) 或 multilink
- 調(diào)試工具:Freemaster 3.2
推薦使用S32DS 3.5 + RTD 2.0.0,但是筆者在S32DS 3.5已經(jīng)安裝了RTD 3.0.0,如果安裝RTD 2.0.0會導(dǎo)致原本基于RTD 3.0.0的工程不可用。所以后文使用S32DS 3.4 + RTD 2.0.0進行演示,S32DS 3.5 + RTD 2.0.0類似。
S32 Design Studio for S32 Platform 3.4安裝
- S32DS 3.4下載地址為: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-3-4 ,瀏覽器打開并登錄NXP賬號,選擇如下版本:
- 點擊Previous選擇S32DS3.4版本。
- 選擇windows版本的安裝包并下載。
- 點擊 License Keys ,在彈出的界面找到激活碼并保存好,在安裝時會用上。(一個激活碼最多使用101臺機器)
- 點擊安裝包進行安裝,安裝過程中需要輸入激活碼時使用前面保存的激活碼即可,并選擇online激活的方式。
RTD 2.0.0安裝
- 打開S32DS 3.4,選擇好workspace,并勾選作為默認(rèn)工作區(qū)。
- 等待S32DS 3.4檢查更新。
- 更新檢查完之后,會彈出可更新以及已安裝的組件。勾選S32K3 RTD AUTOSAR 4.4 Version 2.0.0,點擊install/update。同時去掉always show的勾選,這樣就不會每次打開彈出更新檢查的界面。
- 所有相關(guān)的組件都會自動加入更新列表,點擊next,再點擊finish進行更新。
- 更新完之后重啟下S32DS 3.4,點擊Help->S32DS Extensions and Updates
- 點擊Installed,查看已安裝的組件是否齊全。
Freemaster 3.2
Freemaster 3.2的下載地址如下, https://www.nxp.com/design/software/development-software/freemaster-run-time-debugging-tool:FREEMASTER ,選擇3.2版本即可(筆者試過2.5版本打開例程的.pmpx文件會有問題)。
3.2 例程測試
- 解壓立功科技提供的例程,名稱為:
- MCTPTX1AK324_Triple_PMSM_RDB_230526a.zip
- 將解壓后的文件夾復(fù)制到S32DS 3.4的workspace,并復(fù)制其所在的路徑。
- 打開S32DS 3.4,按下圖方式打開例程。
- 兩個工程分別是內(nèi)核0和內(nèi)核1的工程,依次選擇兩個工程并點擊Debug Flash,如果工程ok,會在控制臺看到編譯生成的elf文件。
- 雙擊打開S32K_PMSM_Sensorless.pmpx文件(如果無法打開,可以先打開freemaster,再選擇File->Open Project,選擇對應(yīng)的工程),整體界面如下:
立功科技提供的免費例程用于驅(qū)動三個參數(shù)相同的電機,只需要在MCAT界面輸入對應(yīng)的電機參數(shù)、電流環(huán)參數(shù)、速度環(huán)參數(shù)等,在Output File界面就可以更新/生成工程需要的PMSM_appconfig.h文件。
關(guān)于MCAT界面的參數(shù),NXP官網(wǎng)有一份應(yīng)用筆記AN4642詳細介紹如何使用和修改。鏈接為:*https://www.nxp.com/webapp/Download?colCode=AN4642&location=null*
關(guān)于電機本體參數(shù)的測試方法,可以參考NXP官網(wǎng)的AN4680應(yīng)用筆記,鏈接為:*https://www.nxp.com/webapp/Download?colCode=AN4680&location=null*
3.3 例程適配
目前筆者手上有兩個參數(shù)不同的電機,需要對立功科技提供的例程進行一些適配工作才能正常運轉(zhuǎn)。具體適配工作如下:
- 結(jié)合兩個電機M1、M2的參數(shù),使用MCAT工具配置生成對應(yīng)的文件,分別為M1_PMSM_appconfig.h和 M1_PMSM_appconfig.h ,并添加到內(nèi)核0工程下的src/config文件夾下:
- 然后將M1_PMSM_appconfig.h和M1_PMSM_appconfig.h中的宏定義分別加上M1和M2前綴,方便后續(xù)調(diào)用。
- 整個例程中需要用到MCAT生成的參數(shù)有如下四個函數(shù),都在mianc.c中定義的:
static tBool CalcOpenLoop(openLoopPospe_t *openLoop, tFloat speedReqRamp);
static void M1_MCAT_Init(motorControl_t *pMC);
static void M2_MCAT_Init(motorControl_t *pMC);
static void M3_MCAT_Init(motorControl_t *pMC);
- MCAT初始化函數(shù)改起來比較方便,只需要將內(nèi)部的賦值宏定義加上M1或者M2的前綴即可。
M1_MCAT_Init函數(shù)修改
M2_MCAT_Init函數(shù)修改
- CalcOpenLoop函數(shù)實現(xiàn)如下所示,里面調(diào)用了WEL_MAX變量,但是因為三個電機的狀態(tài)機中都使用了該函數(shù),但是函數(shù)參數(shù)中沒有和WEL_MAX參數(shù)相關(guān)的,無法實現(xiàn)每個電機的狀態(tài)機調(diào)用的是匹配自己的WEL_MAX。
static tBool CalcOpenLoop(openLoopPospe_t *openLoop, tFloat speedReqRamp)
{
openLoop- >wRotEl = speedReqRamp;
openLoop- >thRotEl = MLIB_Mul(MLIB_ConvertPU_FLTF32(GFLIB_IntegratorTR_F32(MLIB_ConvertPU_F32FLT(MLIB_Div(speedReqRamp, WEL_MAX)),
&(openLoop- >integ))),
FLOAT_PI);
return (true);
}
- 所以需要修改下CalcOpenLoop函數(shù),同時調(diào)用該函數(shù)的地方也需要做相應(yīng)的修改。整個的調(diào)用關(guān)系如下圖:
- 同時在MCAT初始化函數(shù)的最后進行對應(yīng)電機的WEL_MAX參數(shù)賦值以及增加結(jié)構(gòu)體的成員:
static void M1_MCAT_Init(motorControl_t *pMC)
{
......
pMC- >MotorParamInof.Wel_Max = M1_WEL_MAX; //增加
}
static void M1_MCAT_Init(motorControl_t *pMC)
{
......
pMC- >MotorParamInof.Wel_Max = M2_WEL_MAX; //增加
}
- 然后保存編譯,生成新的內(nèi)核0的elf文件。
3.4 雙核燒錄
- 將使用jlink連接PC和demo板,打開j-flash,選擇S32K324,如下圖。
- 點擊Open data file,選擇M0內(nèi)核的elf文件。
- 等待M0內(nèi)核的elf加載完之后,選擇Merge data file,選擇M1內(nèi)核的elf文件。
- 兩個elf合并成功會在log窗口有提示,接著點擊connect,成功之后按F7燒錄即可。
3.5 測試
將demo板連接上M1和M2電機,注意代碼中的M1,M2電機參數(shù)要和實際硬件連接的匹配上,然后按如下步驟進行測試。
- 使用freemaster打開pmp文件;
- 選擇剛剛編譯的內(nèi)核0的elf文件;
- 將PC和評估板通過USB-TypeC線連接上,并在freemaster界面選擇對應(yīng)的COM口(如果只顯示為串行設(shè)備,沒有XR的字樣,需要裝一下驅(qū)動);
- 忽略彈出的警告,并點擊Go按鈕連接評估板;
- 設(shè)置兩個電機的目標(biāo)速度,并打開電機,運行一段時間之后的界面如下圖:
-
mcu
+關(guān)注
關(guān)注
146文章
16888瀏覽量
349929 -
步進電機
+關(guān)注
關(guān)注
150文章
3089瀏覽量
147266 -
熱管理
+關(guān)注
關(guān)注
11文章
427瀏覽量
21715 -
無刷電機
+關(guān)注
關(guān)注
57文章
818瀏覽量
45696 -
立功科技
+關(guān)注
關(guān)注
0文章
26瀏覽量
5660
發(fā)布評論請先 登錄
相關(guān)推薦
評論