白姐透特今晚开什么码

打印

[技术问答]求助 32位单片机M058 PWM移相的实现方法和思路

[复制链接]
197|10
跳转到指定楼层
楼主
本帖最后由 CharlesPP 于 2019-12-18 22:45 编辑

目前想要驱动一个H桥电路,硬件连接的是PWM0和PWM1口,想要实现PWM0和PWM1同频率,同占空比的90度相位差的PWM. 请教大家一下实现的思路,基于M051_Series_BSP_CMSIS_V3.01.003库。先行感谢.

相关资料

沙发
|2019-12-19 08:27|只看该作者
pwm有個output invtert的設定暫存器
板凳
|2019-12-19 09:11|只看该作者
H桥?控制直流电机的?
地板
 楼主|2019-12-19 09:58|只看该作者
jasontu 发表于 2019-12-19 08:27
pwm有個output invtert的設定暫存器

感谢回复。
还请近一步指教,翻看了M051的技术参考手册,好像并没有找到这个暂存器。附件是手册PWM这一章节的目录截图。
关于这个暂存器的功能介绍哪个文档里有介绍呢,还请告知一下,感谢。

00.jpg(108.27 KB, 下载次数: 1)

M051PWM发生器

M051PWM发生器
5
|2019-12-19 11:43|只看该作者
6
|2019-12-19 11:46|只看该作者
7
|2019-12-19 11:46|只看该作者
这个INV应该就是那个单词吧,翻转啊。
8
|2019-12-19 21:55|只看该作者
不太懂PWM怎么控制H桥。
9
|2019-12-20 11:10|只看该作者
你这个H桥目的是什么?
什么叫移相?一般所谓的移相,是指占空比固定为50%(不算死区),2个驱动信号相位可通过数字控制。
你这里所谓的90°是个什么概念?
画一个2通道脉冲时序图出来吧,这样,才好明确需求
10
 楼主|2019-12-20 11:59|只看该作者
tianxj01 发表于 2019-12-20 11:10
你这个H桥目的是什么?
什么叫移相?一般所谓的移相,是指占空比固定为50%(不算死区),2个驱动信号相位可 ...

感谢您的回复。想要实现的波形类似下图。同周期和占空比。脉冲高电平错开。


找到一份《玩转新唐M0_M4_V1.06》的文档,里面提到在M451上实现的方法。

文档里也提到这种实现方式需要芯片支持CMPDAT1和CMPDAT2。
因此觉得M058芯片是不是不支持这种实现方式.


暂时采用在中断函数中翻转IO的方式实现类似的波形,但是当输出频率达到KHz级别的时候,显然这种方式是行不通的。
所以,还请指教,再次感谢。

11
|2019-12-20 14:46|只看该作者
CharlesPP 发表于 2019-12-20 11:59
感谢您的回复。想要实现的波形类似下图。同周期和占空比。脉冲高电平错开。

上图这个很难,必须要有高级定时器同步功能(STM32部分芯片可以),才可以做到。意思就是A定时器启动锯齿波,而B定时器则由和A同步的PWM同步启动,只是一个同步在前沿,一个同步在后沿。则该PWM的宽度就可以自由控制2脉冲的相位差。
下图的180°相位差很容易做到。你只需要采用三角波调制PWM,也就是采用升降计数模式,然后分别在对称位置有2个占空比比较值,比如我的升降计数模式是从0-200-0-200这样循环,我需要一个脉宽为20的180°方波,则2个占空比比较器分别设置为5和195,而5这路PWM输出极性反相,这样就获得180°差的10宽度正脉冲。同样的,我们只要朝中间分别修改2个占空比寄存器的值,就可以获得2路相位差180°,且占空比可控的PWM波形。
扫描二维码,随时随地手机跟帖
*滑动验证:

本版积分规则

我要发帖投诉建议创建版块

快速回复

您需要登录后才可以回帖
登录 | 注册

论坛热帖

在线客服 快速回复 返回顶部返回列表