文档库 最新最全的文档下载
当前位置:文档库 › 高级定时器产生互补带死区的PWM

高级定时器产生互补带死区的PWM

高级定时器产生互补带死区的PWM
高级定时器产生互补带死区的PWM

高级定时器产生互补带死区的PWM

高级控制定时器(TIM1和TIM8)能够输出两路互补信号,并且能够管理输出的瞬时关断和接通。这段时间通常被称为死区,用户应该根据连接的输出器件和它们的特性(电平转换的延时、电源开关的延时等)来调整死区时间。

配置TIMx_CCER寄存器中的CCxP和CCxNP位,可以为每一个输出独立地选择极性(主输出OCx或互补输出OCxN)。互补信号OCx和OCxN通过下列控制位的组合进行控制:TIMx_CCER寄存器的CCxE和CCxNE位,TIMx_BDTR 和TIMx_CR2寄存器中的MOE、OISx、OISxN、OSSI和OSSR位,详见表75带刹车功能的互补输出通道OCx和OCxN的控制位。

特别的是,在转换到IDLE状态时(MOE下降到0)死区被激活。同时设置CCxE 和CCxNE位将插入死区,如果存在刹车电路,则还要设置MOE位。每一个通道都有一个10位的死区发生器。

参考信号OCxREF可以产生2路输出OCx和OCxN。如果OCx和OCxN为高有效:●OCx输出信号与参考信号相同,只是它的上升沿相对于参考信号的上升沿有一个延迟。●OCxN输出信号与参考信号相反,只是它的上升沿相对于参考信号的下降沿有一个延迟。如果延迟大于当前有效的输出宽度(OCx或者OCxN),则不会产生相应的脉冲。

下列几张图显示了死区发生器的输出信号和当前参考信号OCxREF之间的关系。(假设CCxP=0、CCxNP=0、MOE=1、CCxE=1并且CCxNE=1)。每一个通道的死区延时都是相同的,是由TIMx_BDTR寄存器中的DTG位编程配置。详见13.4.18 节TIM1和TIM8刹车和死区寄存器(TIMx_BDTR)中的延时计算。

SVPWM中全新的死区时间效应补偿方法

SVPWM中全新的死区时间效应补偿方法 杨来坡王泰宇徐鸿李千里 安徽中家智锐科技有限公司 摘要:文章对3相逆变的死区时间效应进行了分析,同时给出了一种全新的针对永磁同步电机驱动中死区效应的补偿方法。该方法同时考虑了零电流钳位和寄生电容的影响,经过计算和实际验证,确实改善了死区效应的影响。本方法理论分析的有效性及其实际效果都通过在空调直流电机驱动控制应用中得到了充分验证。 关键词:三电平逆变器;死区时间;补偿;PWM Dead-time compensation in the application of SVPWM  Laipo YangTaiyu WangHong XuQianli Li Anhui Cheari Zhi Rui Technology Limited Company Abstract: The Dead-time effect of the three phases bridge inverter is analyzed in this paper. A Dead-time compensation strategy is presented for a permanent-magnet synchronous motor drive taking zero-current damp and parasitic capacitance effects into account. It improves the Dead-time effect, with practicality and little calculation .The validity of theory analysis and this method is proved by the experiment results, the method is applied to the controlling of Air conditioner motor.  Keywords: Three-level inverter;Dead time;Compensation;PWM

推荐-stm32中定时器产生不同PWM的基本思路 精品

