单相全桥逆变原理及仿真实验

news2024/11/14 15:21:25

前言

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

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

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

 二、单相全桥逆变器仿真

1.SPWM调制波仿真

2.全桥逆变仿真

  三、SPWM单片机程序实现

1.CubeMX配置

2.SPWM正弦表数据生成

3.Keil5代码

4.protues仿真观测波形


前言

        通常把直流电变成交流电的过程叫做逆变,完成逆变功能的电路称为逆变电路。本文主要介绍全桥逆变电路的拓扑结构、逆变原理及控制方法、单相逆变的软件实现思路,并结合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 谐振频率为:

10f_{c} < f_{r} <\frac{1}{10}f_{s}              f_{r}=\frac{1}{2\pi \sqrt{LC}}

式中:f_{c}为基波频率;f_{s} 为开关频率;f_{r}为 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://www.coloradmin.cn/o/134774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣 # 1323. 6 和 9 组成的最大数字 JAVA实现

力扣 1323. 6 和 9 组成的最大数字 给你一个仅由数字 6 和 9 组成的正整数 num。 你最多只能翻转一位数字&#xff0c;将 6 变成 9&#xff0c;或者把 9 变成 6 。 请返回你可以得到的最大数字。 难度&#xff1a;简单 示例 1&#xff1a; 输入&#xff1a;num 9669 输出&a…

基于采样的规划算法之动态规划方法

经过前面对RRT的介绍,我们发现基于采样的规划算法与基于图搜索的规划算法都是通过对路径树进行拓展新节点,来找到起点到终点的路径解。RRT家族通过随机采样来生成这棵路径树,随机采样会面临采样低效的问题——大部分采样的新节点都无益于提升路径解的最优性。动态规划基于特…

JS对数组的操作详解

目录 shift 方法 unshift 方法 reverse方法 sort方法 reduce方法 concat方法 join方法 push方法 pop方法 slice方法 splice方法 forEach方法 map方法 filter方法 every方法 some方法 indexOf方法 find方法 includes方法 在这里总结一下JS的数组方法&#xf…

JDBC基本使用

文章目录一、JDBC技术1.1、JDBC概念1.2、JDBC作用1.3、JDBC工作原理1.4、JDBC工作流程二、使用JDBC访问数据库2.1、创建Maven项目2.2、添加数据库依赖2.2.1、mysql依赖2.2.2、oracle依赖2.3、编写代码2.3.1、加载驱动2.3.2、通过DriverManager获取connection连接2.3.3、执行SQL…

java中线程安全问题及解决方法、线程状态、线程间通信(线程等待唤醒机制)

线程安全 概述&#xff1a; 多线程访问了共享数据&#xff0c;此时会产生冲突&#xff08;如&#xff1a;在多个线程中执行售卖货物的业务&#xff0c;要求是某个货被某个线程售卖后&#xff0c;其他线程应该不再可以售卖此个货&#xff0c;但是默认被某个线程售卖后&#xf…

JVM 教程

jvm教程jvm概述前言JVM 定义JVM 的作用查看自己的 JVMJVM&#xff0c;JRE 和 JDK 联系小结JVM 整体架构目标JVM 整体架构类加载子系统运行时数据区执行引擎小结JVM 常用参数配置IntelliJ IDEA 添加运行参数JVM 参数&#xff1a;跟踪垃圾回收JVM 参数&#xff1a;跟踪类的加载与…

手把手代码实现五级流水线CPU——第二篇:分支预测流水线

系列文章目录 第三篇&#xff1a;流水线控制逻辑 第一篇&#xff1a;初级顺序流水线 文章目录系列文章目录一、流水线硬件结构二、流水线各阶段的实现实现原理一、流水线硬件结构 取指阶段 PC增加器&#xff1a;用来计算下一条指令的地址valP 译码阶段 一次译码操作读出俩个寄…

学习vue的准备工作

一、前提&#xff1a; 1、vscode安装&#xff1a; https://blog.csdn.net/m0_55400356/article/details/1260267332、node.js安装&#xff1a; 已安装 16.0 或更高版本的 Node.js&#xff1b; https://www.runoob.com/nodejs/nodejs-install-setup.html3、安装vue&#xff…

hadoop之ranger权限配置(二)

