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 開發板。

 

    1. 準備操作

按下圖接好跳線端子(單電阻接線方式):

本節的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” :

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章