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

 

    1. 準備操作

按下圖接好跳線端子:

打開MotorControl Workbench軟件:

新建一個工程:

然後是配置速度傳感器:

到此就可以生成工程了:

 

如果工程還未保存會先保存工程,工程保存完成後彈出代碼生成窗口:

配置好後點生成:

生成後可在對應的文件夾中看到如下圖所示工程文件:

進入MDK-ARM目錄,打開keil 工程:

直接編譯工程,編譯無誤後,下載並運行代碼!發現電機不轉,正常因爲程序沒有讓電機運動,沒關係,我們還可以用MotorControl Workbench 的圖形界面工具讓電機運動起來:

在電腦的設備管理器中找到STLINK對應的端口號:

在Workbench打開電機監視器

上面現象根據經驗,很可能是PID控制器參數過大導致,需要調整參數:

直到響應跟蹤目標曲線速度及穩定後的效果都達到可接受情況時,記住各控制參數值:

將控制參數值,寫回到MotorControl Workbench的控制參數設置界面(Control Unit -> Firmware Drive Management ->Drive Setting ):

 

修改好參數後,更新一下代碼工程:

重新編譯KEIL工程下載,記得勾選下載選項中的復位和運行選項:

下載完成後便可直接按開發板上的藍色控制按鍵來啓動電機:

 

OK,本期實驗完成!本節內容到此結束,也歡迎大家留言!!最後喜歡這個公衆號的同學們記得加關注了,每天都會有技術乾貨推出!!

 

 

文中源碼及資料下載,關注十三公衆號:

在公衆號裏給十三發送 “下載|STM32 電機教程 17” :

 

 

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