打印
[STM8]

STM8S输出两路PWM的问题求助

[复制链接]
4310|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenlang12|  楼主 | 2016-11-21 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用两路PWM来控制两个MOSFET,对变压器进行调压,现在需要这样的波形,搞了几天没搞出来,向各位前辈求助,附上波形图。要求两路PWM固定频率,占空比0-50%,前一个波形下降沿时第二个波形要上升。用的是STM8S

QQ图片20161121100702.png (9.72 KB )

QQ图片20161121100702.png
沙发
deviceplugs| | 2016-11-21 10:49 | 只看该作者
用两个timer能否实现?

使用特权

评论回复
板凳
chenlang12|  楼主 | 2016-11-21 11:22 | 只看该作者
同步不好做,试过用中断来控制另一个TIM,但一个下降到另一个的上升有延时

使用特权

评论回复
地板
chenlang12|  楼主 | 2016-11-21 11:23 | 只看该作者
我用的是STM8S207S8T6C,只有TIM1-TIM4

使用特权

评论回复
5
sky.sun.zz| | 2016-11-21 11:36 | 只看该作者
同一个定时器互补输出应该可以呀

使用特权

评论回复
6
chenlang12|  楼主 | 2016-11-21 11:55 | 只看该作者
互补不行的,因为有同时为低电平的情况,加死区也不行,加了死区就不能在一个下降时另一个上升,假如能在波形的一边加死区就可以了,但单片机这样做不到

使用特权

评论回复
7
yzy6651301| | 2016-11-21 12:51 | 只看该作者
中断里面计数判断就可以了

使用特权

评论回复
8
chenlang12|  楼主 | 2016-11-21 13:44 | 只看该作者
当占空比很小时就会一前一后,前一个下降沿就是后一个的上升沿,当占空比增大到50%时就是看上去是互补的波形,此时输出的功率最大

使用特权

评论回复
9
sky.sun.zz| | 2016-11-21 13:52 | 只看该作者
chenlang12 发表于 2016-11-21 11:55
互补不行的,因为有同时为低电平的情况,加死区也不行,加了死区就不能在一个下降时另一个上升,假如能在波 ...

既然占空比为50%,就不会存在同时低电平的情况呀。

使用特权

评论回复
10
songchenping| | 2016-11-21 14:04 | 只看该作者
印象中记得STM32好像有用一个PWM去触发另一路PWM的。

使用特权

评论回复
11
xmar| | 2016-11-21 15:46 | 只看该作者
晶体振荡器(高稳定固定频率) -> 单稳态电路(调占空比) —— 波形输出1
        |
        ------------------->  反相器  -> 单稳态电路(调占空比) —— 波形输出2                                    

使用特权

评论回复
12
mmuuss586| | 2016-11-21 17:20 | 只看该作者
那用互补输出就可以了;

可以参考一本STM8驱动无刷直流电机资料的书籍

使用特权

评论回复
13
lxyppc| | 2016-11-21 17:47 | 只看该作者
先用一个timer的某一路互补输出,比如ch1和ch1N
再用这个timer的另一路输出2倍占空比比如ch2
然后用ch1n与上ch2,得到ch1n2
最后ch1和ch1n2就是你要的波形

使用特权

评论回复
14
chenlang12|  楼主 | 2016-11-21 18:59 | 只看该作者
我把波形的占空比再缩小点来个图,从图可以看出两个波的大部分时间都是同时为低电平的

QQ图片20161121185713.png (9.25 KB )

QQ图片20161121185713.png

使用特权

评论回复
15
chenlang12|  楼主 | 2016-11-21 19:00 | 只看该作者
所以用互补是不行的

使用特权

评论回复
16
chenlang12|  楼主 | 2016-11-21 19:31 | 只看该作者
lxyppc 发表于 2016-11-21 17:47
先用一个timer的某一路互补输出,比如ch1和ch1N
再用这个timer的另一路输出2倍占空比比如ch2
然后用ch1n与 ...

13楼说的方法是可以实现,但输出后需要硬件来做处理,单片机本身软件里做不了,不过还是非常感谢你

使用特权

评论回复
17
戈卫东| | 2016-11-21 20:14 | 只看该作者
ST的TIMER出这个波形,也能做到,但很不方便。

使用特权

评论回复
18
chenlang12|  楼主 | 2016-11-21 20:31 | 只看该作者
我的目的就是让单片机在开机时由一个很小的占空比在50MS内慢慢变为50%,然后就固定不变了,来实现驱动变压器软启动

使用特权

评论回复
19
zlutian| | 2016-11-21 22:11 | 只看该作者
lxyppc 发表于 2016-11-21 17:47
先用一个timer的某一路互补输出,比如ch1和ch1N
再用这个timer的另一路输出2倍占空比比如ch2
然后用ch1n与 ...

13楼正解,的确是好方法。

使用特权

评论回复
20
xmshao| | 2016-11-21 22:18 | 只看该作者
你可以考虑用定时器的主从同步模式,除了两个定时器的计数器初始值不一样外,其它都一样,应该可以实现。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

13

帖子

0

粉丝