APP下载

电路分析仿真平台的GUI 设计

2021-07-29陈晓娟

设备管理与维修 2021年9期
关键词:示波器二阶电感

陈晓娟

(大连职业技术学院,辽宁大连 116037)

0 引言

电路仿真指用仿真软件在计算机中复现设计即将完成或待分析的电路,提供电路电源以及输入信号,然后模拟示波器给出测试点波形或绘出相应的曲线的过程。当所研究的电路造价昂贵、特别是疫情期间实验不方便或需要很长时间才能了解电路参数变化引起的后果时,仿真就是一种特别有效的研究手段。

Matlab 作为当今世界上应用最为广泛的高性能计算和可视化软件,具有非常强大的科学计算、数值分析、图形显示、系统分析和建模等功能,在电路分析、自动控制等领域得到了广泛应用[1]。在Matlab 的仿真集成环境——Simulink 中,提供丰富的功能模块,可以创建动态电路模型,在仿真进行的同时,就能看到仿真结果。Matlab GUI(Graphical User Interface,图形用户界面)是用图形化方式显示的计算机操作用户界面(可视化)。如果能够将GUI 和Simulink 结合起来,利用GUI 设计友好的人机交互界面,直接在界面中调整Simulink 模型参数,得到仿真结果,对于理解和分析电路,是极为有益的[2]。GUI 与Simulink 联系方式如图1 所示。

图1 GUI 与Simulink 联系方式

利用Matlab 2018b,以典型的二阶零输入响应电路为例,建立电路的Simulink 模型,然后设计符合功能要求的GUI 界面,可直接在编辑框中随时修改参数,不需要进入Simulink 环境,点击按钮后即可在GUI 界面上得到二阶电路零输入响应中电感电流和电容电压的波形,并判断电路阻尼情况。

1 二阶动态电路Simulink 模型的建立

1.1 二阶零输入响应电路分析

数学模型为二阶微分方程的电路称为二阶电路。比较典型的二阶电路是由1 个电容、1 个电感和若干电阻元件构成,由开关通断控制电路响应类型。在图2 所示的二阶电路中,换路之前,既储存电场能量又储存磁场能量。当开关断开时,电源被切断,电容和电感同时释放能量,电路中的响应完全由储能元件的初始值引起,属于零输入响应,其电路响应存在多种情况。改变电路中R 数值,观察电容电压和电感电流波形,可以判断电路阻尼性质[3]。

图2 二阶零输入响应电路

开关S 打开之前,电路稳定,由于是直流电源,电感相当于短路,电容相当于开路。可以求得初始值,电容和电感充电。换路之后的瞬间,电容电压和电感电流的初始值不变,并且uC-uR-uL=0,进一步求得电路的微分方程+uC=0。根据微分方程的特征根的形式可知,电路响应有如下4 种情况:

(4)当R=0 时,电路中响应为等幅振荡,称为无阻尼。

1.2 二阶零输入响应电路的Simulink 仿真模型建立

在Matlab 命令窗口键入Simulink,可以进入Start Page 界面,新建一个空白模型窗口,在模块库中选择构建电路模型所需的电源和负载模块,并把它们直接拖放到所建立的系统模型窗口中。将功能模块放置合适的位置,按照电路图,完成各模块参数的修改和电路连接[4]。系统仿真的是开关打开之后的响应,所以电路的Simulink 仿真模型如图3 所示。根据电阻R 阻值不同,设置好电感电流和电容电压的初始值,点击“仿真”按钮,然后双击示波器,就可以观察电感电流和电容电压波形。

图3 二阶零输入响应电路的Simulink 仿真模型

1.3 在Simulink 中设置与GUI 界面的数据传递

为了实现在GUI 界面中来进行仿真参数实时配置,需要建立二者之间的联系,即通过示波器菜单“View”选项中“Configuration Properties”,将logging 中的Log data to workspace 勾上,即先把波形信息存入Matlab 工作区中,模块的Save format 设置为Array 形式,对于1 个在示波器中用多个坐标系显示波形的情况,可以将存储形式改为Structure With Time。确定后再次运行仿真,可以看到Workspace 中多出了存进去的变量。在Matlab命令行中输入get(gcbh)指令,可以获得需要配置的参数Resistance、InitialCurrent 和InitialVoltage 名称。

2 电路的GUI 界面设计

电路的Simulink 仿真模型建立之后,使用软件自带的GUIDE 编辑器编辑GUI 界面。界面设计包括3 个方面,即界面布局、设置控件的属性、编写回调函数[5]。

2.1 界面布局

在GUI 界面中,设置了4 个坐标轴分别显示电路图、Simulink 仿真模型图和响应曲线。利用4 个可编辑文本框Edit Text,输入和显示参数及信息。5 个按钮,分别控制初始值的计算,分析阻尼形式、控制与显示Simulink 仿真波形。GUI 界面布局及运行如图4 所示。

图4 二阶电路的零输入响应GUI 界面

2.2 设置控件的属性

控件的属性一般都是默认属性,可以调整背景颜色、字体大小及String 等,注意设置完成每一项,需要点击其他选项,以应用设置,否则直接关闭对话框,该项不会保存。设定好各控件的大小、位置和属性之后,保存,会自动生成2 个文件。一个是FIG(.fig),包含了GUI 对象的属性设置及其布局信息,其中没有任何函数;另一个是M 文件(.m)[6],M中则存着所需函数,之前并未编辑M,这是软件根据GUI 框架,自动生成的,需要在M 中编辑个控件的回调函数,实现其具体功能。

2.3 编写回调函数

在电路仿真平台的GUI 界面中,根据二阶零输入响应电路的原理,原来开关闭合时,电容和电感都充电,但根据电阻阻值的不同,充电之后的初始值会不同,会影响后续的阻尼形式和响应波形,所以电阻R 非常关键。

global value %设置电阻值为全局变量

value=get(handles.edit3,'string');%阻值通过可编辑文本框输入

v=str2num(value);%把输入的字符串的数据变成数值型的数据

点击“初始值”按钮可以计算并显示电感电流和电容电压的初始值。点击“电容电压”或“电感电流”,可以打开电路的Simulink 模型,开始仿真。这样只要在GUI 界面中改变电阻阻值,不用再回到Simulink 中,模型中电阻、电感电流初始值、电容电压初始值会自动改变,示波器输出波形也会实时显示在相应的坐标轴中,不用每次双击元件修改参数,双击示波器观察波形。电容电压按钮的主要程序如下:

点击“阻尼形式”,可以看到,由于电容电压和电感电流响应的波形都是衰减振荡形式,所以,当电阻值为6 Ω 时,二阶电路处于欠阻尼状态。

3 结束语

以二阶零输入响应电路为例,针对参数改变较频繁,Simulink 模型需要逐个参数修改的不便,设计了电路仿真的交互式GUI 界面,不仅能形象直观的表示电路的特点,在GUI 界面观察到的波形和Simulink 示波器输出波形(图5)完全一致,没有失真。通过GUI 界面改变参数,控制Simulink 的仿真过程也变得简单,有利于提高电路仿真的效率。

图5 Simulink 示波器输出电容电压波形

猜你喜欢

示波器二阶电感
基于无差拍电流预测控制的PMSM电感失配研究
二阶整线性递归数列的性质及应用
二阶线性微分方程的解法
基于NCP1608B的PFC电感设计
基于耦合电感的自均流LLC谐振变换器的设计
一类二阶中立随机偏微分方程的吸引集和拟不变集
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
浅谈电感和电容在交流电路中的作用
汽车示波器——为绿色维修保驾护航