STM32 PWM通过RC低通滤波转双极性SPWM测试

STM32 PWM通过RC低通滤波转双极性SPWM测试


  • 📍参考内容《利用是stm32cubemx实现双极性spwm调制 基于stm32f407vet6
  • 📺相关视频链接:https://www.bilibili.com/video/BV16S4y147hB/?spm_id_from=333.788

双极性SPWM调制讲解以及基于stm32的代码生成

✨理论相关知识,可以参考上面的相关内容。本文只是对该功能进行验证。

  • 🌿测试硬件对象:STM32F427,不局限于型号,任意一个高级定时器都可以进行功能测试。

  • 🔖二阶低通滤波器参考电路:
    在这里插入图片描述

  • 🌿TIM1高级定时器带死区时间控制参数的PWM互补输出波形:
    在这里插入图片描述

  • 🌿死区时间:
    在这里插入图片描述

  • 🌿经过二阶RC低通滤波后的波形。(橙色为PWM输入波形,红色为经过二阶RC滤波后的输出波形)
    在这里插入图片描述

  • 🔰二阶RC滤波和一阶RC滤波波形对比

在这里插入图片描述

🛠STM32CubeMX工程配置

  • 🌿开启一路互补PWM输出。(具体频率参数可以根据需求自行配置)
    在这里插入图片描述
  • 🌿死区时间设置:
    在这里插入图片描述
  • 👉死区时间计算,可以参考我的另外一篇文章,有较为详细方法《HAL STM32G4 +TIM1 3路PWM互补输出+VOFA波形演示》
  • 🌿另外配置一个20khz的定时器中断,用来根据正弦规律改占空比。(频率和上面的PWM频率参数一致)
    在这里插入图片描述

📑业务代码

  • 🌿在main函数中开启定时器PWM输出。
 /* USER CODE BEGIN 2 */HAL_TIM_Base_Start_IT(&htim2);//开启定时器2中断HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//开启四路pwm波HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_1);/* USER CODE END 2 */
  • 🌿在定时器2,中断回调函数中,注入定时器1的PWM通道计数器的的比较值:
