OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

12
返回列表 发新帖
楼主: 229382777@qq.co

对教程的补充:PWM互补输出及死区时间代码和详解(原创)

  [复制链接]

  离线 

1

主题

4

帖子

0

精华

新手上路

Rank: 1

积分
16
金钱
16
注册时间
2016-5-19
在线时间
6 小时
发表于 2016-11-28 09:23:56 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

4

主题

120

帖子

1

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2014-8-7
在线时间
36 小时
发表于 2016-11-28 13:59:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

积分
3
金钱
3
注册时间
2016-11-22
在线时间
0 小时
发表于 2016-11-28 15:57:22 | 显示全部楼层
大神大神,我下载了压缩包仿真之后能用。频率死区都可以改。
但是烧录到开发板中后,示波器观察没有死区,把死区调大好几倍之后,示波器里观察还是占空比50%,相当于没死区。而且用万用表测也是1.6V。板子上各路确实输出了各个不同占空比的信号,但是没有死区。
QQ图片20161128151846.png
回复 支持 反对

使用道具 举报

  离线 

1

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2016-11-21
在线时间
42 小时
发表于 2016-11-29 00:01:51 | 显示全部楼层
MARK一下 谢谢分享
回复 支持 反对

使用道具 举报

  离线 

3

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-6-2
在线时间
27 小时
发表于 2016-11-29 09:59:16 | 显示全部楼层
如梦悠悠 发表于 2016-11-28 09:23
请问是哪里的问题呀?我也是STM32F103ZET6,怎么都没有输出

贴代码来看看
回复 支持 反对

使用道具 举报

  离线 

4

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2015-9-7
在线时间
65 小时
发表于 2016-11-29 15:26:06 | 显示全部楼层
mark yixia
回复 支持 反对

使用道具 举报

  离线 

1

主题

4

帖子

0

精华

新手上路

Rank: 1

积分
16
金钱
16
注册时间
2016-5-19
在线时间
6 小时
发表于 2016-11-30 09:27:49 | 显示全部楼层

现在解决了,完全按照楼主的代码,只是把芯片换成了ZET6,我看你的程序中用了PE2,PE6,不是TIM1-XN的通道,这样也行吗?
回复 支持 反对

使用道具 举报

  离线 

10

主题

139

帖子

0

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-7-11
在线时间
86 小时
发表于 2016-12-18 21:16:14 | 显示全部楼层
赞学习一下!!!
回复 支持 反对

使用道具 举报

站台 该用户已被删除
发表于 2017-3-11 00:57:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

  离线 

31

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
475
金钱
475
注册时间
2016-12-31
在线时间
60 小时
发表于 2017-3-11 14:00:42 | 显示全部楼层
学习中,加油
回复 支持 反对

使用道具 举报

  离线 

6

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2013-3-20
在线时间
11 小时
发表于 2017-3-31 10:59:53 | 显示全部楼层
请问你的Tds是怎么得到?
微博Sweeneycc
回复 支持 反对

使用道具 举报

  离线 

6

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2013-3-20
在线时间
11 小时
发表于 2017-3-31 12:32:41 | 显示全部楼层
本帖最后由 杨胡 于 2017-3-31 12:49 编辑

你的10k是计数器的时钟频率(CK_CNT)

这里应该要用定时器时钟(CK_INT)来计算吧,

定时器的时钟只跟系统时钟(SYSCLK)、AHB、APPB2有关


所以不知道你的为何会出现正确的结果?

你的10k是计数器的时钟频率(CK_CNT)

你的10k是计数器的时钟频率(CK_CNT)

这里应该要用定时器时钟(CK_INT)来计算吧,

这里应该要用定时器时钟(CK_INT)来计算吧,
3.png

定时器的时钟只跟系统时钟(SYSCLK)、AHB、APPB2有关

定时器的时钟只跟系统时钟(SYSCLK)、AHB、APPB2有关
回复 支持 反对