文章目录一、编译ranger&#xff08;node12&#xff09;二、安装前环境准备&#xff08;node12&#xff09;三、安装RangerAdmin&#xff08;node12&#xff09;(root)五、Ranger Hive-plugin&#xff08;node10&#xff09;六、Ranger Hdfs-plugin&#xff08;node10、11&…

ansible远程控制及其相关操作

1.控制主机和受控主机通过root用户通过免密验证方式远程控住受控主机实施对应&#xff08;普通命令&#xff0c;特权命令&#xff09;任务&#xff08;以下所有结果均见截图&#xff09; (1)控住主机--server通过主机名匹配对应连接的受控主机 [rootserver ~]#vim /etc/hosts …

一本通 1267:【例9.11】01背包问题(详细代码+严谨思路+清晰图片)

经典01背包问题 这里给你3种方法 目录 DFS 思路&#xff1a; 代码&#xff1a; DFS记忆化 思路&#xff1a; 代码&#xff1a; 动态规划 思路&#xff1a; 代码&#xff1a; DFS 时间复杂度 &#xff1a;O(2^n) 思路&#xff1a; DFS求出所有选法&#xff0c;再用…

Git Stash、Git Merge、Git Rebase、Git Revert

GIT 日常使用总结git stashgit mergegit rebase将多个commit合并成一个commitgit revert撤销修改撤销commit 但是不撤销add 的内容撤销addGIT Rebase 补充说明&#xff1a;git stash git stash&#xff1a;将修改后的代码存储到本地的一个栈结构&#xff0c;将工作区和暂存区恢…

37-Vue之ECharts高级-交互API

交互API前言全局ECharts对象echartsInstance对象前言 本篇来学习下ECharts中交互API的使用 全局ECharts对象 全局 echarts 对象是引入 echarts.js 文件之后就可以直接使用的 init &#xff1a;初始化ECharts实例对象&#xff0c;使用主题 registerTheme&#xff1a;注册主题…

Avatar和虚拟场景如何影响用户VR社交行为

对于VR社交来讲&#xff0c;虚拟场景&#xff08;社交环境&#xff09;、Avatar&#xff08;虚拟化身&#xff09;是两个重要的元素&#xff0c;一个代表了人们在VR中互动的空间&#xff0c;而另一个则代表他们在这个空间中所扮演的角色。现阶段&#xff0c;Avatar有多种形态&a…

已解决import tensorflow.contrib.layers as layers导包错误

已解决W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library ‘cudart64_110.dll’; dlerror: cudart64_110.dll not found I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not ha…

opencv-python常用函数解析及参数介绍(八)——轮廓与轮廓特征

轮廓与轮廓特征前言1.获取轮廓通过膨胀与腐蚀获得轮廓通过梯度获取轮廓通过边缘检测获取轮廓2.寻找轮廓参数及作用对比3.轮廓特征前言 在前面的文章中我们已经学会了使用膨胀与腐蚀、使用梯度、使用边缘检测的方式获得图像的轮廓&#xff0c;那么在获得轮廓后我们可以对图像进…

​赛分科技冲刺科创板上市:拟募资8亿元,复星、高瓴为股东​

近日&#xff0c;苏州赛分科技股份有限公司&#xff08;下称“赛分科技”&#xff09;在上海证券交易所递交招股书&#xff0c;准备在科创板上市。本次冲刺上市&#xff0c;赛分科技计划募资8亿元&#xff0c;将用于20万升/年生物医药分离纯化用辅料、研发中心建设项目&#xf…

《收获,不止Oracle》读书笔记一

当今时代 技术人员&#xff0c;真正的差距其实在意识 1.忽略了知识的重点 20%的知识&#xff0c;解决80%的问题 2.从未考虑知识落地 知识要落地&#xff0c; 要思考应用的场合。 学习任何技术都是一样的&#xff0c;没有思考过你所学的某项技术有什么用&#xff0c;没有想…

P1827 [USACO3.4] 美国血统 American Heritage

题目描述 农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树&#xff0c;并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。 你的任务是在被给予奶牛家谱的“树中序遍历…

计算机网络 | 湖科大教书匠

一、因特网概述 1、网络、互联网和因特网 网络是由若干结点和连接这些结点的链路组成 多个网络还可以通过路由器互联起来&#xff0c;这样就构成了一个覆盖范围更大的网络&#xff0c;互联网 因此&#xff0c;互联网是网络的网络&#xff08;Network of Networks&#xff0…