STM32F407HAL库输出互补PWM波以及死区时间计算

news2024/9/29 12:42:43

互补PWM波配置

STM32F407VET6的高级定时器TIM1、TIM8可以生成互补的PWM波,用HAL库配置非常方便。

我们使用高级定时器TIM1,选择一个通道(我这里选择通道二),然后选择PWM Generation CH2 CH2N。这里N的意思是互补,CH2N是与CH2的PWM互补的。

此时我们可以看到CH2输出以及其互补通道输出PWM波的IO口。

我的时钟主频配置的是100Mhz,当你配置的时候要注意自己的始终主频,涉及后面的PWM波的频率计算、死区时间计算。

时钟源选择Internal Clock。选择不分频(Prescaler=1),由于我需要配置100Khz频率的PWM波,所以我的Counter Period值填写的是999(ARR=999)。

pwm波的周期:

T1=\frac{1}{f}=\frac{1}{1000000}=0.00001s=10us

而主频为100Mhz,其周期为:

T0=\frac{1}{f}=\frac{1}{100000000}=10ns

所以Counter Period值应该为:

Counter Period=\frac{T1}{T0}-1=\frac{10us}{10ns}-1=1000-1 

同理:如果要配置10Khz频率的PWM波,则ARR的值应该为9999.

死区时间计算

我们可以看到有一个Dead Time的值需要我们填写。

其计算规则如下图所示。

乍一看很复杂,我来解释一下计算步骤。

首先,我们需要确定时钟的主频,上图为8Mhz,所以其时钟周期T0为:

T0=\frac{1}{8Mhz}=125ns

第二步,又要分为4种情况:

1)步长为T0(125ns),乘数范围是0-127,此时得出的范围是:步长 x 乘数

0-127*T0 即 0-15.875us.

2)步长为2T0(125ns),乘数范围是64-127,此时得出的范围是:步长 x 乘数

128-254*T0 即16us-31.75us.

3)步长为8T0(125ns),乘数范围是32-63,此时得出的范围是:步长 x 乘数

256-504*T0 即 32us-63us.

4)步长为16T0(125ns),乘数范围是0-127,此时得出的范围是:步长 x 乘数

512-1008*T0 即 64us-126us.

需要配置的死区时间在哪种情况的范围内,则是哪一种情况。

第三步,

1)如果是情况1,可以直接用需要配置的死区时间除以步长T0,就是需要填入DeadTime那一栏的DTG寄存器的值.

因为情况1的步长值为0,乘数位置为DGT[6:0],那么其合在一起还是看DGT[6:0]的大小,所以可以直接使用需要配置的死区时间除以步长T0。

DTG = \frac{Dead Time}{T0}

2)如果是情况二,其步长值为二进制10

公式为:(64+DTG[5:0])\otimes 2T0=DeadTime(此处的DeadTime和配置处需要填入的不一样,配置处填入的是寄存器数值,这里的是期望的死区时间)

解出DTG[5:0]的值,将其转化为二进制,与 前面的步长值10拼在一起。

例如DTG[5:0]为31,其二进制就是011111,合在一起后就是10011111即159.

所以需要填入DeadTime的值就是159,就是这一栏Dead Time所需要填入的数值。

3)如果是情况三,其步长值为二进制110

同理,解出DTG[4:0]的值,将其转化为二进制,与 前面的步长值110拼在一起。

公式为:(32+DTG[4:0])\otimes 8T0=DeadTime

4)如果是情况四,其步长值为二进制111

同理,解出DTG[4:0]的值,将其转化为二进制,与 前面的步长值111拼在一起。

公式为:(32+DTG[4:0])\otimes 16T0=DeadTime

主要思想就是把DTG寄存器拆成两部分,前面的部分决定步长(取0、10、110、111),后面的部分为DTG的值,两者拼在一起就是DeadTime处需要填入的数值。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于趋近律的滑模控制器设计、仿真(S-function)

目录 一、什么是滑模控制?1. 滑模面2. 控制策略3. 抗干扰和鲁棒性4. 滑模控制的应用 二、什么是趋近律?1. 趋近律三大设计目标2. 常见的趋近律形式1. 等速趋近律2. 指数趋近律3. 幂次趋近律 三、滑模控制器设计四、滑模仿真示例1. Simulink仿真框图2. 不同k值下的仿…

JAVA全球美业新风尚国际版同城美容美发到店上门一体化服务系统小程序源码

全球美业新风尚,美丽触手可及!✨ 🌍 开篇:引领国际美业新潮流 在这个追求个性与美丽的时代,美容美发已不再是简单的日常护理,它成为了我们展现自我、追求品质生活的一种方式。而“全球美业新风尚国际版同…

ASP.NET Zero是什么?适合哪些业务场景?

一、ASP.NET Zero是什么? ASP.NET Zero 是一个基于 ASP.NET Boilerplate (ABP) 框架的模板项目,它提供了预建的页面和强大的基础设施架构,以便开发者能够快速开发应用层。它的特点包括但不限于: 多合一解决方案:提供多…

4.数据结构与算法-线性表的顺序表示和实现

2.1 线性表的定义和特点 线性表例子 线性表的逻辑特征 2.2 案例引入 案例2.1 案例2.1:一元多项式的运算 案例2.2:系数多项式的运算 用时间换取空间--线性数组相对链式访问速度快 但这种方法链式更节省空间,所以用时间换取空间 案例2.3&…

