基于開源項目HAL STM32F4 +DSP庫跑SVPWM開環速度測試

HAL STM32F4 +ARM DSP庫跑SVPWM開環速度測試


  • ?本篇硬件電路和代碼來源于此開源項目:https://github.com/MengYang-x/STM3F401-FOC/tree/main
  • 📍硬件電路和項目介紹,立創開源廣場:https://oshwhub.com/shadow27/tai-yang-neng-wu-ren-chuan
  • 🌼測試效果:
    在這里插入圖片描述
  • 🌿通過vofa+輸出的三路馬鞍波波形:
    在這里插入圖片描述
  • 📝原作者介紹過的內容,這里就不多做介紹了,詳情可以前往立創開源主頁了解詳情。程序這一塊,主要針對stm32F4系列。

📘測試條件

  • 🌿STM32F4或者M4內核的相關型號的mcu即可。工程時基于HAL庫STM32CubeMX生產的配置工程,移植非常簡單。

  • 🌿有感或無感無刷電機,個人測試使用的是:2204-1400KV無感無刷電機,參數:12N14P(12槽14極),也就是,極對數是14/2=7極對數。(程序中需要填寫)

  • 🌿一塊無刷電機驅動板。(可以參考原作者的硬件。)

  • ?由于原作者使用的是EG2133驅動芯片,驅動電路中上下橋是連一塊的,3路PWM輸出即可實現無刷電機轉動,如果自己使用的是上下橋獨立驅動(6路輸出控制),那么需要將定時器的PWM輸出通道配置為互補輸出通道,(即3路互補輸出),同時需要注意輸出極性。
    在這里插入圖片描述