在stm32中利用定时器TIM调制PWM的几种方法: 说说我的学习经历:从开始接触到现在有好几个月了,但是学习还是比较的费劲,而且速度也比较的缓慢,当然相比之前还是有很大的进步,记得刚刚学习的时候,建工程都是大四学长手把手教的。废话不多说先来讲讲定时器的配置: STM32F10系列最少3个、做多有8个定时器,都是16位定时器,且相互之间是独立的,计数范围为0x0000-0xffff,最大计数值为65535.可以用于测量输入信号的脉冲长度或者产生输出波形(输出比较和PWM)分为通用定时器,高级定时器,以及看门狗定时器 下面主要讲通用定时器的配置问题: 以定时器TIM1为例:先进行函数的配置 void timer1_config() { TIM_TimeBaseInitTypDef TIM_TimeBaseStructure; //开定时器1外设时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM1,ENABLE); //计时50000次时间为50000/10M=500ms TIM_TimeBaseStructure.TIM_Period=50000 ; TIM_TimeBaseStructure.TIM_Prescaler = 720-1;//720分频 TIM_TimeBaseStructure.TIM_ClockDivision =0;//时钟分割为0; //计数模式向上计数 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure)//初始化TIM1 TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);//开启定时器中断 TIM_Cmd(TIM1,ENABLE); //使能定时器 } 关于时间的计算问题: 外设系统时钟的频率为72M,进行720分频以后,频率f=72M/720=100khz. 如果要定时0.1s 则计数值为10000,计算公式为:时间(t)=计数值(n)/频率(f).注意计数值n介于0到65535之间 有定时器则一定会有中断发生,所以要配置中断优先级,对于中断优先 级函数配置如下: V oid nvic_config() { NVIC_InitTypDef NVIC_InitStructure; //抢占优先级为1位,从优先级为3位 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1) ; NVIC_InitStructure.NVIC_IRQChannel=TIM1_IRQn; //定义定时器1为请求通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; //抢占式优先级为0 NVIC_InitStructure.NVIC_IRQChannelSubPriority=2; //从优先级为2 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能中断优先级 NVIC_Init(&NVIC_InitStructure); //初始化中断 } 对于优先级中的抢占式和从优先级做如下解释: 抢占式优先级:是可以抢占的中断,比如正在执行的优先级为10的中断,突然来了一个优

STM32高级定时器死区时间设置探究

STM32高级定时器死区时间设置探究 一、死区设置位置: 决定死区时间设置的位是‘刹车和死区寄存器TIM1->BDTR’中的DTG[7:0],设置范围是0x00~0xff。 二、死区时间设置公式如下: DT为死区持续时间,TDTS为系统时钟周期时长,Tdtg为系统时钟周期时长乘以倍数后的死区设置时间步进值。 在72M的定时器时钟下TDTS=1/72M=13.89ns. 所以以第一个公式,死区时间能以13.89ns的步进从0调整到127*13.89ns=1764ns 第二个公式则能(64+0)*2*13.89~(64+63)*2*13.89=1777.9ns~3528.88ns 换个角度看,就是(128~254)*13.89

同理,第三个公式就是3555.84ns~7000.56ns 换个角度看,就是(256~504)*13.89 第四个公式就是7111.68ns~14001.12ns 换个角度看,就是(512~1008)*13.89 综上: 死区时间就是不同的公式代表不同范围的死区时间设置,这个范围是互不重叠的。而但是在不同的死区时间范围内死区时间设置步进是不同的。 若某个系统时钟下的死区时间不够,可以通过改变定时器时钟来改变最大死区时间范围。 当根据硬件电路的特性定下死区时间后,可以根据目标死区时间范围来找到相应的公式,然后代入公式求解出相应的整数(有时候不一定是整数,那就选择最近的那个),拼接DTG[7:5]+DTG[4:0]即可。 例子:这样当我需要3us的死区持续时间时,则可这么计算: 3us在第二个公式决定的死区范围之内。所以选择第二个公式。 3000/(13.89*2)=108,所以DTG[5:0]=108-64=44,所以DTG=127+44=171=0Xab TIM1->BDTR|=0xab; 反过来验算//72Mhz,死区时间=13.89nsX108*2=3000us 经示波器验证,完全正确。 By zxx2013.07.18

STM32高级定时器日记之PWM

STM32高级定时器PWM实用程序 文章来源:本站原创作者:佚名 该文章讲述了STM32高级定时器PWM实用程序. 高级定时器与通用定时器比较类似,下面是一个TIM1 的PWM 程序,TIM1是STM32唯一的高级定时器。共有4个通道有死区有互补。 先是配置IO脚: GPIO_InitTypeDef GPIO_InitStructure; /* PA8设置为功能脚(PWM) */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /*PB13 设置为PWM的反极性输出*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure); /*开时钟PWM的与GPIO的*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /*配置TIM1*/ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; void Tim1_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_DeInit(TIM1); //重设为缺省值 /*TIM1时钟配置*/ TIM_TimeBaseStructure.TIM_Prescaler = 4000; //预分频(时钟分 频)72M/4000=18K TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数TIM_TimeBaseStructure.TIM_Period = 144; //装载值18k/144=125hz 就是说向上加的144便满了 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置了时钟分割不

死区时间设计

设计课题:PWM死区发生器设计与实现设计者: 姓名: 指导教师:

1、系统设计 (4) 1.1设计要求 (4) 1.2方案框图 (4) 2、单元电路的设计 (4) 2.1多谐振荡电路 (4) 2.1.1原理图 (4) 2.1.2工作原理 (5) 2.1.3参数选择 (5) 2.2死区产生电路 (5) 2.2.1原理图 (5) 2.2.2工作原理 (6) 2.2.3参数选择 (6) 3、系统测试结果 (6) 3.1 555引脚3波形 (6) 3.2死区波形 (7) 4、设计总结 (8) 5、参考文献 (8) 6、附录 (8) 元器件清单 (8) 总原理图 (9) PCB图 (9)

555定时器是一种多用途的数字——模拟混合集成电路,利用它能极方便地构成施密特触发器、单稳态触发器和多谐振荡器。由于使用灵活、方便,所以555定时器在波形的产生与变换、测量与控制、家用电器、电子玩具等许多领域中都得到了应用。CD4001是四2输入或非门。或非门的逻辑关系特点是只有当输入端全部为低电平时,输出端为高电平状态;在其余输入情况下,输出端为低电平状态。该电路是一种由555定时器和CD4001为核心器件组成的PWM 死区发生器电路,电路简单且易调试。 关键词:555;CD4001;PWM;死区

1、系统设计 1.1设计要求 ⑴用555及门电路为主芯片 ⑵555芯片<=1片 ,且门电路芯片数<=1片 ⑶开关频率10KHz ⑷输出高电平有效 ⑸占空比可调 ⑹死区时间3us 1.2方案框图 2、单元电路的设计 2.1多谐振荡电路 2.1.1原理图 TRIG 2 OUT 3 4 CVOLT 5 THOLD 6DISCHG 7 8 1 RESET VCC GND U? 555 D2IN4148 D1 IN4148C1103 R14K3 RW15K C2104 VCC R W 2 5K

stm32高级定时器使用教程

STM32 高级定时器-PWM简单使用 2010-04-14 14:49:29| 分类:STM32 | 标签:|举报|字号大中小订阅高级定时器与通用定时器比较类似,下面是一个TIM1 的PWM 程序,TIM1是STM32唯一的高级定时器。共有4个通道有死区有互补。 先是配置IO脚: GPIO_InitTypeDef GPIO_InitStructure; /* PA8设置为功能脚(PWM) */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /*PB13 设置为PWM的反极性输出*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /*开时钟PWM的与GPIO的*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /*配置TIM1*/ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;

PWM死区时间

死区时间是PWM输出时,为了使H桥或半H桥的上下管不会因为开关速度问题发生同时导通而设置的一个保护时段。通常也指pwm响应时间。由于IGBT(绝缘栅极型功率管)等功率器件都存在一定的结电容,所以会造成器件导通关断的延迟现象。一般在设计电路时已尽量降低该影响,比如尽量提高控制极驱动电压电流,设置结电容释放回路等。为了使igbt工作可靠,避免由于关断延迟效应造成上下桥臂直通,有必要设置死区时间,也就是上下桥臂同时关断时间。死区时间可有效地避免延迟效应所造成的一个桥臂未完全关断,而另一桥臂又处于导通状态,避免直通炸模块。死区时间大,模块工作更加可靠,但会带来输出波形的失真及降低输出效率。死区时间小,输出波形要好一些,只是会降低可靠性,一般为us级。一般来说死区时间是不可以改变的,只取决于功率元件制作工艺! 死区时间是指控制不到的时间域。在变频器里一般是指功率器件输出电压、电流的“0”区,在传动控制里一般是指电机正反向转换电压、电流的过零时间。死区时间当然越小越好。但是所以设置死区时间,是为了安全。因此又不可没有。最佳的设置是:在保证安全的前提下,越小越好。以不炸功率管、输出不短路为目的(baidu的) 死区时间是PWM输出时,为了使H桥或半H桥的上下管不会因为开关速度问题发生同时导通而设置的一个保护时段,所以在这个时间,上下管都不会有输出,当然会使波形输出中断,死区时间一般只占百分之几的周期。但是PWM波本身占空比小时,空出的部分要比死区还大,所以死区会影响输出的纹波,但应该不是起到决定性作用的。 死区,简单解释:通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往会由于各种各样的原因产生延迟的效果,造成某个半桥元件在应该关断时没有关断,造成功率元件烧毁。死区就是在上半桥关断后,延迟一段时间再打开下半桥或在下半桥关断后,延迟一段时间再打开上半桥,从而避免功率元件烧毁。这段延迟时间就是死区。(就是上、下半桥的元件都是关断的)死区时间控制在通常的低端单片机所配备的PWM中是没有的。 PWM的上下桥臂的三极管是不能同时导通的。如果同时导通就会是电源两端短路。所以,两路触发信号要在一段时间内都是使三极管断开的。这个区域就叫做“死区”优点就不用说了。缺点是使谐波的含量有所增加。

STM32的PWM精讲

STM32的PWM精讲 通过对TM1定时器进行控制,使之各通道输出插入死区的互补PWM输出,各通道输出频率均为17.57KHz。其中,通道1输出的占空比为50%,通道2输出的占空比为25%,通道3输出的占空比为12.5%。各通道互补输出为反相输出。 TM1定时器的通道1到4的输出分别对应PA.08、PA.09、PA.10和PA.11 引脚,而通道1到3的互补输出分别对应PB.13、PB.14和PB.15引脚,中止输入引脚为PB.12。将这些引脚分别接入示波器,在示波器上观查相应通道占空比的方波[12]。 配置好各通道后,编译运行工程;点击MDK的Debug菜单,点击Start/Stop Debug Session;通过示波器察看 PA.08、PA.09、PA.10、PB.13、PB.14、PB.15 的输出波形,其中PA.08和PB.13为第一通道和互补通道,PB.09和PB.14为第二通道和其互补通道,PB.10和PB.15为第三通道和其互补通道;第一通道显示占空比为50%,第二通道占空比为25%,第三通道占空比为12.5%。 第2章STM32处理器概述 STM32F103xx增强型系列产品中内置了多达3个同步的标准定时器。每个定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。 在调试模式下,计数器可以被冻结。任一个标准定时器都能用于产生PWM 输出。每个定时器都有独立的DMA请求机制。 2.4.2 高级控制定时器[22] 高级控制定时器(TM1)由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较,PWM,嵌入死区时间的互补PWM等)。 使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒至几个毫秒的调节。高级控制(TIM1)和通用(TMx)定时器是完全

