全桥逆变电路的拓扑结构、逆变原理及控制方法

通常把直流电变成交流电的过程叫做逆变,完成逆变功能的电路称为逆变电路。本文主要介绍全桥逆变电路的拓扑结构、逆变原理及控制方法、单相逆变的软件实现思路,并结合simulink、proteus仿真软件进行仿真验证。

一、单相全桥逆变器组成原理

1.全桥逆变电路拓扑结构

全桥逆变电路拓扑结构逆变电路工作时,单极性调制和双极性调制时主要有以下两种工作状态:在单极倍频调制时,还存在如下两工作状态

2.单相逆变器的SPWM调制方式

(1)SPWM调制的基本原理

如果对于交流电,如50HZ的正弦波,我们把它看成是有许许多多的呈阶梯状的直流信号组成 ,这样我们就可以用许许多多的宽窄不等的脉冲来等效这个正弦波了,从而实现了功率管工作在开关状态。如果在一个正弦波周期内的脉冲个数比较多,就能精度比较高地通过 LC滤波网络还原成正弦波,这就是SPWM调制的基本原理。

(2)SPWM调制波的实现方式

SPWM调制波实现方式:在模拟电路里,我们常常用调制基波(正弦波)和载波 (三角波或锯齿波)的幅值来做比较,幅值高时就输出高电平或低电平产生SPWM调制波,具体实现方法就是把基波和载波分别输入到比较器的正反相输入端比较器输出的是占空比变化的矩形波,通过控制全桥电路4个功率管的导通顺序以及后级的LC滤波可得到正弦波形。

(3)单相全桥逆变器调制方式

单相全桥逆变器中根据调制策略不同分为单极性调制、双极性调制和单极性倍频调制。全桥逆变电路拓扑结构①单极性调制单极性调制原理功率管导通时序图一般情况下,功率管驱动芯片上管和下管是互补导通的,因此导通时序也可如下图:从上面的驱动时序可以看出典型的单极性调制有如下特点:高频臂Q1,Q2两个功率管工作在高频状态,低频臂Q3,Q4两个功率管工作在低频状态,只有一半的功率管有开关损耗,和其它4个功率管都工作在高频状态的调制方式相比,总的开关损耗只有一半。由此可以知道,高频臂Q1,Q2两个功率管工作在高频状态,损耗比低频臂Q3,Q4两个功率管工作在低频状态要高,因发热比较大,寿命要短。②双极性调制双极性调制原理功率管导通时序图双极性可以看出,SPWM调制4个功率管都工作在高频载波频率,因而开关损耗比较大。但其实现方式比较容易,大部分半桥功率管驱动芯片自带上下管互补导通功能,所以只要给左右桥臂分别通以一对互补的SPWM信号即可实现。

③单极倍频调制单极性倍频调制的原理和双极性调制有类似的地方,只是全桥输出在没有滤波之前的波形和功率管的工作频率变了。它来用采用正弦波和两路互为反相三角波相比较的方式,当然也可以是两路互为反相的正弦波和三角波相比较。单极倍频调制功率管导通时序图从UAB的波形可以看出,两路双极性调制经过全桥功率管的叠加之后最终的UAB波形变成了单极性,而且频率加倍,这就是这种调制方式称为单极性倍频调制的原因。这种调制方式波形完美,对各种负载的适应性好,因为倍频输出,LC的体积和成本可以比较小,缺点是4个功率管都工作在高频状态,因而开关损耗比较大。

二、单相全桥逆变器仿真

仿真采用双极性调制方式,因为实现方式较其它两调制方式种更为简单。

1.SPWM调制波仿真

要实现逆变,首先要有SPWM波形,SPWM波形正弦波和三角波通过比较器得到。在similink中仿真模型如下:示波器观测得到:黄色部分是得到的SPWM调制波形,占空比随正弦幅值变化,所以仿真是成功的。

2.全桥逆变仿真