2024平价电容笔推荐!精选五大靠谱电容笔测评盘点!

现在电子设备已经成为我们生活、学习和工作中不可或缺的重要工具。而电容笔作为与电子设备紧密配合的配件,其重要性也日益凸显,为我们的数字操作体验带来极大的便利和提升。然而,市场上电容笔的品牌众多,价格、性能和品质参差不齐…

工业制氮机在食品行业的应用优势

作为一种高效、环保的设备,制氮机通过物理方法从空气中分离出高纯度氮气,为食品行业提供了全方位的品质提升和安全保障。本文将详细探讨工业制氮机在食品行业的应用优势。 一、保障食品质量与安全性 工业制氮机在食品行业中最为显著的应用优势之一&#…

Ubuntu-WSL2一键设置代理操作

现状: Window11中拥有自己的代理软件 ,可以科学上网已在WSL2中安装Ubuntu22.04 需求: Ubuntu-WSL2实现科学上网 实现: 参考:为 WSL2 一键设置代理 Linux 子系统中的网关指向的是 Windows,DNS 服务器指…

深入调研400+手游公司,此时正是入行好时机?

自2022年起,手游市场在疫情阴霾消散后遭遇的增长瓶颈,成为了业界持续聚焦的热点议题。转眼间,两年时光匆匆流逝,这一领域的现状与前景究竟几何? 国际知名发行商Sandsoft最新出炉的《发行商洞察报告》中,对…

开源物联网技术--TFT_LCD屏驱动软硬件设计分享

01 一、物联网系统中为什么要使用TFT-LCD屏 在物联网系统中使用TFT-LCD(薄膜晶体管液晶显示器)驱动芯片的原因主要可以归纳为以下几点: 专业性与高效性 专业图形处理:TFT-LCD驱动芯片内置了专业的图形处理引擎,能够…

探索Langchain与国内智谱清言:构建先进的智能对话系统[第二课]

在当今的人工智能领域,构建一个能够流畅对话的智能系统是许多企业和开发者的目标。Langchain和国内智谱清言(BigModel)提供了强大的工具和API,使得这一目标变得更加容易实现。 语言模型的力量 语言模型是智能对话系统的核心&am…

git分支-创建、合并、删除

Git会将每次提交串成一条时间线,这条时间线就是一个分支。在最初,只有一个master分支 在目录下创建项目 对目录进行输入 项目被修改 创建dev分支 合并分支 删除dev分支

maven项目自动reload依赖库设置

修改后,自动reload 不需要点加载按钮了。

牛客SQL练习详解 04:多表查询

牛客SQL练习详解 04:多表查询 1、子查询sql21 浙江大学用户题目回答情况 2、链接查询sql22 统计每个学校的答过题的用户的平均答题数sql23 统计每个学校各难度的用户平均刷题数sql24 统计每个用户的平均刷题数 3、组合查询sql25 查找山东大学或者性别为男生的信息 叮…

大数据新视界 --大数据大厂之Cassandra 分布式数据库在大数据中的应用与调优

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

常用激活函数总结

文章目录 什么是激活函数激活函数的作用常用激活函数1.Sigmoid函数2.Softmax函数3.Tanh函数4.Relu函数5.LeakyRelu函数6.PRelu函数7.ELU函数8.SELU函数 什么是激活函数 激活函数,通俗讲,就是一个函数,针对某个神经元,就是将输入经…

AI读教链《关于美国、中国和BTC的三个超级变量​》

这篇文章探讨了美国、中国及比特币(BTC)当前经济形势中的三个超级变量,强调了对经济状况的重新审视。 美国经济与衰退:尽管有观点认为美国经济正在衰退,文章指出这取决于如何定义衰退。美股市场的市盈率处于高位&#…

KQM6600空气质量传感器

KQM6600空气质量传感器 目录 KQM6600空气质量传感器 查找资料 编程 1、初始化(时钟、IO、外设、中断、其他) 2、中断服务函数 3、数据解析函数 kqm6600.h 硬件连接 安装ST-LINK驱动 实验结果 查找资料 找相应的资料,看资料 1、…

百度智能体创建:情感领域的创新力量

《百度智能体:情感领域的创新力量》 一、百度智能体:开启智能新征程 百度智能体,准确叫法为百度文心智能体。它是由百度推出的基于文心大模型的智能体平台。2023 年 9 月 1 日,平台的前身 “灵境矩阵” 上线并开始内测&#xff0c…

变幅液压系统比例阀放大器

变幅液压系统是用于控制起重机或类似设备臂架角度变化的关键系统,它通过调节液压缸的伸缩来实现臂架的升降和变幅。以下是一些关于变幅液压系统的基本原理、组成和应用领域的信息: 基本原理:变幅液压系统通常由液压泵、液压缸、液压马达、控制…

【BMS】BJB MC33772 电流测量

一、硬件准备 1、主控板子:S32K312 板子 2、BJB 板子:MC33772 BJB 板子 3、硬件连接: 两个板子独立 12V 供电,外部电流接线流经分流器 Shunt ,分流器方向从下往上流向得到正值数据。 4、BJB 测量电流电路注意事项 ① 板子上预…