1 模型仿真與實際應用之間的區別
MBD(Model-Based Design,基于模型的設計)是通過模型生成代碼的,所有我們有必要弄清楚模型仿真與實際應用之間的區別。
仿真模型與實際應用之間的區別本質上是理論與實踐之間的差別,其中的差別可以說是兩個完全不同的話題。
這里又給大家更新三篇與電機控制實踐相關的文章。它們是由NXP的工程師編寫的電機控制應用筆記,可以在NXP官網找到,也可以在對話框中回復關鍵詞“ NXP應用筆記 ”,即可收到相應資源。
這三篇應用筆記分別是:
- 3-Phase Sensorless PMSM Motor Control Kit with S32K144
- 3-Phase Sensorless BLDC Motor Control Kit with S32K144
- 3-phase Sensorless Single-Shunt Current-Sensing PMSM Motor Control Kit with MagniV MC9S12ZVM
*NXP電機控制應用筆記 * - From autoMBD
前兩篇分別以PMSM和BLDC為主題,介紹如何實現無感FOC控制;第三篇講的是單電阻無感控制方案,實現的也是FOC算法,軟件實現上是有一些區別的,也要復雜一些。
Tips :第三篇是基于MagniV MC9S12ZVM的,而不是S32K144,參考這篇文章時,主要學習的是單電阻電機控制方案,這個方案也是完全可以移植到S32K1xx系列上的。
無感控制比有感控制要復雜,將無感的方案稍加改造就可以做出有感的控制方案,所以這三篇應用筆記是很有實踐參考價值的。
這三篇應用筆記給的都是 純代碼開發的方案 ,即介紹了工程實踐中如何從數學原理一步一步實現電機控制,主要內容包括:
下面的這個框圖可以較為全面的展示 第1~4點在電機控制中的實際體現 :系統從外部硬件(電機、逆變器、預驅芯片)起,經過信號采集,再到MCU的外設模塊(白色方塊),再到底層驅動(SDK Driver/橙色方塊),然后進入到FOC的軟件算法部分(綠色方塊),而FOC的輸出經底層驅動、再到外設模塊(FTM模塊)輸出到預驅芯片,從而實現控制。第5點則是調度上述過程的狀態機,關于第5點后文會更一步的講解。
*NXP電機控制軟硬件框圖 * - From NXP
從這五點我們就能引出我們要討論的問題: 模型仿真與實際應用之間的區別到底有哪些 ?
簡單的說,模型仿真只能觸及上述的第1點;如果對建模有更深入的研究,第2點也能做仿真,這部分實際上和硬件電路設計有關,所以很少有在模型仿真中考慮這一點;第3、4、5點就是完全的非理論了,與嵌入式、編程和芯片有較強的關聯,是實實在在的實踐過程。
所以,在袁雷的《現代永磁同步電機控制原理及MATLAB仿真》中是完全不包括第2~5點的內容的。
以電流采樣電阻為例,實際應用場景中,為了測量電流信號的方向,一般會對采樣電阻進行偏置處理。NXP開發的DEVKIT驅動板相電流采樣電阻為例,其電路設計如下圖所示:
*DEVKIT驅動板相電流采樣電阻 * - From NXP
可以看到,偏置電壓為參考電壓的一半,所以最終輸入到芯片ADC的電壓是以偏置電壓為中心對稱的。
根據大于偏置電壓還是小于偏置電壓,可以判定電流是正方向還是負方向。所以在信號處理中還需要將這個偏置電壓減去。
關于電流采樣,還有布置方式的不同,常見的采樣電阻布置方式有以下這些:
- 三電阻下橋臂采樣/相電流采樣
- 雙電阻下橋臂采樣/相電流采樣
- 單電阻母線采樣
Tips :這里列舉了常見采樣電阻布置方式,一般應用中下橋臂采樣較多,相電流采樣多用于高性能、高效率電機控制的場合,而單電阻母線采樣是成本最低,但采樣方式最復雜的。
不同的布置方式,采集的電流是不同的,而控制算法是需要全部的三相電流的。三個采樣電阻可以直接得到三相電流信號,如何通過一個電阻或者兩個電阻得到三相電流數據,也是有方法的。
雙電阻相對來說較為簡單,根據 三相電流和為零 ,可以直接求解出第三相電流。單電阻采樣的場景要復雜很多,具體可以參考 上述的第三篇應用筆記 。
以上關于電流采樣的所有方法,在模型仿真中都沒有考慮,只是一根信號線連接到控制器 ,這就是理論仿真和實踐的巨大區別所在,如下圖所示(摘自袁雷的《現代永......仿真》):
*仿真模型示例 * - From 袁雷
Tips :因為我們要使用MBD的開發方法,所以這里不再深入詳細展開講其他的區別,以后有需要的地方再做提示,有興趣的讀者可以自行參閱上述三篇NXP的應用筆記。
當我們了解了所有理論與實踐之間的區別,輔以嵌入式開發和編程的基礎,一個簡單的電機控制項目就可以實現。
即使是一個產品級的電機控制軟件,也只是再補充通信、故障診斷、功能安全等其他需求的功能。復雜度可能會高很多,但開發和設計的本質框架就是這樣的。
2 MBD拉近模型仿真****與實際應用之間的距離
如果要更加嚴謹地說,上面討論的也只是電機控制算法部分的工程實踐。一個完整的產品應用,硬件設計和 軟件設計 。硬件設計可以交給硬件工程師,我們把重點放在軟件設計上。
上面三篇應用筆記中提到的電機控制實現方案,是屬于軟件設計的一部分。傳統的開發中,就需要將選定的電機控制方案 轉化為一行行的代碼 ,這就又涉及到數學(理論)到編程語言(實踐)之間的轉換。入門門檻高,同時效率也較低。
Tips :以我自己的經歷為例,上述應用筆記內容的代碼實現過程,我是完整的走過一遍的。我從對嵌入式一無所知,到學習嵌入式的基本模塊和開發方法,再到能寫一些基本的嵌入式代碼,花費了3個月的時間,然后又花了差不多1個月的時間,才實現了一個簡單的電機控制嵌入式程序。這還是我對電機控制理論有了足夠的基礎之后的開發效率。
但利用MBD的開發方法,我們可以大大簡化這一步驟。模型我們是比較容易得到的, 利用模型直接生成代碼,能有效地縮近理論和實踐直接的距離 。更多MBD相關的內容,請參考本公眾號 前面幾期內容 ,或者在對話框中回復關鍵詞“ MBD入門 ”。
*MBD的開發流程 * - From ST
如果讀了上述三篇應用筆記,就可以發現,嵌入式軟件設計很多是可以通過建模的方式實現的。這里簡單的把軟件設計分為五類,它的軟硬件層級如下圖所示(軟件為虛線框部分):
*電機軟硬件層級示例 * - From autoMBD
下面是這五類軟件關于MBD建模實現的分析:
- 底層驅動 ,MCU、硬件電路強相關
底層驅動是和芯片和硬件電路設計緊密相關的,比如硬件引腳(Pin腳、外設、端口等)使用的不一樣,底層驅動的配置也就不一樣了。
原則上底層驅動是可以通過芯片廠商提供的MBD硬件支持包來實現的,但從靈活性和效率的角度來說,目前建議通過專門的底層驅動配置工具來配置底層驅動,例如NXP適用于S32K1系列的配置工具Processor Expert。
- 數字信號處理 ,硬件電路弱相關
數字信號處理(Digital Signal Processing,DSP)是將真實世界中的物理量(模擬量,例如電流、電壓等)轉換為控制器需要的量的過程。
還是以電流采樣為例,在前文給的電流采樣電路基礎上,ADC讀到的電壓實際上是一個12 bit的整數,需要將其進行偏置消除以及物理量轉換等操作,有必要的話會需要進行濾波處理。
可以看到,這個過程和硬件電路設計有一定的聯系,硬件設計的不一樣,處理的細節可能存在一定的差異。但基本的信號處理方法是相通的,例如濾波器、積分、微分、移位運算、邏輯運算等。
這一過程是可以通過建模的方式實現,并且信號處理越復雜,模型的優勢就更明顯,畢竟模型很容易搭建,代碼寫起來就很費勁了。
所以我們可以把軟件設計中的這一部分納入到MBD中,通過建模的方式自動生成代碼。
- 電機控制算法 ,硬件電路弱相關
數據信號處理后,將得到的數據傳遞到電機控制算法中。控制算法中一般包括坐標變換、PI控制器、FOC、SVPWM等環節。電機控制算法會得到一個控制輸出量,一般是三相的占空比。
這些環節使用Simulink內置的模塊,或者使用芯片廠商提供的MBD硬件支持包,是可以很方便快捷的實現的。這部分如果要編寫代碼,對初學者來說,甚至對有一定編程基礎的人來說,都算是不小的挑戰。
此外建模可以很方便地調整控制算法的結構,開發初期這是很常見的。手寫代碼的話,每一次調整結構就需要重復工作一遍,效率很低。
因此電機控制算法部分是很適合通過建模生成代碼來實現的。
這里解釋一下電機控制算法****為什么是硬件電路弱相關 。一般來說,通用的電機控制算法是可以做到與硬件電路無關的。
但在某些場景下,例如有的芯片具有硬件加速模塊,或者使用一些特殊的控制算法(無感和有感就有硬件上的差異),可能會影響控制算法的執行,所以電機控制算法和硬件有一定的關聯。
- 狀態機 ,與硬件電路無關
狀態機是與硬件電路完全無關的,而且在Simulink中提供的****Stateflow是專門用于狀態控制建模的工具 ,用它開發狀態機效率可以提高一個檔次。所以狀態機使用MBD來實現也是毫無問題的。
- 其他軟件 ,例如通信、失效檢查等,暫時我們不考慮這部分內容
從上面的分析來看,除開底層驅動,其他軟件部分均可以通過MBD建模的方式實現,并且能大大提高效率。
下圖是較為常見的V型開發流程,參考這個流程就可以開發一個基于MBD的電機控制軟件。
*V型開發流程 * - From ST
-
狀態機
+關注
關注
2文章
492瀏覽量
27486 -
PMSM
+關注
關注
14文章
246瀏覽量
41832 -
BLDC電機
+關注
關注
7文章
211瀏覽量
21447 -
MBD
+關注
關注
0文章
24瀏覽量
8941 -
FOC算法
+關注
關注
1文章
17瀏覽量
9657
發布評論請先 登錄
相關推薦
評論