资料介绍
什么是死区时间?
PWM是脉冲宽度调制,在电力电子中,最常用的就是整流和逆变。这就需要用到整流桥和逆变桥。
对三相电来说,就需要三个桥臂。以两电平为例,每个桥臂上有两个电力电子器件,比如IGBT。大致如下图所示;
这两个IGBT不能同时导通,否则就会出现短路的情况,从而对系统造成损害。
那为什么会出现同时导通的情况呢?
因为开关元器件的 和 严格意义并不是相同的。
所以在驱动开关元器件门极的时候需要增加一段延时,确保另一个开关管完全关断之后再去打开这个开关元器件,通常存在两种情况;
- 上半桥关断后,延迟一段时间再打开下半桥;
- 下半桥关断后,延迟一段时间再打开上半桥;
这样就不会同时导通,从而避免功率元件烧毁;死区时间控制在通常的单片机所配备的PWM中都有这样的功能,下面会进一步介绍。
互补PWM的死区时间相对于PWM来说,死区时间是在PWM输出的这个时间,上下管都不会有输出,当然会使波形输出中断,死区时间一般只占百分之几的周期。但是当PWM波本身占空比小时,空出的部分要比死区还大,所以死区会影响输出的纹波,但应该不是起到决定性作用的。
另外如果死区设置过小,但是仍然出现上下管同时导通,因为导通时间非常非常短,电流没有变得很大,不足以烧毁系统,那此时会导致开关元器件发热严重,所以选择合适的死区时间尤为重要,过大过小都不行。
数据手册的参数
这里看了一下NXP的IRF540的数据手册,栅极开关时间如下所示;
IRF540然后找到相关的 , , , 的相关典型参数;
典型参数- :门极的开通延迟时间
- :门极的关断延迟时间
- :门极上升时间
- :门极下降时间
下面是一个IGBT的数据手册;
IGBT下图是IGBT的开关属性,同样可以找到 , , , 等参数,下面计算的时候会用到;
开关属性如何计算合理的死区时间?
这里用 表示死区时间,因为门极上升和下降时间通常比延迟时间小很多,所以这里可以不用考虑它们。则死区时间满足;
- :最大的关断延迟时间;
- :最小的开通延迟时间;
- :最大的驱动信号传递延迟时间;
- :最小的驱动信号传递延迟时间;
其中 和 正如上文所提到的可以元器件的数据手册中找到; 和 一般由驱动器厂家给出;
如果是MCU的IO驱动的话,需要考虑IO的上升时间和下降时间,另外一般会加光耦进行隔离,这里还需要考虑到光耦的开关延时。
STM32中配置死区时间
STM32的TIM高级定时器支持互补PWM波形发生,同时它支持插入死区时间和刹车的配置。
直接看参考手册里的寄存器TIMx_BDTR,这是配置刹车和死区时间的寄存器;
TIMx_BDTR可以看到死区时间DT由**UTG[7:0]**决定,这里还有一个问题是 是什么?在TIMx_CR1的寄存器可以得知, 由TIMx_CR1寄存器的CKD决定;
如果这里配置成00,那么 和内部定时器的频率相同,为8M;
CKD结合代码做一下计算;系统频率为72M,下面是时基单元的配置;
#define PWM_FREQ ((u16) 16000) // in Hz (N.b.: pattern type is center aligned) #define PWM_PRSC ((u8)0) #define PWM_PERIOD ((u16) (CKTIM / (u32)(2 * PWM_FREQ *(PWM_PRSC+1))))
TIM_TimeBaseStructInit(&TIM1_TimeBaseStructure); /* Time Base configuration */ TIM1_TimeBaseStructure.TIM_Prescaler = 0x0; TIM1_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned1; TIM1_TimeBaseStructure.TIM_Period = PWM_PERIOD; TIM1_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV2;
PWM的频率是16K,注意这里的PWM是中央对齐模式,因此配置的时钟频率为32K;
下面时刹车和死区时间,BDTR寄存器的配置,因此这里的CK_INT为32M
#define CKTIM ((u32)72000000uL) /* Silicon running at 72MHz Resolution: 1Hz */ #define DEADTIME_NS ((u16) 500) //in nsec; range is [0...3500] #define DEADTIME (u16)((unsigned long long)CKTIM/2 \ *(unsigned long long)DEADTIME_NS/1000 000 000uL)
TIM1_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; TIM1_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; TIM1_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1; TIM1_BDTRInitStructure.TIM_DeadTime = DEADTIME; TIM1_BDTRInitStructure.TIM_Break = TIM_Break_Disable; TIM1_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High; TIM1_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Disable;
例:若TDTS = 31ns(32MHZ),可能的死区时间为:0到3970ns,若步长时间为31ns;4000us到8us,若步长时间为62ns;8us到16us,若步长时间为250ns;16us到32us,若步长时间为500ns;
如果需要配置死区时间 1000ns,系统频率72,000,000Hz,那么需要配置寄存器的值为;
直接写成宏定义的形式;
#define DEADTIME (u16)((unsigned long long)CKTIM/2 \
*(unsigned long long)DEADTIME_NS/1000 000 000uL)
用示波器验证了一下;具体如下图所示;
- 直流控制系统中PWM功放的频率和死区设置 3次下载
- 使用stm32互补输出PWM波并且控制死区时间,带刹车功能
- STM32 TIM高级定时器死区时间的计算
- STM32CUbeMX之两路互补pwm波 以及死区时间设置
- 如何在STM32Fx系列和 STM32L1 系列器件中获得最好的ADC精度
- PWM在LED驱动电源中的作用资料下载
- STM32 APB1总线时钟配置问题资料下载
- PWM在电子技术中的重要地位,那你知道PWM调速原理吗?资料下载
- 浅谈STM32单片机学习---PWM输出资料下载
- STM32F030_LED详细配置总结资料下载
- 如何配置IAR的CRC参数(STM32)资料下载
- STM32F030_USART的常用应用和功能配置资料下载
- 如何在不间断测试中抓捕记录跳变信号?资料下载
- 三极管是如何在电路中应用的资料下载
- 中断是什么?STM32中断系统介绍和中断配置步骤资料免费下载 5次下载
- STM32呼吸灯中PWM的配置与应用详解 1763次阅读
- 解读DSP里的PWM死区 1354次阅读
- DSP里的PWM死区介绍 773次阅读
- 如何在Zabbix中配置电话短信机器人报警 4259次阅读
- 什么是PWM“死区”? 1520次阅读
- 用定时器生成PWM波的方法 2726次阅读
- 示波器的采集原理、波形刷新率的作用及死区时间的计算 8399次阅读
- PWM的死区时间到底是什么如何计算死区时间 2.7w次阅读
- STM32L475使用PWM输出波形 3295次阅读
- SPWM逆变器的死区时间所产生的谐波影响及有益设计研究 1w次阅读
- 如何采用STM32中的控制定时器Tim1实现计数器功能 1.7w次阅读
- 关于STM32的 一个TIM1 的PWM程序和PWM简单使用 4w次阅读
- STM32定时器产生PWM彻底应用 7097次阅读
- 如何在STM32中得到最佳的ADC精度 6.2w次阅读
- STM32高级定时器-PWM简单学习案例 4746次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多