在這里插入圖片描述

  • 🌿SVPWM開環速度測試,工程中所需要的必要驅動文件:
    在這里插入圖片描述
  • 🔖MT6701這里SVPWM開環速度測試,沒有使用到,可以屏蔽掉:
    在這里插入圖片描述
  • 🔖DSP庫文件,可以自己從安裝的Keil軟件ARM文件夾內找到相關驅動庫文件:例如:D:\Keil_v5\ARM\CMSIS\DSP_Lib\Source\FastMathFunctions;或者在STM32CubeMX,安裝的對應pack包解壓文件夾內,:C:\Users\Administrator\STM32Cube\Repository\STM32Cube_FW_F4_V1.28.0\Drivers\CMSIS\DSP\Source或者標準庫STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\DSP_Lib中找到對應的所需驅動文件。
    • 🔖Keil ARM路徑下位置:
      在這里插入圖片描述
      在這里插入圖片描述
  • 👉也可以到ARM官方的GitHub賬號(https://github.com/ARM-software/CMSIS)下載所有ARM Cortex-M內核的DSP外設庫。
    • 🔖STM32CubeMX,pack解壓安裝文件位置:
      在這里插入圖片描述
      在這里插入圖片描述
  • 同樣在標準外設庫中也可以找到:
    在這里插入圖片描述
  • 🌿數字信號庫包含在路徑:STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\DSP_LibSTM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Lib下,或者Keil安裝目錄下D:\Keil_v5\ARM\CMSIS\Lib\ARM將它們拷貝到目標工程文件夾下。其中Lib文件夾中包含的是經過不同編譯器編譯后能夠運行在Cortex-M4內核上的底層數學庫,DSP_Lib文件夾中包含的是調用底層函數封裝而成的API函數源碼:
    • 🍃Lib文件夾中包含的底層庫包括:
	arm_cortexM4lf_math.lib	//---->stm32f4 DSP庫跑SVPWM開環速度測試需要使用到的arm_cortexM4bf_math.libarm_cortexM4l_math.libarm_cortexM4b_math.libarm_cortexM3l_math.libarm_cortexM3b_math.libarm_cortexM0l_math.libarm_cortexM0b_math.lib

在這里插入圖片描述
在這里插入圖片描述

    • 🔰對應工程中所用到的:arm_cortexM4lf_math.lib庫文件來源。
      在這里插入圖片描述
  • 🎉STM32F4 DSP和標準外設庫(STSW-STM32065) ST官網下載地址:https://www.st.com.cn/zh/embedded-software/stsw-stm32065.html
    • 📚當前stm32F4 最新版本:STSW-STM32065 STM32F4 DSP and standard peripherals library 1.9.0
鏈接:https://pan.baidu.com/s/1J8VD2re8SRWOGnZXZKcyvQ?pwd=o5an 
提取碼:o5an

🛠STM32CubeMX配置

  • 🌿選擇一個高級定時器:(注意這里是按照原作者的EG2133驅動芯片配置的,上下橋驅動控制端連一塊,進行配置的)

在這里插入圖片描述

  • 🌿為了查看輸出波形,還需要配置一個串口,方便觀察波形。
    在這里插入圖片描述

?SVPWM開環速度測試工程說明

  • 🌿待測試電機參數配置:motor.c中修改測試電機的極對數。
    在這里插入圖片描述
📑極對數測量

?如果知道電機型號,可以找到對應資料查閱多更好。如果無刷電vofa+機外轉子不是全部密封,看的到外轉子內壁上永磁體的,可以直接自己數出來。上門貼了有多少塊強磁鐵,即可得到此數據。對應外轉子密封看不到內壁磁體的測量方法:

  • 🌿如果有示波器的情況下,用示波器的探頭夾住電機的一根線,另一根接探頭,然后旋轉電機一圈,截取波形,數下峰的個數(上下峰都算),為偶數值除以2,就是電機的極對數。
  • 🌿有低壓直流可調電源情況下,限制一定的電流,加載一個小電壓到三相中的任意兩相,用手轉動電機一圈,有穩定位置的個數就是極對。
  • 🔧SVPWM開環速度參數設定:
 OpenVelocity(6.0f); //數值越大,電機旋轉的速度越快 

🔬串口數據vofa+觀測

  • 🔨vofa+設置:添加波形圖控件到主窗口
    在這里插入圖片描述

  • 🔱設置串口端口號以及數據類型:
    在這里插入圖片描述

  • 🪓🍭打開串口,并添加數據到波形圖控件中:
    在這里插入圖片描述

  • 🌟最終測試效果:
    在這里插入圖片描述

  • ?需要注意一點,所測得的馬鞍波形,并不代表實際電機真實的驅動轉動效果,電機的運轉效果與驅動電路和電機參數有關,這個波形是理論推導得來的理想模型。
  • 🍁在SVPWM開環速度測試運行下,無刷電機的U-V-W相波形:
    在這里插入圖片描述
  • 🧨MCU 定時器對應輸出通道的PWM驅動波形:
    在這里插入圖片描述
  • 🥕H橋NMOS管柵極驅動波形:
    在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18390.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18390.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18390.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

走進智慧倉儲:3D可視化工廠園區革新物流新紀元

在快節奏的現代生活中,物流倉儲行業扮演著至關重要的角色。隨著科技的飛速發展,傳統倉儲模式正面臨一場前所未有的變革。今天,就讓我們一起看看3D可視化技術如何為物流行業帶來前所未有的便利與效率。 什么是3D可視化工廠園區? 3…

2024華為OD機試真題-最長子字符串的長度(一)-C++-OD統一考試(C卷D卷)

題目描述 給你一個字符串 s,首尾相連成一個環形,請你在環中找出 o 字符出現了偶數次最長子字符串的長度。 輸入描述 輸入是一個小寫字母組成的字符串 輸出描述 輸出是一個整數 備注 1 ≤ s.length ≤ 500000 s 只包含小寫英文字母 用例1 輸入 alol…

vim常用指令——001

vim常用指令 Vim的命令模式常用操作一、定位移動光標二、行的基本操作【復制、粘貼、刪除】三、查找、替換四、分屏命令 總結給大家總結下四個運行模式: Vim的命令模式常用操作 一、定位移動光標 按h:將光標向左移動一個字符,等同于方向鍵左…

UI學習筆記(二)—— 深入了解導航控制

「OC」UI學習筆記&#xff08;二&#xff09; 文章目錄 「OC」UI學習筆記&#xff08;二&#xff09;手動布局子視圖自動布局子視圖導航控制器高級使用 手動布局子視圖 //父視圖的.h文件 #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGINinterface JCSuperView : UIVie…

【最新區塊鏈論文錄用資訊】CCF A—INFOCOM 2024 共17篇

Conference&#xff1a;IEEE International Conference on Computer Communications CCF level&#xff1a;CCF A Categories&#xff1a;計算機網絡 Year&#xff1a;2024 Num&#xff1a;17 A Generic Blockchain-based Steganography Framework with High Capacity via …

Python: 使用pyotp實現OTP一次性密碼驗證

使用pyotp實現OTP一次性密碼驗證 OTP的基本原理 生成一個共享秘鑰作為隨機數的種子服務端通過種子計算出當前的密碼客戶端也通過相同的種子計算出當前的密碼驗證客戶端生成的密碼和服務端生成的密碼是否匹配 服務端和客戶端計算的方式一樣 共享密鑰 時間因子 算法 > 密…

多個文本如何一鍵導出二維碼?在線批量生碼的制作方法

當存在多條文本數據并且需要將每條數據生成單獨的二維碼來使用&#xff0c;很多小伙伴可能還在用一個一個來制作的方法&#xff0c;在二維碼生成器上將文本轉二維碼。這種方式操作起來比較的繁瑣&#xff0c;需要浪費大量的時間&#xff0c;那么有什么方法可以簡化這個過程嗎&a…

【Android-Compose】ViewModel 的 init 初始化函數中使用非主線程上的協程閃退問題

問題&#xff1a; 在 Compose- kotlin 中&#xff0c;如果在 ViewModel 中的 init 函數中使用非主線程上的協程會導致閃退問題&#xff0c; 具體代碼為&#xff1a; HiltViewModel class ApkScreenViewModel Inject constructor(... ) : ViewModel() {// 1. 在非 主線程的協程…

#學習方法#筆記#微信

飛鳥寫作是一個非常好用、靠譜且方便的論文寫作工具&#xff0c;可以幫助用戶高效地完成論文寫作任務。無論是學生還是研究人員&#xff0c;使用飛鳥寫作都能極大地提升寫作效率和質量。 首先&#xff0c;飛鳥寫作具有強大的查重降重功能&#xff0c;能夠幫助用戶快速檢測論文…

【數據庫】數據庫學習(MySQL,Oracle,PostgreSql)

數據庫語句學習 摘要&#xff1a;文章主要內容是數據庫語句的基本操作&#xff0c;以及一些基本的數據庫標準庫函數 重點&#xff1a;SQL語句對大小寫不敏感 數據庫操作語句 SELECT - 從數據庫表中獲取數據UPDATE - 更新數據庫表中的數據DELETE - 從數據庫表中刪除數據INSERT …

OSPF的擴展配置

1、認證——直連的鄰居或鄰接關系間,進行認證配置后,5種數據包中均攜帶身份核實的密碼&#xff0c;且華為設備會對更新信息進行加密--前提為認證方式選擇密文認證 1)接口認證 [r1-GigabitEthernet0/0/1ospf authentication-mode md5 1 cipher 123456 直連的鄰居間秘鑰和編號、模…

行列視(RCV)能否同時支持多個實時數據庫?

行列視&#xff08;RCV&#xff09;生產數據應用系統在設計時考慮到了多數據源的需求&#xff0c;因此它支持同時連接多個實時數據庫。這意味著用戶可以輕松地將來自不同實時數據庫的數據整合到行列視&#xff08;RCV&#xff09;系統中&#xff0c;實現數據的集中管理和分析。…

Android14 WMS-窗口添加流程(二)-Server端

上一篇文章講到了Client端窗口添加流程&#xff0c;本文接著上文往下講&#xff0c;講一下Server端的窗口添加流程。 1. WindowManagerService#grantInputChannel 由grantInputChannel我們可以看到&#xff0c;Client端傳入了session對象&#xff0c; 發起者Uid-callingUid&am…

X.509數字證書

在國密標準文件《GMT 0015-2012 基于SM2密碼算法的數字證書格式》里有對X.509數字證書格式的詳細描述。 數字證書的定義 由國家認可的&#xff0c;具有權威性、可信性和公正性的第三方證書認證機構&#xff08;CA&#xff09;進行數字簽名的一個可信的數字化文件。 數字證書…

YOLOv10代碼詳細介紹(附錄訓練教程和權重)

前言 YOLOv10 是清華大學研究人員在 UltralyticsPython 清華大學的研究人員在 YOLOv10軟件包的基礎上&#xff0c;引入了一種新的實時目標檢測方法&#xff0c;解決了YOLO 以前版本在后處理和模型架構方面的不足。通過消除非最大抑制&#xff08;NMS&#xff09;和優化各種模型…

【幾何角度】感知機

本質&#xff1a;將n維空間中的一些點線性投影到一維&#xff0c;在一維軸上找一個閾值對這些點進行二分類。 程序&#xff1a; import numpy as npclass Perceptron:def __init__(self, learning_rate0.01, n_iterations1000):self.learning_rate learning_rateself.n_itera…

【Python基礎】一文搞懂:Python 中 “requirements.txt“ 文件生成和使用

文章目錄 1 引言2 什么是 requirements.txt&#xff1f;3 如何生成 requirements.txt&#xff1f;3.1 方法一&#xff1a;使用 pip freeze3.2 方法二&#xff1a;使用 pipreqs 3.3 使用 pip freeze 和 pipreqs 的對比4 如何使用 requirements.txt&#xff1f;4.1 安裝依賴4.2 更…

[從零開發JS應用] 如何在VScode中配置Javascript環境,常見的調試方法有哪些?

一、安裝VSCode和Node.js 記錄環境配置&#xff1a;本文配置的環境主要針對單獨JS文件的斷點調試&#xff0c;主要是為了調試LeetCode里面的代碼。 首先在官網下載對應的版本&#xff1a;https://nodejs.org/en/ 開始安裝&#xff0c;可以自定義選擇安裝路徑。 這里選擇Add Pa…

【親測,安卓版】快速將網頁網址打包成安卓app,一鍵將網頁打包成app,免安裝純綠色版本,快速將網頁網址打包成安卓apk

背景&#xff1a;部分客戶需求將自己網站打包成app&#xff0c;供用戶在瀏覽器安裝使用、 網頁網址快速生成app 準備材料操作流程第一步&#xff1a;打開HBuilder X新建項目第二步創建Wap2App項目第三步修改App圖標第四步發布app第五步查看apk 準備材料 1.需要打包的網頁 2.ap…

在網頁開發中,前后端如何更好地協同工作?

在網頁開發中&#xff0c;前后端如何更好地協同工作是非常關鍵的&#xff0c;以下是一些方法和技巧可以幫助前后端更好地協同工作&#xff1a; 1.明確需求和規范&#xff1a;前后端應該共同討論和明確項目的需求和規范&#xff0c;包括功能、界面、數據格式等。確保雙方對項目…