IGBT模块IPM死区时间设计方法

IGBT模块/IPM死区时间设计方法 死区时间是PWM输出时,为了使H桥或半H桥的上下IGBT管不会因为开关速度问题发生同时导通而设置的一个保护时段。通常也指pwm响应时间。下图是变频空调室外压缩机控制驱动主电路的原理图。 220V交流电压经过由D1~D4和电解电容C1组成的桥式整流和阻容滤波电路后成为给IPM供电的直流电压,六个开关管按照一定规律通断,分别在U、V、W三相输出一系列的矩形信号,通过调整矩形波的频率与占空比达到调节输出电压频率和幅度的目的,即现在应用最广泛的PWM(PULSE WIDTH MODULATE 脉冲宽度调制)控制技术,PWM控制技术从控制思想上可以分成四类:等脉宽PWM法、正弦波PWM法、磁链追踪PWM法和电流追踪型PWM法。不管采用何种控制方式,都必须注意U、V、W任意一相上下两个桥臂不能同时导通,否则直流电源将在IPM内部形成短路,这是绝对不允许的。为了避免电源元件的切换反应不及时可能造成的短路,一定要在控制信号之间设定互锁时间,这个时间又叫换流时间,或者叫死区时间。转载请注明出处:https://www.wendangku.net/doc/3a16445807.html,/ 由于IGBT(绝缘栅极型功率管)等功率器件都存在一定的结电容,所以会造成器件导通关断的延迟现象。一般在设计电路时已尽量降低该影响,比如尽量提高控制极驱动电压电流,设置结电容释放回路等。为了使igbt工作可靠,避免由于关断延迟效应造成上下桥臂直通,