uint16_t spwmcnt=0;//数组计数值:0~399;
float M=0.8;//调制比M:0~1
int spwm_group[400]={33,99,165,231,297,362,428,494,559,624,690,755,819,884,948,1013,1076,
1140,1203,1266,1329,1392,1454,1515,1577,1638,1698,1758,1818,1877,1936,1994,2052,
2110,2166,2223,2278,2333,2388,2442,2495,2548,2600,2652,2703,2753,2802,2851,2899,
2946,2993,3039,3084,3129,3172,3215,3257,3298,3339,3378,3417,3455,3492,3528,3564,
3598,3632,3664,3696,3727,3757,3786,3814,3841,3868,3893,3917,3940,3963,3984,4005,
4024,4042,4060,4076,4092,4106,4119,4132,4143,4153,4163,4171,4178,4184,4190,4194,
4197,4199,4200,4200,4199,4197,4194,4190,4184,4178,4171,4163,4153,4143,4132,4119,
4106,4092,4076,4060,4042,4024,4005,3984,3963,3940,3917,3893,3868,3841,3814,3786,
3757,3727,3696,3664,3632,3598,3564,3528,3492,3455,3417,3378,3339,3298,3257,3215,
3172,3129,3084,3039,2993,2946,2899,2851,2802,2753,2703,2652,2600,2548,2495,2442,
2388,2333,2278,2223,2166,2110,2052,1994,1936,1877,1818,1758,1698,1638,1577,1515,
1454,1392,1329,1266,1203,1140,1076,1013,948,884,819,755,690,624,559,494,
428,362,297,231,165,99,33,-33,-99,-165,-231,-297,-362,-428,-494,-559,
-624,-690,-755,-819,-884,-948,-1013,-1076,-1140,-1203,-1266,-1329,-1392,-1454,-1515,-1577,
-1638,-1698,-1758,-1818,-1877,-1936,-1994,-2052,-2110,-2166,-2223,-2278,-2333,-2388,-2442,-2495,
-2548,-2600,-2652,-2703,-2753,-2802,-2851,-2899,-2946,-2993,-3039,-3084,-3129,-3172,-3215,-3257,
-3298,-3339,-3378,-3417,-3455,-3492,-3528,-3564,-3598,-3632,-3664,-3696,-3727,-3757,-3786,-3814,
-3841,-3868,-3893,-3917,-3940,-3963,-3984,-4005,-4024,-4042,-4060,-4076,-4092,-4106,-4119,-4132,
-4143,-4153,-4163,-4171,-4178,-4184,-4190,-4194,-4197,-4199,-4200,-4200,-4199,-4197,-4194,-4190,
-4184,-4178,-4171,-4163,-4153,-4143,-4132,-4119,-4106,-4092,-4076,-4060,-4042,-4024,-4005,-3984,
-3963,-3940,-3917,-3893,-3868,-3841,-3814,-3786,-3757,-3727,-3696,-3664,-3632,-3598,-3564,-3528,
-3492,-3455,-3417,-3378,-3339,-3298,-3257,-3215,-3172,-3129,-3084,-3039,-2993,-2946,-2899,-2851,
-2802,-2753,-2703,-2652,-2600,-2548,-2495,-2442,-2388,-2333,-2278,-2223,-2166,-2110,-2052,-1994,
-1936,-1877,-1818,-1758,-1698,-1638,-1577,-1515,-1454,-1392,-1329,-1266,-1203,-1140,-1076,-1013,
-948,-884,-819,-755,-690,-624,-559,-494,-428,-362,-297,-231,-165,-99,-33,
};void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)  //中断回调函数 20k
{if(htim==&htim2){TIM1->CCR1 = 4200.f + M*spwm_group[spwmcnt] ;//20khz的频率改变400次,20000/400=50hz的正弦波;spwmcnt++;if(spwmcnt==400)spwmcnt=0;	}
}

📚工程源码

链接:https://pan.baidu.com/s/1foLw5GocQhpzJVN_2qlLag?pwd=9r9x 
提取码:9r9x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/290059.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主流公链 - BCH BSV BTG

为什么出现分叉 BTC是自由的,BTC社区也是自由的,自然而然的会出现不同观点的群体 1. 比特币现金(Bitcoin Cash,BCH) 分叉日期: 2017年8月1日主要目的: 提高比特币的交易吞吐量和降低交易费用技术…

文献学习(自备)

收官大作,多组学融合的新套路发NC!! - 知乎 (zhihu.com) Hofbauer cell function in the term placenta associates with adult cardiovascular and depressive outcomes | Nature Communications 病理性胎盘炎症会增加几种成人疾病的风险&a…

火车头通过关键词采集文章的原理

随着互联网信息的爆炸式增长,网站管理员和内容创作者需要不断更新和发布新的文章,以吸引更多的用户和提升网站的排名。而火车头作为一款智能文章采集工具,在这一过程中发挥着重要作用。本文将探讨火车头如何通过关键词采集文章,以…

【TB作品】MSP430G2553,超声波倒车雷达PCB,单片机,超声波SR04,键盘,oled,

题目 硬件:MSP430G2553、 SR04超声波传感器 、3*4键盘、 无源蜂鸣器、oled显示屏 软件 1 、实时显示测量得到的距离 2、按键设置一个报警门限数值,直接输入数值后确认 3、低于报警门限数值就开始报警,而且距离越近蜂鸣器的鸣叫频率越高 程序…

数据库索引及优化

数据库索引及优化 什么是索引? MySQL官方对索引的定义为:索引(INDEX)是帮助MySQL高效获取数据的数据结构。 索引的本质: 数据结构 为什么要引入索引? 引入索引的目的在于提高查询效率,就好像是…

深入浅出的揭秘游标尺模式与迭代器模式的神秘面纱 ✨

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自:设计模式深度解析:深入浅出的揭秘游标尺模式与迭代…

Zabbix6 - Centos7源码编译部署HA高可用集群手册

Zabbix6 - Centos7源码编译部署HA高可用集群手册 HA高可用集群 总所周知,在我们IT运维的圈圈中,HA高可用集群服务算是逼格最高的吧也是运维里保障力度最大的环境。 HA是HighlyAvailable缩写,是双机集群系统简称,提高可用性集群,是保证业务连续性的有效解决方案,一般有两个…

深入探讨多线程编程:从0-1为您解释多线程(下)

文章目录 6. 死锁6.1 死锁原因 6.2 避免死锁的方法加锁顺序一致性。超时机制。死锁检测和解除机制。 6. 死锁 6.1 死锁 原因 系统资源的竞争:(产生环路)当系统中供多个进程共享的资源数量不足以满足进程的需要时,会引起进程对2…

Fastadmin给列表数据绑定添加内容

不同及服务需要收集不同的字段,在服务列表处增加按钮,弹出管理字段列表,单独管理每个服务的字段。如下图,给不同的服务绑定不同表单字段,点击表单按钮弹出页面维护当前服务的字段。 实现代码 //初始化表格处添加按钮 …

Linux根据时间删除文件或目录

《liunx根据时间删除文件》和 《Linux 根据时间删除文件或者目录》已经讲述了根据时间删除文件或目录的方法。 下面我做一些补充,讲述一个具体例子。以删除/home目录下的文件为例。 首先通过命令: ls -l --time-style"%Y-%m-%d %H:%M:%S"…

软件验收报告都包含哪些内容?为什么要做验收测试?

验收测试报告用于评估软件产品是否满足预定的要求和标准,是软件测试的重要输出文档。 通过验收测试报告,开发团队可了解软件存在问题和改进方向,进行修复和优化。同时,报告也可作为软件交付用户时提供的必要文档之一,帮助用户更好…

初识C++ · 入门(1)

目录 前言: 1 命名空间 2 输入和输出 3 缺省参数 5 函数重载 前言: C与C语言是有一定交集的,可以理解为本贾尼在使用C语言的时候认为有缺陷,于是加了一些小语法进行改良,后来经过委员会的修改,C98问世…

华为云使用指南02

5.​​使用GitLab进行团队及项目管理​​ GitLab旨在帮助团队进行项目开发协作,为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括:项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。该镜像基于CentOS操…

【已修复】iPhone13 Pro 长焦相机水印(黑斑)修复 洗水印

iPhone13 Pro 长焦相机水印(黑斑)修复 洗水印 问题描述 iPhone13 Pro 后摄3倍相机有黑色斑点(水印),如图所示, 后摄相机布局如图所示, 修复过程 拆机过程有风险,没有把握最好不要…

HTB devvortex靶机记录

做这个靶机的师傅们我先提一句,不知道是否是因为网速还是其他因素影响,登录后台管理后,有大概率会被其他人挤下去,所以做这道题的师傅可以考虑在没人的时候去做。 打开靶场以后老规矩nmap扫一遍 这里爆出了80端口和22端口&#xf…

葵花卫星影像应用场景及数据获取

一、卫星参数 葵花卫星是由中国航天科技集团公司研制的一颗光学遥感卫星,代号CAS-03。该卫星于2016年11月9日成功发射,位于地球同步轨道,轨道高度约为35786公里,倾角为0。卫星设计寿命为5年,搭载了高分辨率光学相机和多…

AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

本文深度探讨人工智能在大气科学中的应用,特别是如何结合最新AI模型与Python技术处理和分析气候数据。介绍包括GPT-4等先进AI工具,旨在帮助大家掌握这些工具的功能及应用范围。内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等实战案例…

Web Components使用(一)

在使用Web Components之前,我们先看看上一篇文章Web Components简介,其中提到了相关的接口、属性和方法。 正是这些接口、属性和方法才实现了Web Components的主要技术:Custom elements(自定义元素)、Shadow DOM&#…

Unity2018发布安卓报错 Exception: Gradle install not valid

Unity2018发布安卓报错 Exception: Gradle install not valid Exception: Gradle install not valid UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1[T] progress) (at <c67d1645d7ce4b76823a39080b82c1d1>:0) …

Java八股文(JVM)

Java八股文のJVM JVM JVM 什么是Java虚拟机&#xff08;JVM&#xff09;&#xff1f; Java虚拟机是一个运行Java字节码的虚拟机。 它负责将Java程序翻译成机器代码并执行。 JVM的主要组成部分是什么&#xff1f; JVM包括以下组件&#xff1a; ● 类加载器&#xff08;ClassLoa…