资讯详情

Matlab —— 电路仿真

文章目录

  • 0. 综述
    • 0.1 软件安装及常规使用
      • 0.1.1 C/C 编译器安装
    • 0.2 Simulink Model
      • 0.2.1 子系统 —— 电路封装
        • 0.2.1.1 设置子系统参数
  • 1. 建模实验 —— 半波整流器(详细)
  • 2. 建模实验 —— 单相全波整流电路(子系统封装)
  • 3. 建模实验 —— 相控/斩控交调压电路(FFT分析)
    • 3.1 FFT分析
    • 3.2 LC滤波电路
    • 3.3 实际分析
  • 4. 建模实验 —— buck变换器
    • 4.1 添加调制波和载波
  • 5. 建模实验 —— 单端反激变换器
    • 5.1 离散仿真
  • 6. 建模实验 —— 隔离正激变换器

0. 综述


Matlab特别是在原理模拟中,电路模拟非常有用。

本博文涉及的所有电路图都可以在https://download.csdn.net/download/weixin_4359366/37395285免积分下载。

0.1 软件安装及常规使用

版本:Matlab R2018b ??:https://zhuanlan.zhihu.com/p/378349402

锯齿波设置方法如下

0.1.1 C/C 编译器安装

在matlab在命令行窗口中,随意输入命令行。未安装编译器时,提示安装,跳转到提供的链接下载,或直接到达MinGW官网下载。 进入连接后,如下图所示Matlab建议的MinGW版本,这是6.3版本。 到MinGW点击官网下载页面MingW-W64-builds 跳转到下载页面,选择File 拉到下面,没有6.3版,然后下载6.4版本,然后根据计算机系统的位数下载,如64位系统下载第一个

下载后解压,右击此计算机 - 属性 - 高级系统设置 - 环境变量 在用户变量中点击新建,分别填入内容如下,点确定:

  1. 变量名:MW_MINGW64_LOC
  2. 变量值:minGW64解压地点(路径不要有中文) 双击系统变量 path,新路径:D:\mingw64\bin(根据minGW64解压路径) 完成上述配置后,重启matlab

在matlab 输入命令行窗口mex -setup,显示如下图所示的信息器安装成功

0.2 Simulink Model

  • 新建Simulink Model:

  • 设备库如下图所示Simulink库,包含多种类型的库,一般只需要用于电子电气Simulink和Simscape中的Electrical前者是弱电器件(信号模型),后者是强电器件(物理模型)。 wu

0.2.1 子系统 —— 电路封装

在库中添加一个子系统 双击系统进入编辑窗口,绘制电路,添加输入输出口和连接口

最终子系统电路如下图所示

回到电路图后,发现子电路被封装,只留下引脚,电路变得简单明了


另一种快速添加子系统的方法是选择需要添加到子系统的电路,点击右下角的三个点,选择创建子系统,快速创建主系统电路

0.2.1.1 设置子系统参数

右击封装好的子系统,选择Create Mask, 在Parameters & Dialog 页面中添加Edit,然后按需编辑 回到子系统电路,双击元件编辑参数,填写参数前Edit栏中设置的变量可以关联

如果在设置变量时出现报错,可以先将设置的变量设置为初始值(见下一步),然后回到相关变量

此后,双击包装好的子系统电路,快速编辑子系统电路中的组件参数

1. 建模实验 —— 半波整流器(详细)

练习如下,使用Matlab模拟电路并得出相应的结果。


如上所述,新建一个Simulink Model在库中拖一个窗口powergui到Simulink Model窗口中,拖一个交流电压源、二极管、负载电阻等。

  1. 添加powergui

  2. 增加交流电压源

  3. 添加二极管

  4. 增加负载电阻

  5. 连接元器件 注意,如果设备的端口是方形的,则只能与方形端口连接。

  6. 修改组件参数

  7. 添加测量仪表(电压表、电流表) 添加示波器 双击示波器,两个设置示波器的探头 添加混合器

  8. 连接电路

  9. 设置模拟时间:50Hz下一个信号是0.02s,看个波形是0.1s

  10. 检查波形 波形窗分开,布局设置为上下布局 可以看出,此时的波形相对粗糙,不像理想的正弦波,这是由于模拟器的步长过大(采样周期过大),点击菜单栏中的设置,将最大步长设置为0.001s(50Hz下一个信号周期为0.02s,采样步长为0.001s)

再次运行模拟,波形变得光滑 然后成功构建基本电路,根据主题放置相应的组件,并配置相应的参数。