使用道具 举报

  离线 

13

主题

772

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2200
金钱
2200
注册时间
2015-7-26
在线时间
565 小时
 楼主| 发表于 2017-3-31 13:38:03 | 显示全部楼层
杨胡 发表于 2017-3-31 12:32
你的10k是计数器的时钟频率(CK_CNT)

这里应该要用定时器时钟(CK_INT)来计算吧,

很久之前的帖子,太久没操作具体的已经忘了
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

积分
23
金钱
23
注册时间
2017-7-14
在线时间
6 小时
发表于 2017-7-20 17:12:15 | 显示全部楼层
zhanghan4310 发表于 2015-11-14 08:07
写的很好啊,用库方式更加容易理解一点,期待楼主的更多分享!

请问哪里可以找到库函数版本?
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

积分
2
金钱
2
注册时间
2017-7-25
在线时间
0 小时
发表于 2017-7-25 15:44:57 | 显示全部楼层
杨胡 发表于 2017-3-31 12:32
你的10k是计数器的时钟频率(CK_CNT)

这里应该要用定时器时钟(CK_INT)来计算吧,

大家注意一下,62楼是正解,原楼主在计算死区时间时计算错误,导致示波器看结果的时候没有死区,其实是有的大约277ns。72MHZ不分频的情况下死区计算如下
DTG[7:5]=0xx => DT=DTG[7:0] * Tdtg,Tdtg = TDTS;  0-1764ns
DTG[7:5]=10x => DT=(64+DTG[5:0]) * Tdtg,Tdtg = 2 * TDTS;  1777.9ns~3528.88ns
DTG[7:5]=110 => DT=(32+DTG[4:0]) * Tdtg,Tdtg = 8 * TDTS;  3555.84ns~7000.56ns
DTG[7:5]=111 => DT=(32+DTG[4:0]) * Tdtg,Tdtg = 16 * TDTS; 7111.68ns~14001.12ns
TIM1->BDTR|=0xCD;      //72Mhz, 13.89nsX(32+DTG)*8=5us
回复 支持 反对

使用道具 举报

  离线 

3

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-7-29
在线时间
18 小时
发表于 2017-7-29 15:47:11 | 显示全部楼层
强,学习了, 不错
回复 支持 反对

使用道具 举报

  离线 

3

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2017-7-28
在线时间
15 小时
发表于 2017-8-2 22:03:50 | 显示全部楼层
佩服楼主用直接操作寄存器的方式来写,,,
回复 支持 反对

使用道具 举报

  离线 

2

主题

6

帖子

0

精华

新手上路

Rank: 1

积分
18
金钱
18
注册时间
2017-8-4
在线时间
4 小时
发表于 2017-8-5 20:37:54 | 显示全部楼层
楼主你好,那么请问TIM8的三个互补输出通道是哪些引脚呢?我的原理图当中并没有给出标注。
回复 支持 反对

使用道具 举报

  离线 

1

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2017-8-21
在线时间
15 小时
发表于 2017-8-21 11:35:34 | 显示全部楼层
真的很不错
回复 支持 反对

使用道具 举报

  离线 

11

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2017-8-29
在线时间
21 小时
发表于 2017-9-13 13:14:08 | 显示全部楼层
现在用stm32f334的高精度定时器,正好有死区时间的概念。帮助我理解了
回复 支持 反对

使用道具 举报

  离线 

3

主题

30

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1441
金钱
1441
注册时间
2016-9-22
在线时间
29 小时
发表于 2017-10-28 22:05:25 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

  离线 

3

主题

5

帖子

0

精华

新手上路

Rank: 1

积分
48
金钱
48
注册时间
2015-9-1
在线时间
0 小时
发表于 6 天前 | 显示全部楼层
楼主总结的不错,点赞!不过对于死区时间的设置和计算,62楼和65楼是正解!加油!
回复 支持 反对

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-17 23:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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