总体仿真模型如下:调制产生的路互补SPWM波形为SPWM1和SPWM2,两路调制波又分别连接同侧桥臂的上下管,模拟半桥驱动芯片的上下管互补。在逆变器中通常采用滤波器来消除逆变器输出电流谐波,滤波器通常存在三种形式:L 滤波器、LC 滤波器和 LCL 滤波器。本文在此采用 LC 滤波器,LC 滤波器是一种二阶滤波器,其滤波效果比 L 型滤波器好,并且在设计和控制上不像LCL 存在固有谐振问题,更加易于稳定。此处逆变器的开关频率设置为 10k Hz,因此选取 LC 谐振频率为:式中:为基波频率;为开关频率;为 LC 滤波器的谐振频率在滤波器电感设计中,当电感选取较大时,能够有效的抑制电流谐波,但是会影响系统的动态特性,导致电流闭环跟踪缓慢;当电感选取较小时,电流闭环控制跟踪性能较好,但是滤除电流谐波能力较弱,因此在电感设计中通常需要折衷考虑两个方面,电感通常选取几mH,电容十几或几十uf,具体数值需要结合设计参数计算出来。运行仿真得到:逆变波形为50HZ的正弦波

三、SPWM单片机程序实现

通常,逆变电路需要单片机参与进行闭环控制,第一个问题就是如何用单片机产生SPWM波形,下面介绍使用STM32产生SPWM波形。设计目标为载波10Khz,目标正弦波形为50hz。主要思路是利用定时器产生10Khz的PWM波形,每个PWM周期改变一次占空比,从而模拟出SPWM波形。因为无示波器和实物单片机,所以以下操作是基于proteus仿真出来的,实际原理一样的。

1.CubeMX配置

①配置定时器及中断

定时器使用高级定时器1,高级定时器带互补输出功能。由于我使用的是proteus仿真,单片机主频设置为了8Mhz。因此定时器配置如下:计数周期:8Mhz / 10Khz = 800 ,因此为800-1=799;72M主频下同理计算

②开启定时器1更新中断

2.SPWM正弦表数据生成

SPWM表格生成工具下载链接:点击跳转周期点数 :10Khz / 50 Hz = 200 ,每个正弦波由200个调制PWM波形组成

3.Keil5代码

①定义查表数据


#define SPWM_N 200 uint16_t SPWM_Cnt = 0; uint16_t SPWM_List[SPWM_N] = { 400,412,425,437,450,462,474,487,499,511,523,535,547,558,570,581, 592,603,614,624,635,645,654,664,673,682,691,700,708,716,723,730, 737,744,750,756,761,767,771,776,780,784,787,790,792,795,796,798, 799,799,800,799,799,798,796,795,792,790,787,784,780,776,771,767, 761,756,750,744,737,730,723,716,708,700,691,682,673,664,654,645, 635,624,614,603,592,581,570,558,547,535,523,511,499,487,474,462, 450,437,425,412,400,387,374,362,349,337,325,312,300,288,276,264, 252,241,229,218,207,196,185,175,164,154,145,135,126,117,108,99, 91,83,76,69,62,55,49,43,38,32,28,23,19,15,12,9,7,4,3,1,0,0,0,0,0, 1,3,4,7,9,12,15,19,23,28,32,38,43,49,55,62,69,76,83,91,99,108,117, 126,135,145,154,164,175,185,196,207,218,229,241,252,264,276,288, 300,312,325,337,349,362,374,387 };

②定时器初始化


HAL_TIM_Base_Start_IT(&htim1); //开启定时器中断 HAL_TIM_PWM_Start_IT(&htim1,TIM_CHANNEL_1); //开启PWM输出 HAL_TIMEx_PWMN_Start_IT(&htim1,TIM_CHANNEL_1); //开启互补PWM输出

③中断回调函数设置

主要功能是每次定时器溢出时,更新比较值,从而改变下一次PWM的占空比。


void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim == &htim1) { TIM1->CCR1 = SPWM_List[SPWM_Cnt++]; if(SPWM_Cnt >= SPWM_N) { SPWM_Cnt = 0; } } }

4.protues仿真观测波形

仿真模型如下:波形观测如下:黄色波形与蓝色波形为调制SPWM波形,两者电平互补,粉色波形为黄色波形的单位面积等效。实际要得到粉色50HZ正弦波需要将SPWM通过全桥电路和LC滤波后得到。以上全文如有错误,还请指正!!!

审核编辑:汤梓红

版权声明:
作者:网友投稿
链接:http://qiangcao.com/zs/1416.html
来源:轩哥技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>