STM32F4高级定时器死区控制(二)

  1. 死区时间概念

从BLDC控制换相电路可得出:

当两路互补PWM输出时,为了使桥式换相电路上管T1和下管T2、上管T3和下管T4、上管T5和下管T6不会因为开关速度问题发生同时导通而设置的一个包含时段

假设STM32高级定时器OCx和OCxN输出互补通道PWM,极性都是高电平有效,则下图标注"延时"那段时间就是死区时间,此时间段上管和下管都没有导通。

2. STM32高级定时器死区时间计算

  1. 配置断路和死区寄存器(TIMx_BDTR)

      2. 死区时间计算示例

假设STM32F407的高级定时器1的时钟为168MHz,设置tDTS = 1/168us。

计算公式表:

DTG[7:5]值tdtg值死区时间

DTG[7:5]=0xx

tdtg=tDTS=1/168usDTG[7:0] /168 us
DTG[7:5]=10xtdtg=2tDTS=2/168 us(64+DTG[5:0]) /84 us
DTG[7:5]=110tdtg=8tDTS=8/168us(32+DTG[4:0]) /21 us
DTG[7:5]=111tdtg=16tDTS=16/168us2*(32+DTG[4:0]) /21 us

死区时间设置2us,经过估算该死区时间落在DTG[7:5]=110段。

(32+DTG[4:0]) /21 us= 2us,计算出DTG[4:0]=10=01010B

再与DTG[7:5]拼接,最后算得DTG[7:0]=10=11001010B=0xCA。

死区时间设置4us,经过估算该死区时间落在DTG[7:5]=111段。

2*(32+DTG[4:0]) /21 us= 4us,计算出DTG[4:0]=10=01010B

再与DTG[7:5]拼接,最后算得DTG[7:0]=10=11101010B=0xEA。

3. 配置死区时间过程可能出现的问题

问题1:发现插入死区时间后,没有互补脉冲输出了。一般是死区参数设置不合适导致出现了以下两种情况。

如果延迟时间大于有效输出(OCx或OCxN)的宽度,则不会产生响应的脉冲。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值