OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5125|回复: 17

六路互补PWM

[复制链接]

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
发表于 2018-11-14 11:24:05 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 ningjing 于 2018-11-20 20:06 编辑

在T1和T4,T3和T6,T5和T2互补输出的条件下,
STM32F103 利用高级定时器TIM1能否实现T1,T2输出PWM波,T4,T5关闭。也就是H-PWM-L-PWM
微信图片_20181114111954.png

最佳答案

查看完整内容[请看2#楼]

那是不是4,5开启的时候,1,2关闭。如果是这样的话,那我那个配置是可以用的。我做三相逆变的时候就是这么配置的。你所说的这个要求不是由配置决定的。而是看你程序是怎么写的。比如说查表法,这个就是由你定表格决定。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-14 11:24:06 | 显示全部楼层
那是不是4,5开启的时候,1,2关闭。如果是这样的话,那我那个配置是可以用的。我做三相逆变的时候就是这么配置的。你所说的这个要求不是由配置决定的。而是看你程序是怎么写的。比如说查表法,这个就是由你定表格决定。
回复

使用道具 举报

2

主题

68

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4160
金钱
4160
注册时间
2016-7-22
在线时间
584 小时
发表于 2018-11-14 11:50:34 | 显示全部楼层
这样的话,T5 T4不就在T1 T2的时候导通了?
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-14 13:06:46 | 显示全部楼层
冻结的鱼 发表于 2018-11-14 11:50
这样的话,T5 T4不就在T1 T2的时候导通了?

不会的。
现在我只学会了使T1上是PWM,T2保持常开,此时,T4,T5是可以保持关断的。
回复

使用道具 举报

2

主题

68

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4160
金钱
4160
注册时间
2016-7-22
在线时间
584 小时
发表于 2018-11-14 14:04:27 | 显示全部楼层
我之前的做法是使用同或门gate drive 实现你说的H-PWM-L-PWM
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-14 14:25:28 | 显示全部楼层
用定期1 就可以实现6路互补
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-14 14:29:02 | 显示全部楼层
我做三相逆变的时候就是用定期1。可以将通道1、2、3全部打开。例如如以下配置
        /* Channel_1   TIM_OCMode_PWM1模式 */         
        TIM_OCInitStructure.TIM_OCMode       = TIM_OCMode_PWM1;                //在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平
        TIM_OCInitStructure.TIM_OutputState  = TIM_OutputState_Enable;          //比较输出使能
        TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;         //PWM互补输出使能
        TIM_OCInitStructure.TIM_Pulse        = Channel1Pulse;                                //占空比 = TIM_Pulse/TIM_Period;
        TIM_OCInitStructure.TIM_OCPolarity   = TIM_OCPolarity_High;             //有效电平为高电平
        TIM_OCInitStructure.TIM_OCNPolarity  = TIM_OCNPolarity_High;           //互补PWM极性
        TIM_OCInitStructure.TIM_OCIdleState  = TIM_OCIdleState_Set;                   //输出空闲状态
        TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;          //PWM互补输出空闲状态
        TIM_OC1Init(TIM1, &TIM_OCInitStructure);   
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-14 14:30:25 | 显示全部楼层
你这个电路不是做三相逆变就是做三相电机控制。所以定时器1完全可以完成这个任务。
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2018-11-17
在线时间
2 小时
发表于 2018-11-17 01:37:29 | 显示全部楼层
干嘛吧管子排得那么乱,不是杂自己脑子么
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-17 17:58:08 | 显示全部楼层
明记冷气 发表于 2018-11-17 01:37
干嘛吧管子排得那么乱,不是杂自己脑子么

还好吧!这是电力电子的斩波,实际开关顺序刚好是12,23,34,45,56,61
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-17 18:01:26 | 显示全部楼层
冻结的鱼 发表于 2018-11-14 14:04
我之前的做法是使用同或门gate drive 实现你说的H-PWM-L-PWM

是在软件中实现的吗?能详细的说一下吗?我不太明白。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-20 15:31:31 | 显示全部楼层
douxiaolingyun 发表于 2018-11-14 14:29
我做三相逆变的时候就是用定期1。可以将通道1、2、3全部打开。例如如以下配置
        /* Channel_1   TIM_OCMod ...

你的方案似乎不行。

我希望,通道3打开,但是OC3关闭,同时OC3N(即通道三的互补通道)能够输出PWM波。
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-20 16:47:28 | 显示全部楼层
也就是说你只用到OC3N???OC3不用???这个就得你自己去研究手册了。
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-20 16:50:20 | 显示全部楼层
还是说T2和T1开启的时候,T5和T4关闭。你的要求能否说清楚点。你一个斩波电路怎么给你搞得这么复杂
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-20 20:04:04 | 显示全部楼层
douxiaolingyun 发表于 2018-11-20 16:50
还是说T2和T1开启的时候,T5和T4关闭。你的要求能否说清楚点。你一个斩波电路怎么给你搞得这么复杂

是的,要求1,2开启的时候,4,5关闭!
回复

使用道具 举报

2

主题

68

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4160
金钱
4160
注册时间
2016-7-22
在线时间
584 小时
发表于 2018-11-21 11:04:40 | 显示全部楼层
ningjing 发表于 2018-11-17 18:01
是在软件中实现的吗?能详细的说一下吗?我不太明白。

同或门,也即相同为1,不同为0的门驱动,mcu发出相同信号(00,11),经过这个门驱动输出为11;mcu发出不同信号(01,10),经过这个门驱动输出为00,这样便比较容易实现h-pwm-l-pwm;
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-11-14
在线时间
5 小时
 楼主| 发表于 2018-11-22 18:22:04 | 显示全部楼层
冻结的鱼 发表于 2018-11-21 11:04
同或门,也即相同为1,不同为0的门驱动,mcu发出相同信号(00,11),经过这个门驱动输出为11;mcu发出不 ...

我还不会改板子
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6552
金钱
6552
注册时间
2018-6-27
在线时间
551 小时
发表于 2019-3-8 07:52:38 | 显示全部楼层
学习学习,学习学习。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 21:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表