有必要设置死区时间,也就是上下桥臂同时关断时间。死区时间可有效地避免延迟效应所造成的一个桥臂未完全关断,而另一桥臂又处于导通状态,避免直通炸模块。 死区时间大,模块工作更加可靠,但会带来输出波形的失真及降低输出效率。死区时间小,输出波形要好一些,只是会降低可靠性,一般为us级。一般来说死区时间是不可以改变的,只取决于功率元件制作工艺! 死区时间是指控制不到的时间域。在变频器里一般是指功率器件输出电压、电流的“0”区,在传动控制里一般是指电机正反向转换电压、电流的过零时间。死区时间当然越小越好。但是所以设置死区时间,是为了安全。因此又不可没有。最佳的设置是:在保证安全的前提下,越小越好。以不炸功率管、输出不短路为目的。 1 基本原理推导 ①IGBT及光耦开关时间的定义 IGBT开关时间定义

STM32学习笔记通用定时器PWM输出

STM32学习笔记(5):通用定时器PWM输出 2011年3月30日TIMER输出PWM 1.TIMER输出PWM基本概念 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。 STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出。 1.1PWM输出模式 STM32的PWM输出有两种模式,模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位确定的(“110”为模式1,“111”为模式2)。模式1和模式2的区别如下: 110:PWM模式1-在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。 111:PWM模式2-在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为有效电平,否则为无效电平。 由此看来,模式1和模式2正好互补,互为相反,所以在运用起来差别也并不太大。 而从计数模式上来看,PWM也和TIMx在作定时器时一样,也有向上计数模式、向下计数模式和中心对齐模式,关于3种模式的具体资料,可以查看《STM32参考手册》的“14.3.9 PWM模式”一节,在此就不详细赘述了。 1.2PWM输出管脚 PWM的输出管脚是确定好的,具体的引脚功能可以查看《STM32参考手册》的“8.3.7 定时器复用功能重映射”一节。在此需要强调的是,不同的TIMx有分配不同的引脚,但是考虑到管脚复用功能,STM32提出了一个重映像的概念,就是说通过设置某一些相关的寄存器,来使得在其他非原始指定的管脚上也能输出PWM。但是这些重映像的管脚也是由参考手册给出的。比如

