基于STM32的永磁同步電機伺服控制器設計
基于STM32F407芯片的交流伺服控制器,采用基于永磁電機動態解耦數學模型的矢量控制一場定向控制算法(FOC)。在進行交流伺服控制器的軟件設計時,可使用ST公司的圖形化芯片外設配置軟件Microxplorer進行STM32F407芯片的選型及外設配置、初始化代碼的生成;在PMSM電機的FOC算法設計階段可參考ST公司的PMSMFOC Library和Standard Peripherals Labrary-CMSlS進行開發,并且ST公司提供了DSP算法庫以供開發者使用;在系統的調試階段由于電機控制的特殊性,不能在電機運行時設置斷點進行調試,為此可采用ST公司的STMStudio軟件進行實時變量監控及可視化調試。
本文引用地址:http://www.104case.com/article/246284.htm1.3.1 交流伺服控制器軟件應具有的功能
交流伺服控制器軟件應實現以下功能:
◆系統位置控制、速度控制和電流控制;
◆與上位機通信功能;
◆過流、過壓、欠壓的保護及故障指示。
伺服控制器性能的好壞,電機的位置環、速度環和電流環控制是設計重點?,F將這幾部分分述如下:
1.3.1.1 伺服系統位置環的實現
STM32F407芯片根據上位機/PLC發出的位置指令,控制PMSM快速平穩的轉動到指定的角度。
位置的控制算法采用三段法,即:位置誤差大時,采用最大速度跟蹤,以快速消除誤差;位置誤差為中等偏差時,速度控制量為

(其中:ε為加速度,e為當前位置誤差);在位置誤差較小時采用PI控制算法。其軟件工作流程如圖3。

1.3.1.2 伺服控制器速度環的實現
由STM32F407芯片內部的正交編碼器接口的脈沖計數寄存器確定輸入的正交脈沖數,并且轉子每轉過一周,增量編碼器輸入一個零位標志脈沖信號,以消除因脈沖丟失引起的計數誤差。為使脈沖計數寄存器的計數不會溢出,因此轉子位置角最大采樣周期必須根據電機的最高工作頻率和控制精度確定,電機工作頻率和控制精度越高,則采樣周期越小??刂扑惴▌t采用PI算法。
速度環的工作流程如圖4。

1.3.1.3 伺服控制器電流環的實現
伺服控制器要求電流環具有輸出電流諧波分量小、響應速度快的特點,所以電流調節器必須滿足內環控制所需要的控制響應速度,能精確控制隨轉速變化的交流電流大小及頻率。但若電流環的響應速度過大,會使電流環調整時的音頻噪聲較大,同時在電流很小時會引起電流環的震蕩,建議電流環響應頻率的上限值是開關頻率的10%~20%為好。

對電流環的控制算法則采用積分分離的PI控制算法。其基本思路:當被控量與設定值偏差較大時,取消積分作用,以免由于積分作用使系統穩定性降低,超調量增大;當被控量接近給定值時,引入積分控制,以便消除靜差,提高控制精度。其流程框圖如圖5。
2 總結
這個方案用到了STM32F407芯片的眾多強大特性,如:DSP指令、浮點運算單元、大容量的RAM和Flash、168 MHz的高主頻、Ethernet和加密協處理器。通過ST公司的眾多軟、硬件設計參考和貫穿開發各個階段的免費軟件支持,使得廣大的電機控制開發工程師可以在最短的時間開發出性能強大的伺服控制產品。
伺服電機相關文章:伺服電機工作原理
電荷放大器相關文章:電荷放大器原理 矢量控制相關文章:矢量控制原理
評論