[STM8] 用tim1和tim2能精确输出特定相位的pwm波形吗?

[复制链接]
 楼主| 奔牛滚滚 发表于 2015-10-22 12:12 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 奔牛滚滚 于 2015-10-22 13:40 编辑

如题,其他相位先不管,最容易实现的,90度相位,能实现吗?要求相位准确。频率大于等于100Khz
占空比50%哦
s_f_tan 发表于 2015-10-22 13:23 | 显示全部楼层
PWM 定时翻转可以解决任意相位输出
 楼主| 奔牛滚滚 发表于 2015-10-22 13:40 | 显示全部楼层
s_f_tan 发表于 2015-10-22 13:23
PWM 定时翻转可以解决任意相位输出

占空比50%哦
598330983 发表于 2015-10-22 15:13 | 显示全部楼层
不好弄啊这个,要用电容电感电路不知道可以不。
huzi2099 发表于 2015-10-22 15:23 | 显示全部楼层
你这个最简单了,初始化两路取反,定时-两路取反
A  0  1  0  1.。。
B  1  0  1  0.。。
huzi2099 发表于 2015-10-22 15:25 | 显示全部楼层
不对那是180度,定时A取反,定时B取反

A  001100110011
B  011001100110
 楼主| 奔牛滚滚 发表于 2015-10-22 16:42 来自手机 | 显示全部楼层
huzi2099 发表于 2015-10-22 15:25
不对那是180度,定时A取反,定时B取反

A  001100110011

定时器怎么取反?具体怎么实现呢?
huzi2099 发表于 2015-10-23 14:06 | 显示全部楼层
奔牛滚滚 发表于 2015-10-22 16:42
定时器怎么取反?具体怎么实现呢?

定时一段时间以后io口取反
lwsn 发表于 2015-10-23 15:08 | 显示全部楼层
不是用定时器固定时间让IO翻转吗
 楼主| 奔牛滚滚 发表于 2015-10-23 17:26 | 显示全部楼层
huzi2099 发表于 2015-10-23 14:06
定时一段时间以后io口取反

中断以后执行翻转,是要时间的,已经不能精确的保持相位了.
 楼主| 奔牛滚滚 发表于 2015-10-23 17:26 | 显示全部楼层
lwsn 发表于 2015-10-23 15:08
不是用定时器固定时间让IO翻转吗

中断以后执行翻转,是要时间的,已经不能精确的保持相位了.
低速可以,比如100hz这样的,但是100khz,是不行的.
huzi2099 发表于 2015-10-24 18:08 | 显示全部楼层
奔牛滚滚 发表于 2015-10-23 17:26
中断以后执行翻转,是要时间的,已经不能精确的保持相位了.
低速可以,比如100hz这样的,但是100khz,是不行的 ...

是的,要准确就定时器的pwm功能,相位得凑一下
米尔豪斯 发表于 2015-10-25 17:00 | 显示全部楼层
频率大于等于100Khz

这么高的频率做什么用呢
gmm2015 发表于 2015-10-26 13:51 | 显示全部楼层
用定时器的“输出比较模式”可以很方便地实现频率一致,相位不同的PWM波。(使用同一个定时器的不同通道)
CS_Police 发表于 2015-10-29 13:29 | 显示全部楼层
顶楼上的,使用同一个Timer的两个不同通道,首先频率相同;
可以通过设置比较输出的Toggle模式实现50%占空比;
通过设置比较寄存器CCRx的数据控制所谓的相位差即可。
309030106 发表于 2015-10-29 20:42 | 显示全部楼层
用定时器的“输出比较模式”可以很方便地实现频率一致,相位不同的PWM波

能详细说说吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

1461

帖子

6

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

384

主题

1461

帖子

6

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