PWM “死区”的概念和基本原理

什么是“死区”

就是在上半桥关断后,延迟一段时间再打开下半桥或在下半桥关断后,延迟一段时间再打开上半桥,从而避免功率元件烧毁。

PWM脉宽调制

在电力电子中,最常用的就是整流和逆变。这就需要用到整流桥和逆变桥。以两电平为例,每个桥臂上有两个电力电子器件,比如igbt。这两个igbt不能同时导通,否则就会出现短路的情况。因此,设计带死区的PWM波可以防止上下两个器件同时导通。也就是说,当一个器件导通后关闭,再经过一段死区,这时才能让另一个导通。

通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往会由于各种各样的原因产生延迟的效果,造成某个半桥元件在应该关断时没有关断,造成功率元件烧毁。

死区就是在上半桥关断后,延迟一段时间再打开下半桥或在下半桥关断后,延迟一段时间再打开上半桥,从而避免功率元件烧毁。这段延迟时间就是死区。就是上、下半桥的元件都是关断的时间。死区时间是PWM输出时,为了使H桥或半H桥的上下管不会因为开关速度问题发生同时导通而设置的一个保护时段,所以在这个时间,上下管都不会有输出,当然会使波形输出中断,死区时间一般只占百分之几的周期。但是PWM波本身占空比小时,空出的部分要比死区还大,所以死区会影响输出的纹波,但应该不是起到决定性作用的。

### PWM死区时间原理及其作用 PWM(脉宽调制)技术广泛应用于电力电子设备中,用于调节电机速度、LED亮度以及其他功率控制场景。然而,在某些应用场景下,特别是涉及互补PWM信号的场合,为了避免高边开关低边开关同时导通而导致短路现象的发生,引入了所谓的“死区时间”。 #### 死区时间定义 死区时间是指在切换过程中,为了防止同一桥臂上的两个MOSFET或IGBT器件在同一时刻都处于导通状态而设置的一段时间间隔[^2]。在这段时间内,两个互补的开关都被强制关闭。 #### 原理分析 当使用互补PWM驱动半桥或者全桥电路时,如果上下管(即高侧低侧开关元件)同时开启,则会形成电源到地之间的直接电流路径,这种状况被称为直流通路或“shoot-through”。这种情况不仅会造成极大的瞬态电流尖峰,还可能损坏功率半导体器件。因此,在设计这类系统时,通常会在两组相对应的PWM波形之间加入一段无任何一方激活的时间窗口——这就是所谓的“死区”阶段。 #### 实现方法 以基于STM32微控制器为例说明如何实现带有死区功能的互补型PWM输出: ```c // 配置高级定时器TIM1产生带死区保护机制的互补PWM信号 void TIM_Config(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // 设置自动重装载寄存器ARR值决定周期长度 TIM_TimeBaseStructure.TIM_Period = 999; TIM_TimeBaseStructure.TIM_Prescaler = 71; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); // 配置CH1为主通道 CH1N为其反相版本 TIM_OCStructInit(&TIM_OCInitStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMODE_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;//使能互补输出 TIM_OCInitStructure.TIM_Pulse = 500; // 占空比初始设定为50% TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset; TIM_OC1Init(TIM1,&TIM_OCInitStructure); // 启用死区发生器并调整参数 TIM_BDTRInitStruct.TIM_OSSRState=TIM_OSSRState_Disable ; TIM_BDTRInitStruct.TIM_LOCKLevel=TIM_LOCKLevel_1 ; TIM_BDTRInitStruct.TIM_DeadTime=12 ; // 设定具体数值作为死区宽度单位数 TIM_BDTRInitStruct.TIM_Break=TIM_Break_Disable ; TIM_BDTRInitStruct.TIM_AutomaticOutput=TIM_AutomaticOutput_Enable; TIM_BDTRConfig(TIM1,&TIM_BDTRInitStruct); } ``` 以上代码片段展示了如何利用STM32内部资源创建具有可编程死区特性的双极性PWM输出。 #### 应用领域 - **逆变器**:在家用空调压缩机或其他交流感应马达控制系统里,恰当配置好的死区有助于提升效率减少发热损耗。 - **DC/DC转换器**:对于升降压斩波拓扑结构而言,合理规划好死区可以有效降低电磁干扰EMI水平以及优化动态响应特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值