请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32F4 定时器输出PWM问题

[复制链接]
outman777 提问时间:2021-7-21 10:30 / 未解决
请教各位如何用STM32定时器实现一个周期输出下图PWM2的波形呢(低-高-低-高-低)?万分感谢您的解答!

利用定时器PWM输出PWM2波形

利用定时器PWM输出PWM2波形
收藏 评论7 发布时间:2021-7-21 10:30

举报

7个回答
yr 回答时间:2021-7-21 12:01:59
它的周期是T2,PWM1和PWM2是互补的,只是PWM2在中间挖了个槽,在电机单电阻驱动的方式中,有时某路的pwm也需要中间挖槽,需要ccr6配合产生combined pwm,建议读一下手册这个章节。建议计数方式配成center aligned模式,PWM1(PWM2 mode)和PWM2(PWM1 mode),ccr1=ccr2=占空比,然后pwm2要结合ccr6,就可以挖出一个槽。

xmshao 回答时间:2021-7-21 11:33:23
你的一个周期到底哪个?T1 还是T2?


xmshao 回答时间:2021-7-21 11:34:42
Untitled.png
outman777 回答时间:2021-7-21 15:46:12

是T2呢 PWM1和PWM2周期相同的

outman777 回答时间:2021-7-21 16:15:26
yr 发表于 2021-7-21 12:01
它的周期是T2,PWM1和PWM2是互补的,只是PWM2在中间挖了个槽,在电机单电阻驱动的方式中,有时某路的pwm也 ...

首先感谢您的解答,在手册中没有发现CCR6寄存器,能帮助解答一下这种模式具体是什么呢,关键词是什么呢?我自己设置了中心对齐模式,PWM1方式计数,需要增加或改变哪些设置?再次感谢您的解答!
我自己设想定时器可以如图设置两个比较值,一个周期进行两次比较(我使用的是高级定时器TIM8),不知是否存在这种模式设置呢?


1.jpg
butterflyspring 回答时间:2021-7-21 16:25:57
如果用STM32F4系列的话,它的定时器没有更先进的组合方式。所以挖槽可以采用中心对齐方式,通过DMA给比较寄存器赋值。这时候要关掉预装载功能。具体可以参考手绘附图。  如果是用STM32F3或者G4系列,定时器有更强大功能,组合PWM功能,如楼上同学所说,通过组合AND 或 OR的信号方式,可以输出这种挖槽的波形或者更复杂的波形。这种方式可以参考官方的参考手册,如附图2 部分
PWMwith DMA.PNG
PWM COMBINE 2.PNG
xmshao 回答时间:2021-7-21 17:02:18
实现这个波形的方式肯定不是固定的,方式很多。



基于你现在的情况,或许可以这样设计:



第1路使用常规的PWM输出,采用中心对齐计数模式。



另外一路就选用比较输出模式,通过DMA修改CCR,基于ARR与CCR的比较值直接

体现输出结果,此时记得关闭CCR的预装功能。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版