波形图的放大和缩小可以使用滚轮或下图按钮进行波形图

  1. 用晶闸管代替电路中的二极管 修改电压源电压的有效值为120V 增加电感负载并设置为0.048H,电阻值改为20Ω. 添加万用表并删除以前的电压表和电流表 将电压源中的测量设置为电压测量,将电阻中的测量改为电压和电流测量,将电感中的测量改为电压测量。 重命名元件 双击万用表,将所有测量点添加到右侧

添加一个4路信号分解器,并与万用表连接 添加一个3路信号混合器,最后连接结果如下图 添加脉冲发生器,给晶闸管触发信号 设置好信号周期和题目要求的延迟角。 再增加一个示波器去查看信号发生器的波形,最终电路如下图 12. 点击运行,查看两个示波器波形,其中示波器2中黄色为电源电压,蓝色为电阻电压,红色为电感电压,可见,由于电感的存在,负载的电压存在一个滞后状态,导致电源电压到零后,负载电压还未到零。

  1. 添加平均值、有效值的测量,再添加一个显示窗口 最终电路连接如下图
  2. 导出仿真数据:右击要导出的仿真数据,选择"log selected signal" 点击运行,再Matlab界面的工作区中,就保存了该信号的log文件,双击打开,有一个"value"文件,选中并选择上方菜单栏的绘图,选择plot,即可绘制该数据的图形

若要修改图形的一些参数,点击菜单栏中的鼠标,然后双击图形空白处即可 将图形修改成以下更加直观的图形之后,点击编辑 - 复制图窗,即可将图形复制

2. 建模实验 —— 单相全波整流电路(子系统封装)

如上所述,新建一个Simulink Model窗口,在库中拖一个powergui到Simulink Model窗口中,使用子系统搭建全桥电路

使用子系统搭建脉冲发生器,该脉冲发生器是用于给晶闸管导通的,其配置的参数如下,其中变量freq、alpha未子系统Mask参数(见0.2.1.1节) 添加负载电阻和电感,参数配置如下

最终外部电路如下

运行后波形图如下

3. 建模实验 —— 相控/斩控交交调压电路(FFT分析)

相控交交调压电路、斩控交交调压电路如下,现用Matlab进行电路仿真。

  • :当交流电源为正相时,晶闸管S1导通,反之S2导通
  • :当交流电源为正相时,晶闸管S1导通,反之S2导通,其中S3、S4是感性负载的续流作用


相控交交调压电路如下:

参数如下:

以功率6000W来计算,负载电阻约为8.067ohm .

仿真时间为0.06秒即可

最大采样步长设置为0.0001秒

点击运行仿真,查看示波器波形:

可见负载电压相对电源电压正负半周期都是延迟了30°相位角才触发,其电压平均值于电源电压平均值一样,但RMS(有效值)比电源的RMS小很多,而且延迟角越大,RMS越小,从而实现降压功能


斩控交交调压电路如下

电源与负载参数与相控交交调压电路一样,如下


其中主电路子系统电路如下

其中Motset 的m脚接的是终端,作用只是防止编译警告


触发电路子系统电路如下

添加选择开关,其作用是当控制端口(输入2端口,即中间那个端口)满足所选标准时,信号通过输入1;否则,通过输入3。控制端口2的标准为u2>=阈值、u2>阈值或u2~=0可选。这里控制端口2的信号为交流电压源信号,即当电源电压为正时,信号通过输入1端口,反之通过输入2端口。 添加信号转换器,输出类型选择布尔型

添加逻辑信号操作器,配置为反相器

添加常数,常数设置为0,输出类型为布尔型

添加脉冲发生器,参数如下


点击运行,查看示波器波形 将信号放大后可见,输出信号并不平滑,此时分析它的总谐波畸变率(THD)(输出信号所有的谐波之和加基波之和占信号的百分比)

3.1 FFT分析

右击要分析的数据,选择"log selected signal",再次点击运行,生成数据 双击Power gui,选择FFT分析(傅里叶分析) 配置好FFT 分析参数,点击Display,即可显示FFT分析波形,从左到右依次为基波、三次谐波、五次谐波、七次谐波 … ,同时可见输出信号的THD为14.62%,总谐波失真非常大

同理查看斩控交交调压电路的THD,注意将最大频率改为40kHz,可见其THD达到99.88%

3.2 LC滤波电路

L1计算: 已知电路功率为6000W,电压值为220V,则计算得输出电流约为27.273A 已知电感的感抗为ωL,电感上的电压为0.05V=ωL * I,已知V=220V、I=27.273A、ω=314,则计算得出L约为0.00128H