IGBT(IPM)死区时间的设计方法

IGBT(IPM)死区时间的设计方法 1 基本原理推导 ①IGBT及光耦开关时间的定义 IGBT开关时间定义光耦开关时间定义 ②主电路构成 ③逻辑上的死区时间与IGBT端子(C、E)死区时间的关系 下图给出了控制信号、驱动板输出电压和IGBT 端子(C、E)间电压的相位关系。 各延迟时间分别定义为: t1:开通控制信号-驱动板开通电压信号输出的 延迟时间 t2:驱动板开通电压-IGBT开通输出延迟时间 t3:关断控制信号-驱动板关断电压信号输出的 延迟时间 t4:驱动板关断电压-IGBT关断输出延迟时间 (这里不考虑上下桥臂的差别) 逻辑上设定的死区时间(TD)与IGBT端子(C、 E)死区时间(TD’)的关系如下式。 TD'=TD-(t3+t4)+(t1+t2) (1) 因此逻辑上的死区时间(TD)随延迟时间 t1~t4的大小而变化成实际的死区时间(TD ')。下面分别推导驱动板的延时 (t1、t3)和IGBT延时(t2、t4)。

2 关于死区时间的设计方法 对式TD'=TD-(t3+t4)+(t1+t2)进行变换得 TD=TD'+(t3+t4)-(t1+t2)= TD'+(t3- t1)+(t4-t2) 剩下就是如何界定驱动板的延时 (t1、t3)和IGBT 延时(t2、t4)。设计方法就是分为这两部分进行设计的,分别IGBT 部分的死区时间和HIC 部分的死区时间。 (1)IGBT 部分的死区时间 ①IGBT 开关时间的误差数据的收集及最大误差数据的算出 根据各个公司的IGBT 数据,算出IGBT 开关时间的误差数据(Tj =25℃)。根据σ及X ±4σ计算各IGBT 的X ±4σ.(误差最大)以下给出富士IGBT 的σ值供参考. ○ 600V 系列 σ=0.041(最大) ○1200V 系列 σ=0.063(最大) ②结温为25℃和125℃时的开关时间比率计算 根据数据手册中的结温在25℃和125℃、电流为额定电流时的开关时间(ton,toff),计算温升比率(T125/T25)。 开关时间T(uS) 器件额定电流 符号 结温 Tj=125℃ 时倍率 Min 值 Typ 值 Max 值 25 0.512 (typ-4σ)0.764 1.016 (typ+4σ) Ton 125 1.111 0.568 0.849 1.129 25 0.723 0.975 1.227 1MBI300N-120 Toff 125 1.474 1.065 1.437 1.808 ※σ为富士推荐的最大值0.063。 ③结温为125℃时的开关时间计算 由①和②的结果,两者相乘,可以计算出结温为125℃时的开关时间。 ④驱动条件时Rg,Vge 的比率计算 由于数据手册中给出的数据的条件(Rg,Vge)与实际变频器驱动的条件不同,因此需要计算实际IGBT 驱动条件下的开关时间比率。 ⑤修正开关时间的计算 从4的结果可以及③的结果可以计算出考虑这些比率时结温为125℃时的开关时间。然后可

STM32 高级定时器-PWM简单使用

