鬼畜的铁链 · 东方烟草报2024官方下载-东方烟草报 ...· 2 周前 · |
朝气蓬勃的煎鸡蛋 · 阿里云联合中科院成立量子计算实验室· 1 月前 · |
暗恋学妹的投影仪 · 《世界湾区发展指数研究报告(2022)》在前海发布· 1 年前 · |
爱听歌的筷子 · 类型漫画作品大全-相关漫画全集-爱奇艺叭嗒· 1 年前 · |
非常酷的红薯 · 如何评价日本电影《花束般的恋爱》? - 知乎· 1 年前 · |
我正在从事一个有限责任公司的转炉项目。所以我需要变频的PWM信号。我的意思是我也需要实时改变频率。例如,调频40 For 80 For。有人能给我一个主意吗?我必须使用哪种定时器模式?谢谢..
当您没有说明您正在使用的确切硬件时,要回答您的问题有点棘手。看到您的标签,我将假设它是STM32家族的一员。STM标准计时器有寄存器,您通常不需要直接接口。哈尔为你做的。然而,据我所知,哈尔不支持这种功能。标准的STM32计时器有一个TIMx_ARR和一个TIMx_CCRn寄存器。这些配置包含了PWM生成所必需的一些配置。您应该能够通过调整ARR寄存器和通过调整CCRn寄存器来改变占空周期来改变您的频率。
对这种方法充满爱意,因为它通常没有内在的保护。您不会损坏您的设备,但这是非常容易产生意外行为。您还需要考虑预分频器值和定时器的一般配置。
有关详细信息,请参阅“设备参考手册”中的章节: GPTIM,因为我无法给您提供更详细的说明和您提供的少量信息。
据我从你的问题和后续评论中了解到,你想要一个固定的占空比(~50%),但是你想要可变的频率,以及相移。这是完全可行的,你可以动态地改变值,但是对于相移,我建议使用两个定时器。一个主人,一个奴隶。
想法:
主从控制相移。主从周期等于最终波形周期。它从0到它的ARR,在某一点上比较寄存器中有相移值,在从0到ARR的过程中,主寄存器的输出从低到高。
从主输出从低到高被激活,运行一个周期,等于主(ARR)的周期。它输出PWM到某个引脚。一旦它到达ARR,它就停止了(只供主人再次启动)。显然,您需要调整PWM输出的比较寄存器以保持占空比不变。
我对我的意思作了一些粗略的说明,因为用文本来讨论计时器可能有点(非常)棘手。10/10绘画技能:
如何调整:
通过改变两个定时器的ARR来调整频率(周期长度),如果要保持占空比,需要立即调整从定时器的ARR/2 (占空比约50%)的比较值。如果减少ARR,请确保移相器母版的比较值低于ARR,否则将永远不会触发从程序。
通过改变主定时器在0和ARR之间的比较值来调整相移。
补充说明:
主定时器配置为具有TRGO (触发器输出,主功能)从低到高的“比较”开关。
从定时器处于一个脉冲模式(OPM),这意味着它在一段时间后禁用自己。它将被下一个主人的相移脉冲重新激活(比较高)。
主信号应该做定时器的复位和激活(重置CNT) (有一个模式列表- TRGI触发器输入对从定时器的作用)。重置计时器将将新值加载到ARR中(请参阅下一点)。
主服务器和从服务器都启用了ARR缓冲区。这将允许您更改ARR值,但这些更改仅在当前周期结束时生效。这将在改变周期长度和/或相移时防止抖动。
从定时器处于PWM1或PWM2模式,这取决于您希望输出aveform的第一部分是低还是高,这就是所有的区别。
我举了一个很有用的例子:
我编写了一个主/从定时器的实现,它们完全在寄存器上以不同的方式相互激活,并且每一行代码都进行了注释。我对这一切有点陌生(从项目的结构中可以看出),这是我在参考手册中研究计时器数日之后的第一次实验,但我尽力了。我对我在主机上所做的事情有一个描述。你可能会觉得很有帮助。请注意,在不同的STM32设备上,具有相同数字的定时器是相似的,甚至是相同的,所以我的代码很可能被移植到复制粘贴到您的代码中(如果您或任何人这样做的话,我完全可以这样做)。这是一个 链接到我的GitHub上的main.c 。我也有示波器截图。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
朝气蓬勃的煎鸡蛋 · 阿里云联合中科院成立量子计算实验室 1 月前 |
爱听歌的筷子 · 类型漫画作品大全-相关漫画全集-爱奇艺叭嗒 1 年前 |
非常酷的红薯 · 如何评价日本电影《花束般的恋爱》? - 知乎 1 年前 |