C1计算: 电容值通过LC滤波电路的谐振频率公式来计算,谐振频率取5kHz,计算得C约为0.8μF


天机RMS和Display部件查看其负载电压的有效值,再次点击电路运行,查看波形图

3.3 实际分析

回到最初的斩控交交调压电路,理想情况下Mosfet S1和S4互补导通(S2、S3同理),前面的电路触发也是如此设置,但实际电路中可能因为某些原因,存在Mosfet S1、S4都不导通的情况,若此时负载L中存在大电压,此电压得不到及时的泄放,会对负载形成较大的威胁。

回到触发电路子系统电路,将S4、S3配置为常触发状态,修改如下 再次运行并查看示波器,仿真下,结果与前面的分析并无差异。

再次查看FFT分析,发现THD降低到3.47%,满足电网THD<5%的要求。

使用一个示波器查看两个电路的负载电压,可见斩控交交调压电路比相控交交调压电路效果更佳。

4. 建模实验 —— buck变换器

主电路原理图如下,简述原理为:

  1. 当Mos管S打开时,电源电压通过电感给电容和负载供电
  2. 当Mos管S关闭时,电感上储蓄的能量通过二极管协防,继续给电容和负载供电 搭建电路与参数如下

注:

  1. 万用表观察的是负载R1的电压
  2. 采集时间为0.02s

点击仿真,查看示波器 可见负载上的电压并不是完全是20V,这是因为Mos管、二极管的导通压降和R、L、C的寄生参数引起的。

4.1 添加调制波与载波

添加调制波和载波信号,其中调制波使用参数1实现,载波使用20kHz的锯齿波信号实现,调制波就是目标波形的占空比,因为占空比是40%,所以这里常数值设置为0.4

添加加法器并修改参数

添加零比较器并修改为大于0时输出为真(1)


最后电路搭建如下 点击仿真,查看示波器,波形如下,与第一个电路的结果差不多

5. 建模实验 —— 单端反激变换器

电路原理、参数与运行原理如下。


搭建电路如下:

其中线性变压器: 其参数解释如下:

  1. 单位,pu为标幺值单位,SI为标准值单位
  2. 运行功率与频率
  3. 原边电压(重要)、电阻、漏电感值
  4. 副边电压(重要)、电阻、漏电感值
  5. 励磁电阻、励磁电感(重要)

电感原边、副边的匝数比,一般通过原边电压和副边电压体现,如下原边电压为24、副边电压为8,那么该变压器的匝数比就是24/8=3:1

DC-DC PWM脉冲发生器,开关频率设置为40kHz,占空比为38.5%


仿真时间设置为0.02s,点击仿真,查看示波器,可见负载电阻电压稳定后处于4V左右

将PWM发生器的占空比设置为50%后,再次仿真查看示波器,可见输出电压大概在7V左右

其原因在于:电路处于开环状态,二极管、Mosfet、变压器中的电阻等会导致压降存在

5.1 离散仿真

右击空白处,选择Sample Time Display(采样时间显示),选All,即显示所有采样时间

然后弹出一个框,其中:

  1. 连续量
  2. 固定最小步长量
  3. 离散量
  4. 常量
  5. 混合量

对应地,在电路中有对应颜色的标识,如参数0.43为常量,那么它就显示为常量的颜色

点击设置按钮 选择固定步长和无连续状态,固定步长设置为0.25e-6

双击Power GUI,同样设置为离散仿真


添加一个子系统,其电路如下

其中,添加离散型PID控制器,设置为PI控制器,设置好PI参数,固定饱和(相当于限幅)

返回到主电路并连接

运行仿真,查看示波器,可见,电压最后能稳定到5V左右。

最后,添加一个零阶保持器和滞后器到子系统电路

6. 建模实验 —— 隔离正激变换器

电路原理图与参数如下:


电路工作过程如下:

  1. 当Mos管S导通时:电源通过变压器N1到N2传递能量,同时给电感Lm充电。副边给电感L充电,给负载C、R供电。
  2. 当Mos管S关断时:电感Lm释放能量,通过绕组N1续流,电流从N1非同名端流出,若传递到N2,电流也应该从非同名端流出,但副边N2无电流回路,则N1的能量只能传递到N3,电流从N3非同名端流出,回馈到电源端。

Matlab中电路搭建与参数设置如下: 使用离散仿真模式

脉冲发生器 变压器 示波器查看负载电阻电压和绕组N3的电流 仿真时间设置为0.02秒,运行仿真,查看示波器波形图

标签: lm集成公率放大电路电路中的电阻器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台