STM32 高级定时器-PWM简 单使用 高级定时器与通用定时器比较类似,下面是一个TIM1 的PWM 程序,TIM1是STM32唯一的高级定时器。共有4个通道有死区有互补。 先是配置IO脚: GPIO_InitTypeDef GPIO_InitStructure; /* PA8设置为功能脚(PWM) */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /*PB13 设置为PWM的反极性输出*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /*开时钟PWM的与GPIO的*/ RCC_APB2PeriphClockCmd(RCC_A PB2Periph_TIM1,ENABLE); RCC_APB2PeriphClockCmd(RCC_A PB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_A PB2Periph_GPIOB, ENABLE); /*配置TIM1*/ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; void Tim1_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_DeInit(TIM1); //重设为缺省值 /*TIM1时钟配置*/ TIM_TimeBaseStructure.TIM_Prescaler = 4000; //预分频(时钟分频)72M/4000=18K TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数 TIM_TimeBaseStructure.TIM_Period = 144; //装载值18k/144=125hz 就是说向上加的144便满了 TIM_TimeBaseStructure.TIM_ClockDivision =

死区时间的影响与形成

死区时间参数 摘要:针对不同厂家IP M要求的死区时间参数的不同,本文从硬件电路角度出发,提出一种延时电路方案,解决了因参数调整而引起软件的不统一问题,进而为M C U的大批量m a s k降低成本提供可能。 关键词:IP M死区时间 随着现代电力电子技术的飞速发展,以绝缘栅双晶体管(IG B T)为代表的功率器件在越来越多的场合得到广泛地应用。I GB T是V D MO S与双极晶体管的组合器件,集M OS FE T与G T R的优点于一身,既具有输入阻抗高,开关速度快,热稳定性好和驱动电路简单的长处,又具有通态电压低,耐压高和承受大电流的优点,特别适合于电机控制。现代逐渐得到普遍推广的变频空调,其内部的压缩机控制单元就是采用以I GB T为主要功率器件的新型智能模块(IP M)。 IP M(智能功率模块)即In te l li ge n t P o we r Mo d ul e的缩写,它是将输出功率器件I GB T和驱动电路、多种保护电路集成在同一模块内,与普通I G B T相比,在系统性能和可靠性上均有进一步提高,而且由于IP M通态损耗和开关损耗都比较低,使散热器的尺寸减小,故整个系统的尺寸减小。下面是IP M内部的电路框图: IP M内部含有门极驱动控制、故障检测和多种保护电路。保护电路分别检测过流、短路、过热、电源欠压等故障,当任一故障出现时,内部电路会封锁驱动信号并向外送出故障信号,以便外部的控制器及时处理现场,避免器件受到进一步损坏。下图是变频空调室外压缩机控制驱动主电路的原理图。

220V交流电压经过由D1~D4和电解电容C1组成的桥式整流和阻容滤波电路后成为给I PM供电的直流电压,六个开关管按照一定规律通断,分别在U、V、W三相输出一系列的矩形信号,通过调整矩形波的频率与占空比达到调节输出电压频率和幅度的目的,即现在应用最广泛的P WM(PU LS E WI D TH M OD UL A TE 脉冲宽度调制)控制技术,PW M控制技术从控制思想上可以分成四类:等脉宽PW M法、正弦波P WM法、磁链追踪PW M法和电流追踪型P W M法。不管采用何种控制方式,都必须注意U、V、W任意一相上下两个桥臂不能同时导通,否则直流电源将在IP M内部形成短路,这是绝对不允许的。为了避免电源元件的切换反应不及时可能造成的短路,一定要在控制信号之间设定互锁时间,这个时间又叫换流时间,或者叫死区时间。 死区时间,一般情况下软件工程师在程序设计时就会考虑并写进控制软件。但是,由于不同公司生产的I P M,对死区时间长短的要求不尽相同,这样软件就会出现多个版本,不便于管理,并且影响CP U的M AS K (掩模)工作。为了控制软件的统一性,有的软件工程师将死区时间放到芯片外扩展的E2中,对不同公司的I P M,只需改变一下E2中的数据,即可简单实现死区时间的匹配。这种方法的缺点是生产成本较高,在实际应用时受到一定限制。随着集成电路工艺的不断改进,各种逻辑门集成电路的价格不断地下降,使采用硬件电路实现死区时间设定应用到生产上成为可能,这种方法的优点是电路简单,延时时间方便可调,成本低廉。 方案原理图如下图3:

STM32-PWM输出总结讲课讲稿

