STM32 电机教程 20 - 基于ST MC Workbench 无感FOC
前言
????? 磁場定向控制又稱矢量控制(FOC), 本質上為控制定子電流的幅度和相位,使之產生的磁場和轉子的磁場正交,以產生最大的扭矩. PMSM的磁場定向控制框圖如下圖所示:
第19講成功實現了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的單電阻FOC算法實現,本節就給大家介紹使用ST 電機庫實現無感FOC算法讓電機運轉起來。本節工程代碼直接在19講基礎上進行修改即可。
本節所用電機為2836無刷電機,電機有兩組線(hall傳感器線和電機三相線),工作電壓24V,最大轉速12000rpm:
示例詳解
本節用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 開發板。
?
按下圖接好跳線端子(單電阻接線方式):
本節的MotorControl Workbench工程直接用第19講的即可,直接復制上一講生生成工程文件及代碼工程文件,改名為Motor20:
在配置工程之前,先用Motor Profiler 5.3.3工具測量一下電機相關參數,具體操作可看《STM32 電機教程 1 - 用ST Motor Profiler 測量電機參數》一節,測得結果如下:
打開工程文件,按下圖完成配置:
?
速度傳感及位置傳感選擇Sensor-less(observer+pll 或 observer+cordic ):
按上述配置好后,這個時候在Firmware Drive Mangagement 下會多一個Start -up parameters 選項,選擇該選項:
有了前面17-19節的基礎,上面的一些啟動參數保持默認基本都可以了,當然如有特殊需求可自行更改對應的參數,比如想要啟動再快一點,可以適當減小相應的延時,如果想讓電機啟動后初始速度大一點則可以修改目標速度考慮到無感算法在低速時表達不是佳,建議啟動時相應的速度盡量大些,可以增加無感起動的成功率,如下圖是本例所使用的配置參數:
基礎模式:
高級自定義模式:
需要注意的是第19講是采用的單電阻方案,所涉及的一些硬件配置如下(三電阻方案有興趣的同學可以自行去完成相關實驗):
?
確認之后工程會有如下提示信息:
?
進到MCU模擬通道設置窗口看一下,確定配置正確(如下圖)即可!
到這里就可以成生程代碼了:
?
進入MDK-ARM目錄,打開keil 工程:直接編譯工程,編譯成功后下載代碼到開發板,記得勾選下載選項中的復位和運行選項:
程序下載完成后,用MotorControl Workbench工具調節試,操作如下,。
可以看到無感模式下,速度抖動有所增加:
?
OK,本期實驗完成!本節內容到此結束,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,每天都會有技術干貨推出!!
?
文中源碼及資料下載,關注十三公眾號:
在公眾號里給十三發送 “下載|STM32 電機教程 20” :
?
?
總結
以上是生活随笔為你收集整理的STM32 电机教程 20 - 基于ST MC Workbench 无感FOC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 电机教程 19 - 基于ST
- 下一篇: ST CUBEMX 修改MCU型号