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