学习后发现stm32的定时器功能确实很强大,小总结一下方便以后使用的时候做参考。Stm32定时器一共分为三种:tim1和tim8是高级定时器,6和7是基本定时器,2—5是通用定时器。从名字就可以看得出来主要功能上的差异。今天我主要是用定时器做pwm输出,所以总结也主要是针对pwm方面的。 先大致说下通用和高级定时器的区别。通用的可以输出四路pwm信号互不影响。高级定时器可以输出三对互补pwm信号外加ch4通道,也就是一共七路。 所以这样算下来stm32一共可以生成4*5+7*2=30路pwm信号。接下来还有功能上的区别:通用定时器的pwm信号比较简单,就是普通的调节占空比调节频率(别的不常用到的没去深究);高级定时器的还带有互补输出功能,同时互补信号可以插入死区,也可以使能刹车功能,从这些看来高级定时器的pwm天生就是用来控制电机的。 Pwm输出最基本的调节就是频率和占空比。频率当然又和时钟信号扯上了关系。高级定时器是挂接到APB2上,而通用定时器是挂接到APB1上的。APB1和APB2的区别就要在于时钟频率不同。APB2最高频率允许72MH,而APB1最高频率为36MHZ。这样是不是通用定时器只最高36MHZ频率呢,不是的;通用定时器时钟信号完整的路线应该是下面这样的:AHB(72mhz)→APB1分频器(默认2)→APB1时钟信号(36mhz)→倍频器(*2倍)→通用定时器时钟信号(72mhz)。 在APB1和定时器中间的倍频器起到了巨大的作用,假如红色字体的“APB1分频器”假如不为1(默认是2),倍频器会自动将APB1时钟频率扩大2倍后作为定时器信号源,这个它内部自动控制的不用配置。设置这个倍频器的目的很简单就是在APB1是36mhz的情况下通用定时器的频率同样能达到72mhz。我用的库函数直接调用函数SystemInit(); 这个函数之后时钟配置好了:通用定时器和高级定时器的时钟现在都是72mhz(你也可以自己再配置一下RCC让他的频率更低,但是不能再高了)。定时器接下来还有一个分频寄存器:TIMX_PSC 经过他的分频后,才是定时器计数的频率。所以真正的时钟频率应该是72mhz/(TIMX_PSC-1),我们设为tim_frepuency下面还会用到。 stm32的时钟频率弄得确实是很饶人的,所以关键就是先要把思路理清楚。时钟的频率弄好了下面终于可以开说重点PWM了。当然还少不了频率:pwm主要就是控制频率和占空比的:这两个因素分别通过两个寄存器控制:TIMX_ARR和TIMX_CCRX。ARR寄存器就是自动重装寄存器,也就是计数器记到这个数以后清零再开始计,这样pwm的频率就是tim_frequency/(TIMX_ARR-1)。在计数时会不停的和CCRX寄存器中的数据进行比较,如果小于的话是高电平或者低电平,计数值大于CCRX值的话电平极性反相。所以这也就控制了占空比。 下面是定时器1的配置代码: GPIO_InitTypeDef GPIO_InitStructure2; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_BDTRInitTypeDef TIM_BDTRInitStructure; //第一步:配置时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_GPIOB|RCC_APB2Periph_TIM1 ,ENABLE); //第二步,配置goio口 /********TIM1_CH1 引脚配置*********/

死区时间

死区时间 死区时间是PWM输出时,为了使H桥或半H桥的上下管不会因为开关速度问题发生同时导通而设置的一个保护时段。 由于IGBT等功率器件都存在一定的结电容,所以会造成器件导通关断的延迟现象。一般在设计电路时已尽量降低该影响,比如尽量提高控制极驱动电压电流,设置结电容释放回路等。为了使igbt工作可靠,避免由于关断延迟效应造成上下桥臂直通,有必要设置死区时间,也就是上下桥臂同时关断时间。死区时间可有效地避免延迟效应所造成的一个桥臂未完全关断,而另一桥臂又处于导通状态,避免直通炸模块。 死区时间大,模块工作更加可靠,但会带来输出波形的失真及降低输出效率。死区时间小,输出波形要好一些,只是会降低可靠性,一般为us级。 IGBT在关断时的脉冲后沿因少数载流子的存储效应会产生一个较大的“拖尾”电流,因此所产生的关断能耗(Eoff)在早期产品中非常突出。 死区时间调整硬件解决方案 摘要:针对不同厂家IPM要求的死区时间参数的不同,本文从硬件电路角度出发,提出一种延时电路方案,解决了因参数调整而引起软件的不统一问题,进而为MCU的大批量mask降低成本提供可能。 关键词: IPM 死区时间 随着现代电力电子技术的飞速发展,以绝缘栅双晶体管(IGBT)为代表的功率器件在越来越多的场合得到广泛地应用。IGBT是VDMOS与双极晶体管的组合器件,集MOSFET与GTR的优点于一身,既具有输入阻抗高,开关速度快,热稳定性好和驱动电路简单的长处,又具有通态电压低,耐压高和承受大电流的优点,特别适合于电机控制。现代逐渐得到普遍推广的变频空调,其内部的压缩机控制单元就是采用以IGBT为主要功率器件的新型智能模块(IPM)。 IPM(智能功率模块)即Intelligent Power Module的缩写,它是将输出功率器件IGBT和驱动电路、多种保护电路集成在同一模块内,与普通IGBT相比,在系统性能和可靠性上均有进一步提高,而且由于IPM通态损耗和开关损耗都比较低,使散热器的尺寸减小,故整个系统的尺寸减小。下面是IPM内部的电路框图:

