日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析

發布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

磁場定向控制又稱矢量控制(FOC), 本質上為控制定子電流的幅度和相位,使之產生的磁場和轉子的磁場正交,以產生最大的扭矩. PMSM的磁場定向控制框圖如下圖所示:

第19、20講分別實現了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的單電阻FOC有感(hall)算法及單電阻FOC無感并都讓電機運轉起來。本節將重點對比一下這兩種算法在代碼實現上的具體差別。

本節將用到Beyond Compare文件對比分析工具,對第19、20講的代碼進行差異分析。用文件夾比對方式將第19、20講的代碼加載到Beyond Compare:

從上面的兩個對比結果圖可以看到,有感FOC算法與無感FOC算法在代碼上差異區主要集中在INC和SRC兩個文件夾中,其中inc文件夾中的主要不同集中在drive_parameters.h、main.h、mc_config.h、parameters_conversion.h、pmsm_motor_parameters.h五個文件;Src文件夾中的主要不同集中在main.c、mc_config.c、mc_tasks.c、stm32f1xx_hal_msp.c、stm32f10x_mc_it.c、user_interface.c六個文件中:

drive_parameters.h中主要是工程配置時有些差數配置不一樣:

main.h中差異主要體現在無感foc(右側)算法沒有對HALL傳感器引腳的定義:

?

?

?

mc_config.h的差異:

parameters_conversion.h的差異主要在:

pmsm_motor_parameters.h差異主要體現在電機配置時對電機參數提輸入不同:

?

main.c中的差異主要體現在使用有感(HALL)的FOC算法多了一些硬件定時器的定義初始化配置等函數實現:

mc_config.c文件中的差異更能體現去有感FOC算法與無感FOC算法之間的差異:

mc_tasks.c兩種算法的真正核心差異集中體現在mc_tasks.c,清楚該文件間差異及其用用,通過修該文件,可以將無感FOC變換成有感(如絕對式磁編碼器,hall ,hall+增量編碼器),首先是在MCboot函數中:

在TSK_MediumFrequencyTaskM1中頻任務中調用不同的速度計算函數,和不同的狀態中具體操作也有點差別:

在TSK_HighFrequencyTask高頻任務中也有一些差異:

最后在mc_lock_pins函數中有感FOC算法多了對HALL傳感器引腳的保護操作:

stm32f1xx_hal_msp.c中有感FOC模式下多了對定時器及HALL傳感器引腳的配置工作:

stm32f10x_mc_it.c中,有感FOC算法中多了SPD_TIM_M1_IRQHandler(定時器2)中斷響應函數:

user_interface.c中無感FOC算法中多了多無法算法變量讀取與設置功能接口的支持:

到此,基于ST MCLIB的有感(hall)FOC算法與無感FOC算法代碼實現差異分析就算完成了,下一節我們將在ST MCLIB無感FOC算法代碼基礎上進行修改,將其變成有感(HALL)FOC算法,讓電機成功運轉。本本節內容到此結束,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,每天都會有技術干貨推出!!

?

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

在公眾號里給十三發送 “下載|STM32 電機教程 21” :

?

?

總結

以上是生活随笔為你收集整理的STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。