STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试
前言
????? 磁場定向控制又稱矢量控制(FOC), 本質上為控制定子電流的幅度和相位,使之產生的磁場和轉子的磁場正交,以產生最大的扭矩. PMSM的磁場定向控制框圖如下圖所示:
上一講詳細介紹了磁場定向控制的原理,有興趣的同學可以自己寫代碼去實現它,ST官方對電機的控制有一套完整的庫(最新版本已更新5.3了,開源),該電機庫功能齊全,同時還配備了完整的圖形界面開發工具,配合STCUBEMX工具可直接生生工程代碼,從本節開始,后續的PMSM電機的相關控制將直接以ST電機庫為基礎進行介紹。關于ST電機庫及工具下載與安裝教程請看《STM32 電機教程 0 - MotorControl Workbench下載與安裝》一節。
本節所用電機為2836無刷電機,電機有兩組線(hall傳感器線和電機三相線),工作電壓24V,最大轉速12000rpm:
示例詳解
本節用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 開發板。
?
按下圖接好跳線端子:
打開MotorControl Workbench軟件:
新建一個工程:
然后是配置速度傳感器:
到此就可以生成工程了:
?
如果工程還未保存會先保存工程,工程保存完成后彈出代碼生成窗口:
配置好后點生成:
生成后可在對應的文件夾中看到如下圖所示工程文件:
進入MDK-ARM目錄,打開keil 工程:
直接編譯工程,編譯無誤后,下載并運行代碼!發現電機不轉,正常因為程序沒有讓電機運動,沒關系,我們還可以用MotorControl Workbench 的圖形界面工具讓電機運動起來:
在電腦的設備管理器中找到STLINK對應的端口號:
在Workbench打開電機監視器
上面現象根據經驗,很可能是PID控制器參數過大導致,需要調整參數:
直到響應跟蹤目標曲線速度及穩定后的效果都達到可接受情況時,記住各控制參數值:
將控制參數值,寫回到MotorControl Workbench的控制參數設置界面(Control Unit -> Firmware Drive Management ->Drive Setting ):
?
修改好參數后,更新一下代碼工程:
重新編譯KEIL工程下載,記得勾選下載選項中的復位和運行選項:
下載完成后便可直接按開發板上的藍色控制按鍵來啟動電機:
?
OK,本期實驗完成!本節內容到此結束,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,每天都會有技術干貨推出!!
?
?
文中源碼及資料下載,關注十三公眾號:
在公眾號里給十三發送 “下載|STM32 電機教程 17” :
?
?
總結
以上是生活随笔為你收集整理的STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 电机教程 16 - PMSM
- 下一篇: STM32 电机教程 18 - MC W