stm32f103通用定时器pwm应用例程--蜂鸣器演奏乐曲

stm32f103通用定时器pwm应用例程--蜂鸣器演奏乐曲STM32F103通用定时器PWM应用例程:蜂鸣器演奏乐曲一(说明:本例程是将流明LM3SLib_Timer.pdf文档中的例程9及例程10(PWM应用: 蜂鸣器演奏乐曲),移植到STM32F103上。 二(流明LM3SLib_Timer.pdf例程9及例程10的拷贝: 例程9( Timer PWM应用:蜂鸣器发声 如图1.1所示,为EasyARM1138开发板上的蜂鸣器驱动电路。蜂鸣器类型是交流蜂鸣器,也称无源蜂鸣器,需要输入一列方波才能鸣响,发声频率等于驱动方波的频率。 图1.1 蜂鸣器驱动电路 程序清单1.9是Timer模块16位PWM模式的一个应用,可以驱动交流蜂鸣器发声,运行后蜂鸣器以不同的频率叫两声。其中"buzzer.h"和"buzzer.c"是蜂鸣器的驱动程序,仅有3个驱动函数,用起来很简捷。

程序清单1.9 Timer PWM应用:蜂鸣器发声 文件:main.c #include "systemInit.h" #include "buzzer.h" // 主函数(程序入口) int main(void) { jtagWait(); // 防止JTAG失效,重要~ clockInit(); // 时钟初始化:晶振,6MHz buzzerInit(); // 蜂鸣器初始化 buzzerSound(1500); // 蜂鸣器发出1500Hz声音 SysCtlDelay(400* (TheSysClock / 3000)); // 延时约400ms buzzerSound(2000); // 蜂鸣器发出2000Hz声音 SysCtlDelay(800* (TheSysClock / 3000)); // 延时约800ms buzzerQuiet( ); // 蜂鸣器静音 for (;;) { } } 文件:buzzer.h #ifndef __BUZZER_H__ #define __BUZZER_H__ // 蜂鸣器初始化 extern void buzzerInit(void); // 蜂鸣器发出指定频率的声音 extern void buzzerSound(unsigned short usFreq); // 蜂鸣器停止发声

正确计算死区时间_英飞凌

AN2007-04 H o w t o c a l c u l a t e a n d m i n i m i z e t h e d e a d t i m e r e q u i r e m e n t f o r I G B T s p r o p e r l y Power Management and Drives

Edition 2008-05-07 Published by Infineon Technologies AG 81726 München, Germany ? Infineon Technologies AG 2008. All Rights Reserved. Attention please! THE INFORMATION GIVEN IN THIS APPLICATION NOTE IS GIVEN AS A HINT FOR THE IMPLEMENTATION OF THE INFINEON TECHNOLOGIES COMPONENT ONLY AND SHALL NOT BE REGARDED AS ANY DESCRIPTION OR WARRANTY OF A CERTAIN FUNCTIONALITY, CONDITION OR QUALITY OF THE INFINEON TECHNOLOGIES COMPONENT. THE RECIPIENT OF THIS APPLICATION NOTE MUST VERIFY ANY FUNCTION DESCRIBED HEREIN IN THE REAL APPLICATION. INFINEON TECHNOLOGIES HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND LIABILITIES OF ANY KIND (INCLUDING WITHOUT LIMITATION WARRANTIES OF NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY) WITH RESPECT TO ANY AND ALL INFORMATION GIVEN IN THIS APPLICATION NOTE. Information For further information on technology, delivery terms and conditions and prices please contact your nearest Infineon Technologies Office (https://www.wendangku.net/doc/3a16445807.html,). Warnings Due to technical requirements components may contain dangerous substances. For information on the types in question please contact your nearest Infineon Technologies Office. Infineon Technologies Components may only be used in life-support devices or systems with the express written approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure of that life-support device or system, or to affect the safety or effectiveness of that device or system. Life support devices or systems are intended to be implanted in the human body, or to support and/or maintain and sustain and/or protect human life. If they fail, it is reasonable to assume that the health

相关文档