MATLAB变压器仿真
- 格式:doc
- 大小:377.00 KB
- 文档页数:26
MATLAB/Simulink 电力系统建模与仿真实验报告姓名:******专业:电气工程及其自动化班级:*******************学号:*******************实验一无穷大功率电源供电系统三相短路仿真1.1 无穷大功率电源供电系统仿真模型构建运行MATLAB软件,点击Simulink模型构建,根据电路原理图,添加下列模块:(1)无穷大功率电源模块(Three-phase source)(2)三相并联RLC负荷模块(Three-Phase Parallel RLC Load)(3)三相串联RLC支路模块(Three-Phase Series RLC Branch)(4)三相双绕组变压器模块(Three-Phase Transformer (Two Windings))(5)三相电压电流测量模块(Three-Phase V-I Measurement)(6)三相故障设置模块(Three-Phase Fault)(7)示波器模块(Scope)(8)电力系统图形用户界面(Powergui)按电路原理图连接线路得到仿真图如下:1.2 无穷大功率电源供电系统仿真参数设置1.2.1 电源模块设置三相电压110kV,相角0°,频率50Hz,接线方式为中性点接地的Y形接法,电源电阻0.00529Ω,电源电感0.000140H,参数设置如下图:1.2.2 变压器模块变压器模块参数采用标幺值设置,功率20MVA,频率50Hz,一次测采用Y型连接,一次测电压110kV,二次侧采用Y型连接,二次侧电压11kV,经过标幺值折算后的绕组电阻为0.0033,绕组漏感为0.052,励磁电阻为909.09,励磁电感为106.3,参数设置如下图:1.2.3 输电线路模块根据给定参数计算输电线路参数为:电阻8.5Ω,电感0.064L,参数设置如下图:1.2.4 三相电压电流测量模块此模块将在变压器低压侧测量得到的电压、电流信号转变成Simulink信号,相当于电压、电流互感器的作用,勾选“使用标签(Use a label)”以便于示波器观察波形,设置电压标签“Vabc”,电流标签“Iabc”,参数设置如下图:1.2.5 故障设置模块勾选故障相A、B、C,设置短路电阻0.00001Ω,设置0.02s—0.2s发生短路故障,参数设置如下图:1.2.6 示波器模块为了得到仿真结果准确数值,可将示波器模块的“Data History”栏设置为下图所示:1.3 无穷大功率电源供电系统仿真结果及分析得到以上的电力系统参数后,可以首先计算出在变压器低压母线发生三相短路故障时短路电流周期分量幅值和冲击电流的大小,短路电流周期分量的幅值为Im=10.63kA,时间常数Ta=0.0211s,则短路冲击电流为Iim=17.3kA。
MATLAB-SIMULINK在电力系统工程仿真中的应用MATLAB/SIMULINK在电力系统工程仿真中的应用随着电力系统的规模日益庞大和复杂性的增加,为确保电力系统的安全可靠运行,电力系统工程仿真成为了工程设计和运维过程中的重要环节。
MATLAB/SIMULINK作为一种强大的仿真工具,可以有效地模拟电力系统的各种电路、设备与系统,为电力系统工程提供精确的仿真分析与设计。
电力系统工程仿真是一种通过计算机模拟的方法,用以预测和分析电力系统的运行状况和特性。
在传统的电力系统工程中,工程师们常常使用基于经验公式和简化模型的手工计算方法进行设计和评估。
然而,由于电力系统的复杂性和不确定性,采用手工计算方法不仅效率低下,而且容易出现误差。
相比之下,MATLAB/SIMULINK具有更高的仿真精度和灵活性,能够更准确地模拟电力系统的各个方面。
首先,MATLAB/SIMULINK可以用来模拟电力系统的电路和设备。
在电力系统中,包括变压器、发电机、电动机等各种电器设备都是电路连接的要素。
MATLAB/SIMULINK提供了丰富的电路模型和元件库,可以很方便地构建各种电路模型。
例如,我们可以根据电路拓扑结构和参数数据构建一个发电机的模型,通过输入不同的工作条件和控制信号,可以模拟发电机在各种负载情况下的工作状态。
其次,MATLAB/SIMULINK还可以用来模拟电力系统的控制策略。
在电力系统中,各种控制策略被用来保持电力系统的稳定运行。
例如,电力系统中常用的电压控制和频率控制都是通过调节发电机和变压器的控制信号来实现的。
在MATLAB/SIMULINK中,我们可以根据电力系统的实际控制策略,构建相应的控制模型,通过输入系统的状态量和反馈信号,并根据设计的控制逻辑进行仿真分析。
这使得工程师们可以在设计阶段对控制策略进行优化,以提高电力系统的稳定性和鲁棒性。
此外,MATLAB/SIMULINK还可以用于电力系统的故障分析和可靠性评估。
电力变压器仿真模型的设计摘要随着电力系统的飞速发展,对变压器的保护要求也越来越高。
研究三相变压器地暂态过程,建立一个完善的变压器仿真模型,对变压器保护方案的设计具有非常重要地意义。
本文在Matlab的编程环境下,分析了当前的变压器仿真的方法。
在单相情况下,分析了在饱和和不饱和的励磁涌流现象,和单相励磁涌流的特征。
在三相情况下,在用分段拟和加曲线压缩法的基础上,分别用两条修正的反正切函数,和两条修正的反正切函数加上两段模拟饱和情况的直线两种方法建立了Yd11、Ynd11、Yny0和Yy0四种最常用接线方式下三相变压器的数学仿真模型,并在Matlab下仿真实现。
通过对三相励磁涌流和磁滞回环波形分析,三相励磁涌流的特征分析,总结出影响三相变压器励磁涌流地主要因素。
最后,分析了两种方法的优劣,建立比较完善的变压器仿真模型。
关键词:三相变压器、励磁涌流、仿真、数学模型AbstractAlong with the electric power system’ development, the request of the protection of the transformer is more and more high. It has count for much meaning to the transformer protecting project to study the transient of a three-phase transformer, and found a perfect three-phase transformer’s digital model.This paper is worked with Matlab, analyzes the current methods of transformer’s digital model. In single-phase transformer, it is analyzed that the inrush current in saturate and unsaturated states, and the characters of the single-phase transformer’s inrush current. In three-phase transformer, with the foundation of the method of compressing curves, we use respectively two modified functions, and two modified functions and two straight line to establish four kinds of transformer’s digital model, such as Yd11, Ynd11, Yny0, Yy0, and realize these with Matlab. After analyzing the wave form of the three-phase transformer’s inrush current and hysteresis, and the characters of three-phase transformer’s inrush current, it is concluded that the primary factors which affect three-phase transformer’s inrush current. Finally, after analyzing the advantages and disadvantages of two methods, a good digital model of three-phase transformer is established.Keywords:three-phase transformer, inrush current, simulation, digital model目录绪论............................................................ - 7 -一.本课题意义...................................................................... - 7 -二.本论文的主要工作.......................................................... - 8 -三.使用工具介绍.................................................................. - 8 -第一章变压器的基本原理.................... - 10 -§1.1变压器的工作原理........................................................ - 10 -§1.2 单相变压器的等效电路............................................... - 11 -§1.3 三相变压器的等效电路及连接组问题 ...................... - 12 -第二章变压器仿真的方法简介............ - 14 -§2.1 基于基本励磁曲线的静态模型................................... - 14 -§2.2基于暂态磁化特性曲线的动态模型 ........................... - 15 -§2.3非线性时域等效电路模型............................................ - 16 -§2.4基于ANN的变斜率BP算法...................................... - 17 -第三章单相变压器的仿真.................... - 19 -§3. 1 单相变压器仿真的数学模型...................................... - 19 -§3.1.1单相变压器的等效电路分析.................................... - 19 -§3.1.2龙格-库塔法则的介绍 ............................................ - 20 -§3.2 单相变压器仿真的程序流程及功能介绍 .................. - 22 -§3.3 单相变压器仿真的实例计算及结果分析 .................. - 23 -§3.3.1单相变压器仿真的波形分析..................................... - 23 -§3.3.2单相变压器的励磁涌流的分析................................. - 24 -§3.3.3单相变压器励磁涌流的特征..................................... - 27 -第四章三相变压器的仿真.................... - 28 -§4. 1 三相变压器仿真的数学模型...................................... - 28 -§4.1.1仿真的数学依据 ......................................................... - 28 -§4.1.1.1三相变压器Yd11连接组模式 ................................. - 28 -§4.1.1.2三相变压器Ynd11连接组模式 ............................... - 30 -§4.1.1.3三相变压器Yny0连接组模式 ................................. - 31 -§4.1.1.4三相变压器Yy0连接组模式 ................................... - 31 -§4.1.2电源电压的描述 ......................................................... - 32 -§4.1.3铁心动态磁化过程简述 ............................................. - 32 -§4.1.3.1极限磁滞回环的数学描述........................................ - 33 -§4.1.3.2暂态局部磁滞回环的描述........................................ - 34 -§4.1.3.3剩磁的处理................................................................ - 35 -§4.2 三相变压器仿真的程序流程及功能介绍 .................. - 35 -§4.2.1分段拟和加曲线压缩法方法一(两段修正的反正切函数) ........................................................................................ - 35 -§4.2.2分段拟和加曲线压缩法方法二(两段修正的反正切函数加两段直线) ........................................................................ - 37 -§4.3 三相变压器仿真的计算实例及结果分析 .................. - 38 -§4.3.1励磁涌流的仿真 ......................................................... - 38 -§4.3.1.1方法一:用两段修正的反正切函数拟和压缩 ....... - 38 -§4.3.1.2方法二:用两段修正的反正切函数加两段直线拟和压缩.............................................................................................. - 40 -§4.3.1.3两种方法的比较分析................................................ - 41 -§4.3.2影响变压器励磁涌流的主要因素及结果分析......... - 41 -§4.3.2.1剩磁对变压器励磁涌流的影响 ............................... - 41 -§4.3.2.2合闸初相角对变压器励磁涌流的影响 ................... - 42 -§4.3.3三相变压器励磁涌流的特征..................................... - 43 -第五章结论与展望................................ - 45 -参考文献...................................................... - 46 -附录Matlab程序 .................................... - 47 -§1.在Yd11接线方式下两段反正切函数拟和极限磁滞回环的程序 ........................................................................................ - 47 -§2.在Ynd11接线方式下两段反正切函数拟和极限磁滞回环的程序.................................................................................... - 51 -§3.在Yny0接线方式下两段反正切函数拟和极限磁滞回环的程序 ........................................................................................ - 53 -§4.在Yy0接线方式下两段反正切函数拟和极限磁滞回环的程序 ........................................................................................ - 54 -§5.在Yd11接线方式下两段反正切函数加两段直线拟和极限磁滞回环的程序.................................................................... - 55 -§6.在Ynd11接线方式下两段反正切函数加两段直线拟和极限磁滞回环............................................................................ - 58 -§7.在Yny0接线方式下两段反正切函数加两段直线拟和极限磁滞回环的程序.................................................................... - 59 -§8.在Yy0接线方式下两段反正切函数加两段直线拟和极限磁滞回环的程序.................................................................... - 60 -致谢............................... 错误!未定义书签。
EMTR法原理可以参照以下这个程序来进行书写% 变电站PD定位仿真(TR法)(4个传感器)close all;clear all;clc;f0=500e6; %中心频率v=3e8; %声速t_low=0; t_up=200e-9; N=1001; %时间范围if mod(N,2)==0;N=N+1;endt=linspace(t_low,t_up,N)';Lx=20; %变压器长Ly=20; %变压器宽Lz=20; %变压器高derta_x=0.3; %传感器间隔,排列方式:从左至右,从上至下x_coor=-0.5*derta_x+derta_x*(0:1);z_coor=zeros(1,2);y_coor=-0.5*derta_x+derta_x*(0:1);x=repmat(x_coor,[1,2]);z=repmat(z_coor,[1,2]);y=[y_coor(1)*ones(1,2),y_coor(2)*ones(1,2)];x0=-7; y0=5; z0=5; %PD位置t_lag1=150e-9; %参考传感器延迟时间(传感器1)w=20e-9; %高斯脉冲脉宽A=1; %高斯脉冲幅度t_lag=t_lag1+[sqrt((x-x0).^2+(y-y0).^2+(z-z0).^2)-sqrt((x(1)-x0).^2+(y(1)-y0).^2+(z(1)-z0).^2)]/v; %各个传感器相对于传感器1的延时x01=10;y01=-5;z01=3;t_lag3=120e-9;t_lag2=t_lag1+[sqrt((x-x01).^2+(y-y01).^2+(z-z01).^2)-sqrt((x(1)-x01).^2+(y(1)-y01).^2+(z(1)-z01).^2)]/v; %各个传感器相对于传感器1的延时% x01=10;y01=-5;z01=3;pd=A*exp(-4*log(2)*(t-t_lag).^2/(w^2)).*sin(2*pi*f0*(t-t_lag))+A*exp(-4*log(2)*(t-t_lag2).^2/(w^2)).*sin(2*pi*f0*(t-t_lag2)); %各个传感器PD信号% pd=A*exp(-4*log(2)*(t-t_lag).^2/(w^2)); %各个传感器PD信号(宽带信号效果不好)% pd1=A*exp(-4*log(2)*(t-t_lag1).^2/(w^2)); %传感器1PD信号% pd2=A*exp(-4*log(2)*(t-t_lag2).^2/(w^2)); %传感器2PD信号% pd3=A*exp(-4*log(2)*(t-t_lag3).^2/(w^2)); %传感器3PD信号% pd4=A*exp(-4*log(2)*(t-t_lag4).^2/(w^2)); %传感器4PD信号% pd4=0;pd_reversed=fliplr(pd')'; %时间反演N_distance1=200;N_distance2=200;theta=0:pi/N_distance1:pi/2;phy=0:pi/N_distance2:pi*2;M=[];f=(0:(N-1)/2)'/(diff(t(1:2)))/N;n=0; progress=0;for j=1:length(theta)for k=1:length(phy)t_delay=(x*cos(theta(j))*cos(phy(k))+y*cos(theta(j))*sin(phy(k))+z*sin(t heta(j)))/v;t_delay=t_delay-t_delay(1);T=exp(1i*2*pi*f*t_delay);T((N+1)/2+1:N,:)=conj(T((N+1)/2:-1:2,:));pd_test=real(ifft(fft(pd_reversed).*T));M(j,k)=sum((sum(pd_test')).^2);% M=[M,sum(pd_test.^2)];n=n+1;endendif N_distance1~=1M=(M-min(min(M)))/(max(max(M))-min(min(M)));subplot(1,2,1)surf(phy/pi*180,theta/pi*180,M);xlabel('方位角/度')ylabel('仰角/度')zlabel('归一化')shading interp;colormap('jet');% subplot(2,1,2)% contour(linspace(0,360,N_distance),linspace(0,90,N_distance),M) end% 局放源定点[~,YI]=max(max(M));phy_max=phy(YI);[~,YI]=max(max(M'));theta_max=theta(YI);N_distance3=500;if (phy_max>pi/2)&&(phy_max<3*pi/2)dx=linspace(0,-Lx/2,N_distance3);elsedx=linspace(0,Lx/2,N_distance3);enddy=dx*tan(phy_max);dz=sqrt(dx.^2+dy.^2)*tan(theta_max);n1=length(find(dx<=Lx/2));n2=length(find(dy<=Ly/2));n3=length(find(dz<=Lz));N_dis=min([n1,n2,n3]);dx=dx(1:N_dis);dy=dy(1:N_dis);dz=dz(1:N_dis);M1=[];for j=1:N_dist_delay=sqrt((dx(j)-x).^2+(dy(j)-y).^2+(dz(j)-z).^2)/v;t_delay=t_delay-t_delay(1);T=exp(-1i*2*pi*f*t_delay);T((N+1)/2+1:N,:)=conj(T((N+1)/2:-1:2,:));pd_test=real(ifft(fft(pd_reversed).*T));M1(j)=sum((sum(pd_test')).^2);end[~,YI]=max(M1);subplot(1,2,2)plot3(dx,dy,dz)hold onplot3(dx(YI),dy(YI),dz(YI),'bp','Markersize',10) xlabel('x/米')ylabel('y/米')zlabel('z/米')plot3(x0,y0,z0,'r*')plot3(x0,y0,z0,'ro')。
基于Matlab Simulink的110kV变电系统建模及故障仿真分析作者:杨涛来源:《建筑工程技术与设计》2014年第30期摘要:本文引入了Matlab Simulink仿真手段,搭建110kV小型中性点接地变电系统;设定初值并拟定变压器参数,利用变压器差动保护原理搭建差动电流生成模块;模拟变压器主保护区内外故障,将所得电流、电压以及差流波形直接输出进行观察分析,直观明了地验证变压器主保护原理。
关键词:Matlab Simulink;变电系统;故障分析;系统仿真1.简介随着智能电网和超高压技术的不断发展,电力系统变得十分复杂,易发生故障且难以进行有效的预测和准确进行故障位置与故障类型的判断。
变电站作为电网节点,一旦发生故障,影响面非常大;而对于变电系统故障的判断主要依据经验,而缺乏有效的判断、识别依据,需要对变电系统故障的特征进行分析,通过仿真研究变电系统发生故障的特征信息,以为故障的快速识别与判断提供必要的理由与参数依据。
MATLAB即是一种程序语言,不仅可进行各类线性代数及特殊函数的运算,而且具有很好的绘图功能;用户可依照需求建立图形界面,绘制各类两维和三维图形。
[1]Simulink作为Matlab一个软件包,主要利用图形接口进行建模,与固有的微分方程和差分方程方式比更方便、灵活且直观。
[2]本文引入了Matlab Simulink仿真手段对变电系统开展故障仿真分析,拟以研究110kV变电系统的正常运行及故障状态,通过对变压器区内外故障时各侧电气量及三侧差流变化情况地分析,进一步验证变压器主保护(差动保护)的原理。
2.变电系统的建模仿真变压器是电力系统中最主要的电能转换元件,也是变电站的必要组成部分;较系统中其他电力元件而言,因其作用突出且结构复杂,控制及继电保护工作显得尤为重要。
基于Matlab simulink搭建以三相变压器为核心的110kV变电系统,输出并观察各侧及差动电流波形。
5、2电力系统元件库5、2、1启动电力系统元件库启动电力系统元件库得方法有几种,下面介绍两种最简单得方法。
利用指令窗口(mand Windows)启动:在指令窗口中键入powerlib单击回车,则Matlab软件中弹出电力系统元件对话框。
5、2、2电力系统元件库得简介在电力系统元件库对话框中包含了8类库元件,分别就是电源元件(Electrical Sources)、基本元器件(Elements)、电力电子元件(Power Electronics)、电机元件(Machines)、电路测量仪器(Measurements)、应用元件库(Application Libraries)、附加元件库(Extras Library)、电力图形用户接口(Powergui)。
5、3同步发电机系统短路算例图为了排除一些干扰,在仿真中得到理想得数据及波形,在本篇论文中,选择了最具有代表性得典型得电力系统——单机无穷大系统。
该系统认为功率无穷大,频率恒定,电压恒定,即对现实进行近似处理,以简化模型,更有利于得出结论,简化计算过程。
设计电力系统算例图如下图5、1所示。
图5、1电力系统得算例图5、4选用模块5、4、1同步电机模块在电机元件库中,同步电机得模型有五个,即两个简化模型、一个实名制下得原理模型、一个标幺值下得原理模型与一个标幺值下得标准模型。
我选用得就是标幺值下得简化得同步电机单元(Simplified Synchronous Machine pu Units)。
其可调节参数为连接形式(Connection type),额定功率、额定电压、额定频率(Nom、power,L-L volt,and freq),惯性分量、阻尼因素、极对数(Inertia,damping factor and pairs of poles),内部阻抗(Internal impedance),初始状态(Init、cond、)。
同步电机得输出端包括了三相输出端子(A、B、C)与测量端子(m)、通过测量端子,可以观测到同步电机得电压、电流、功率、转子等22个数值。
function varargout = transformer(varargin)% TRANSFORMER MATLAB code for transformer.fig% TRANSFORMER, by itself, creates a new TRANSFORMER or raises the existing% singleton*.%% H = TRANSFORMER returns the handle to a new TRANSFORMER or the handle to% the existing singleton*.%% TRANSFORMER('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in TRANSFORMER.M with the given input arguments.%% TRANSFORMER('Property','Value',...) creates a new TRANSFORMER or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before transformer_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application% stop. All inputs are passed to transformer_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help transformer% Last Modified by GUIDE v2.5 17-Mar-2015 23:37:53% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @transformer_OpeningFcn, ...'gui_OutputFcn', @transformer_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before transformer is made visible.function transformer_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to transformer (see VARARGIN)% Choose default command line output for transformerhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes transformer wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = transformer_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;function number1_Callback(hObject, eventdata, handles)% hObject handle to number1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number1 as text% str2double(get(hObject,'String')) returns contents of number1 as a doublenumber1 = str2double(get(hObject, 'String'));if isnan(number1)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number1 = number1;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number1_CreateFcn(hObject, eventdata, handles)% hObject handle to number1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number2_Callback(hObject, eventdata, handles)% hObject handle to number2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number2 as text% str2double(get(hObject,'String')) returns contents of number2 as a doublenumber2 = str2double(get(hObject, 'String'));if isnan(number2)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number2 = number2;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number2_CreateFcn(hObject, eventdata, handles)% hObject handle to number2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number3_Callback(hObject, eventdata, handles)% hObject handle to number3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number3 as text% str2double(get(hObject,'String')) returns contents of number3 as a doublenumber3 = str2double(get(hObject, 'String'));if isnan(number3)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number3 = number3;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number3_CreateFcn(hObject, eventdata, handles)% hObject handle to number3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number4_Callback(hObject, eventdata, handles)% hObject handle to number4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number4 as text% str2double(get(hObject,'String')) returns contents of number4 as a doublenumber4 = str2double(get(hObject, 'String'));if isnan(number4)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number4 = number4;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number4_CreateFcn(hObject, eventdata, handles)% hObject handle to number4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number5_Callback(hObject, eventdata, handles)% hObject handle to number5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number5 as text% str2double(get(hObject,'String')) returns contents of number5 as a doublenumber5 = str2double(get(hObject, 'String'));if isnan(number5)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number5 = number5;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number5_CreateFcn(hObject, eventdata, handles)% hObject handle to number5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number6_Callback(hObject, eventdata, handles)% hObject handle to number6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number6 as text% str2double(get(hObject,'String')) returns contents of number6 as a doublenumber6 = str2double(get(hObject, 'String'));if isnan(number6)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number6 = number6;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number6_CreateFcn(hObject, eventdata, handles)% hObject handle to number6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number7_Callback(hObject, eventdata, handles)% hObject handle to number7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number7 as text% str2double(get(hObject,'String')) returns contents of number7 as a doublenumber7 = str2double(get(hObject, 'String'));if isnan(number7)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number7 = number7;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number7_CreateFcn(hObject, eventdata, handles)% hObject handle to number7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number8_Callback(hObject, eventdata, handles)% hObject handle to number8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number8 as text% str2double(get(hObject,'String')) returns contents of number8 as a doublenumber8 = str2double(get(hObject, 'String'));if isnan(number8)set(hObject, 'String', 0);errordlg('Input must be a number','Error');end% Save the new density valuehandles.metricdata.number8 = number8;guidata(hObject,handles)% --- Executes during object creation, after setting all properties. function number8_CreateFcn(hObject, eventdata, handles)% hObject handle to number8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in figure.function figure_Callback(hObject, eventdata, handles)% hObject handle to figure (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)number9 =1/2*((handles.metricdata.number19/handles.metricdata.number20)^2*hand les.metricdata.number3+(handles.metricdata.number19/handles.metricdat a.number21)^2*handles.metricdata.number4-(handles.metricdata.number20 /handles.metricdata.number21)^2*handles.metricdata.number5)* handles.metricdata.number2 *handles.metricdata.number2/(1000*handles.metricdata.number1*handles.m etricdata.number1);set(handles.number9, 'String', number9);number10 =1/2*((handles.metricdata.number19/handles.metricdata.number20)^2*hand les.metricdata.number3+(handles.metricdata.number20/handles.metricdat a.number21)^2*handles.metricdata.number5-(handles.metricdata.number19 /handles.metricdata.number21)^2*handles.metricdata.number4)* handles.metricdata.number2 *handles.metricdata.number2/(1000*handles.metricdata.number1*handles.m etricdata.number1);set(handles.number10, 'String', number10);number11 =1/2*((handles.metricdata.number19/handles.metricdata.number21)^2*hand les.metricdata.number4+(handles.metricdata.number20/handles.metricdat a.number21)^2*handles.metricdata.number5-(handles.metricdata.number19 /handles.metricdata.number20)^2*handles.metricdata.number3)* handles.metricdata.number2 *handles.metricdata.number2/(1000*handles.metricdata.number1*handles.m etricdata.number1);set(handles.number11, 'String', number11);number12 =1/2*((handles.metricdata.number19/handles.metricdata.number20)*handle s.metricdata.number6+(handles.metricdata.number19/handles.metricdata. number21)*handles.metricdata.number7-(handles.metricdata.number20/han dles.metricdata.number21)*handles.metricdata.number8)*handles.metricdata.number2 *handles.metricdata.number2/(100*handles.metricdata.number1);set(handles.number12, 'String', number12);number13 =1/2*((handles.metricdata.number19/handles.metricdata.number20)*handle s.metricdata.number6+(handles.metricdata.number20/handles.metricdata. number21)*handles.metricdata.number8-(handles.metricdata.number19/han dles.metricdata.number21)*handles.metricdata.number7)*handles.metricdata.number2 *handles.metricdata.number2/(100*handles.metricdata.number1);set(handles.number13, 'String', number13);number14 =1/2*((handles.metricdata.number19/handles.metricdata.number21)*handle s.metricdata.number7+(handles.metricdata.number20/handles.metricdata. number21)*handles.metricdata.number8-(handles.metricdata.number19/han dles.metricdata.number20)*handles.metricdata.number6)*handles.metricdata.number2 *handles.metricdata.number2/(100*handles.metricdata.number1);set(handles.number14, 'String', number14);number15 =handles.metricdata.number18/(1000*handles.metricdata.number2*handles. metricdata.number2);set(handles.number15, 'String', number15);number16 =handles.metricdata.number17*handles.metricdata.number1/(100*handles.m etricdata.number2*handles.metricdata.number2);set(handles.number16, 'String', number16);% --- Executes on button press in reset.function reset_Callback(hObject, eventdata, handles)% hObject handle to reset (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)initialize_gui(gcbf, handles, true);function number9_Callback(hObject, eventdata, handles)% hObject handle to number9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number9 as text% str2double(get(hObject,'String')) returns contents of number9 as a double% --- Executes during object creation, after setting all properties. function number9_CreateFcn(hObject, eventdata, handles)% hObject handle to number9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number11_Callback(hObject, eventdata, handles)% hObject handle to number11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number11 as text% str2double(get(hObject,'String')) returns contents of number11 as a double% --- Executes during object creation, after setting all properties. function number11_CreateFcn(hObject, eventdata, handles)% hObject handle to number11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number10_Callback(hObject, eventdata, handles)% hObject handle to number10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) handles.number10=0.5*(number3+number5-number4)*number2^2/(1000*number 1^2);% Hints: get(hObject,'String') returns contents of number10 as text% str2double(get(hObject,'String')) returns contents of number10as a double% --- Executes during object creation, after setting all properties. function number10_CreateFcn(hObject, eventdata, handles)% hObject handle to number10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number14_Callback(hObject, eventdata, handles)% hObject handle to number14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number14 as text% str2double(get(hObject,'String')) returns contents of number14 as a double% --- Executes during object creation, after setting all properties. function number14_CreateFcn(hObject, eventdata, handles)% hObject handle to number14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number13_Callback(hObject, eventdata, handles)% hObject handle to number13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number13 as text% str2double(get(hObject,'String')) returns contents of number13 as a double% --- Executes during object creation, after setting all properties. function number13_CreateFcn(hObject, eventdata, handles)% hObject handle to number13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number12_Callback(hObject, eventdata, handles)% hObject handle to number12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number12 as text% str2double(get(hObject,'String')) returns contents of number12 as a double% --- Executes during object creation, after setting all properties. function number12_CreateFcn(hObject, eventdata, handles)% hObject handle to number12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number15_Callback(hObject, eventdata, handles)% hObject handle to number15 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number15 as text% str2double(get(hObject,'String')) returns contents of number15 as a double% --- Executes during object creation, after setting all properties. function number15_CreateFcn(hObject, eventdata, handles)% hObject handle to number15 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction number16_Callback(hObject, eventdata, handles)% hObject handle to number16 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of number16 as text% str2double(get(hObject,'String')) returns contents of number16 as a double% --- Executes during object creation, after setting all properties. function number16_CreateFcn(hObject, eventdata, handles)% hObject handle to number16 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in reset.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to reset (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)initialize_gui(gcbf, handles, true);function initialize_gui(fig_handle, handles, isreset)% If the metricdata field is present and the reset flag is false, it means % we are we are just re-initializing a GUI by calling it from the cmd line % while it is up. So, bail out as we dont want to reset the data.if isfield(handles, 'metricdata') && ~isresetreturn;endhandles.metricdata.number1 = '';handles.metricdata.number2 = '';handles.metricdata.number3 = '';handles.metricdata.number4 = '';handles.metricdata.number5 = '';handles.metricdata.number6 = '';handles.metricdata.number7 = '';handles.metricdata.number8 = '';set(handles.number1, 'String', handles.metricdata.number1);set(handles.number2, 'String', handles.metricdata.number2);set(handles.number3, 'String', handles.metricdata.number3);set(handles.number4, 'String', handles.metricdata.number4);set(handles.number5, 'String', handles.metricdata.number5);set(handles.number6, 'String', handles.metricdata.number6);set(handles.number7, 'String', handles.metricdata.number7);set(handles.number8, 'String', handles.metricdata.number8);set(handles.number9, 'String', '');set(handles.number10, 'String', '');set(handles.number11, 'String', '');set(handles.number12, 'String', '');set(handles.number13, 'String', '');set(handles.number14, 'String', '');set(handles.number15, 'String', '');set(handles.number16, 'String', '');set(handles.number17, 'String', '');set(handles.number18, 'String', '');set(handles.number19, 'String', '');set(handles.number20, 'String', '');set(handles.number21, 'String', '');% Update handles structureguidata(handles.number1, handles);guidata(handles.number2, handles);guidata(handles.number3, handles);guidata(handles.number4, handles);guidata(handles.number5, handles);guidata(handles.number6, handles);guidata(handles.number7, handles);guidata(handles.number8, handles);guidata(handles.number9, handles);guidata(handles.number10, handles);guidata(handles.number11, handles);guidata(handles.number12, handles);guidata(handles.number13, handles);guidata(handles.number14, handles);guidata(handles.number15, handles);guidata(handles.number16, handles);guidata(handles.number17, handles);guidata(handles.number18, handles);guidata(handles.number19, handles);guidata(handles.number20, handles);guidata(handles.number21, handles);function number17_Callback(hObject, eventdata, handles)% hObject handle to number17 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB。
用Matlab/Simulink 中的Powersystem 库,完成下列实验:1. 单相变压器电流和电压计算有一台单相变压器,其额定参数为:Hz f N 50=,A kV S N ∙=10,V U U N N 22038021=。
一、二次绕组的漏阻抗分别为()Ω+=22.014.01j Z ,()Ω+=055.0035.02j Z ,励磁阻抗()Ω+=31030j Z m ,负载阻抗()Ω+=54j Z L 。
使用Simulink 建立仿真模型,计算在高压侧施加额定电压时,(1)一、二次侧的实际电流和励磁电流;(2)二次侧的电压。
用Matlab/Simulink 中的Powersystem 库搭建的仿真模型如图1所示。
图1 线性变压器负载运行仿真模型2. 使用Simulink建立仿真模型,仿真验证三相变压器的Yd11联结组别的一次测电压和二次侧电压的幅值和相位关系。
用Matlab/Simulink中的Powersystem库搭建的仿真模型如图2所示。
图2 变压器联接组别仿真模型3.使用simulink建立直流电动机的能耗制动仿真模型,仿真分析获得转速、电枢电流和电磁转矩的暂态过程曲线。
用Matlab/Simulink中的Powersystem库搭建的仿真模型如图3所示。
图3 他励直流电动机能耗制动仿真模型4. 使用simulink 建立他励直流电动机的改变电枢电压的仿真模型,仿真分析获得转速、电枢电流和电磁转矩的暂态过程曲线。
用Matlab/Simulink 中的Powersystem 库搭建的仿真模型如图4所示。
图4 他励直流电动机的改变电枢电压的仿真模型5. 一台4极三相异步电动机,额定电压V U N 380=(△形联结),额定频率Hz f N 50=,额定转速m in 1487r n N =,其他参数为Ω=055.01R ,Ω=265.01σX ,Ω=763.0m R ,Ω=39.16m X ,Ω='04.02R ,Ω='565.02σX 。
第1篇一、实验目的1. 理解变压器的工作原理和基本特性。
2. 掌握变压器仿真软件的使用方法。
3. 通过仿真实验,分析变压器在不同工作条件下的性能变化。
4. 熟悉变压器参数对性能的影响。
二、实验原理变压器是一种利用电磁感应原理,将一种电压转换为另一种电压的电气设备。
其基本原理是:当交流电流通过变压器的初级绕组时,会在铁芯中产生交变磁场,从而在次级绕组中感应出电动势。
变压器的主要参数包括:变比、空载损耗、短路损耗、效率等。
三、实验设备1. 变压器仿真软件(如MATLAB/Simulink、PSPICE等)。
2. 电脑一台。
四、实验步骤1. 打开变压器仿真软件,创建一个新的仿真模型。
2. 根据实验要求,设置变压器的参数,如变比、绕组电阻、漏感等。
3. 添加激励源,设置输入电压和频率。
4. 添加测量仪器,如电压表、电流表、功率表等,用于测量变压器的输出电压、电流和功率。
5. 运行仿真,观察变压器的性能变化。
6. 记录实验数据,分析实验结果。
五、实验内容1. 空载实验(1)设置变压器的变比为1:1,绕组电阻为0,漏感为0。
(2)设置输入电压为220V,频率为50Hz。
(3)观察输出电压随时间的变化,记录空载损耗。
2. 短路实验(1)设置变压器的变比为1:1,绕组电阻为0,漏感为0。
(2)设置输入电压为220V,频率为50Hz。
(3)将次级绕组短路,观察输出电流随时间的变化,记录短路损耗。
3. 负载实验(1)设置变压器的变比为1:1,绕组电阻为5Ω,漏感为1mH。
(2)设置输入电压为220V,频率为50Hz。
(3)添加负载电阻,设置负载功率为100W。
(4)观察输出电压、电流和功率随时间的变化,记录变压器的效率。
六、实验结果与分析1. 空载实验通过空载实验,可以得到变压器的空载损耗。
空载损耗主要由铁损耗和励磁损耗组成。
铁损耗与输入电压的平方成正比,励磁损耗与输入电压成正比。
2. 短路实验通过短路实验,可以得到变压器的短路损耗。
单相全波可控整流电路MATLAB仿真实验一、实验目的(1) 熟悉matlab下的simulink的使用(2) 熟悉单相全波可控整流电路的工作原理和波形情况。
二、电路及其工作原理在图1(a)中,变压器T带中心抽头,在u2正半周,VT1工作,变压器二次绕组上半部分流流过电流, 电流流向为u2上半部分经VT1,然后经电阻R,最后回到变压器中心抽头;u2负半周,VT2工作,变压器二次绕组下半部分流过反方向的电流,电流流向为 u2下部分经VT2,然后经电阻R,最后回到变压器中心抽头。
由此可见,流过负载R的电流自始至终是从上而下,因此在负载两端得到的是直流电压,达到了整流的目的。
图1(b)给出了ud和变压器一次电流i1的波形。
由波形可知,单相全波可控整流电路的ud波形与单相桥式全控整流的波形完全一样,另外交流输入端电流波形也一样,有正有负,因此变压器也不存在直流磁化的问题。
但是两者还是有一些差别,差别如下,第一:单相全波可控整流电路中变压器为二次绕组带中心抽头,结构比较复杂。
因此设计和制作比较复杂,而且用料也比较多,从而会增加变压器设计成本。
第二:单相全波可控整流电路中只用两个晶闸管,而单相全控桥式可控整流电路由四个晶闸管,由于晶闸管为电流型器件,其驱动电路比较复杂,而且驱动功率比较大,因此前者相对于后者可以节省两个驱动电路,相应地系统驱动功率也显著降低。
此外单相全波可控整流晶闸管承受的最大电压为,是单相全控桥式整流电路的两倍,这是不利的因此其只适合应用在低压场合。
三、MATLAB下的模型建立图3.2 电源参数:电阻参数:脉冲参数:四、仿真结果及波形分析(1)α=30°时:(2)α=60°时:(3)α=90°时:(4)α=120°时:分析:单相全波整流电路的优点是纹波电压较小,同时因电源变压器在正、负半周内都有电流供给负载,电源变压器得到了充分的利用,效率较高。
单相全波可控整流的特点:电路使用的整流器件比半波整流时多一倍,变压器带中心抽头;无滤波电路时,整流电压的直流分量较小,最大为0.9U2;整流电压脉动较小,比半波整流小一倍;变压器利用率比半波整流高;整流器件所受的反向电压较高。
matlab电路仿真代码以下是一个简单的MATLAB电路仿真代码示例,演示如何使用MATLAB进行基本的电路仿真:matlab定义电路参数R = 1; 电阻值C = 1; 电容值L = 1; 电感值Vin = 1; 输入电压定义仿真参数t_start = 0; 仿真起始时间t_end = 10; 仿真结束时间dt = 0.01; 仿真步长计算仿真所需变量N = floor((t_end - t_start) / dt) + 1; 仿真步数t = linspace(t_start, t_end, N); 时间向量Vout = zeros(1, N); 输出电压向量I = zeros(1, N); 电感电流向量进行仿真for i = 2:NVout(i) = Vout(i-1) + (Vin - Vout(i-1)) * dt / (R*C); RC电路输出电压I(i) = I(i-1) + (Vin - Vout(i-1)) * dt / L; 电感电流end绘制输出结果figure;subplot(2,1,1);plot(t, Vout);title('输出电压');xlabel('时间');ylabel('电压');subplot(2,1,2);plot(t, I);title('电感电流');xlabel('时间');ylabel('电流');以上代码演示了一个简单的RC电路和电感电流的仿真。
首先定义了电路的参数,然后定义了仿真的时间范围和步长。
接下来,根据定义的参数和仿真步长计算出时间向量,以及初始化输出电压和电感电流的向量。
然后,使用一个for 循环进行仿真,根据RC电路和电感电流的公式更新输出电压和电感电流的值。
最后,使用subplot将输出电压和电感电流的结果绘制在一个图形窗口中。
请注意,上面的示例只是一个简单的电路仿真示例,实际的电路仿真可能更复杂,具体的仿真方法和计算公式取决于电路的特性和您的需求。
基于Matlab/Simulink 反激变换器电路仿真1. 电路原理反激电路即Flyback ,如图1。
变压器的一次和二次绕组的极性相反,这大概也是 Flyback 名字的由来:a.当开关管导通时,变压器原边电感电流开始上升,此时由于次级同名端的关系, 输出二极管截止,变压器储存能量,负载由输出电容提供能量。
此时等效电路如图2;b •当开关管截止时,变压器原边电感感应电压反向,此时输出二极管导通,变压器 中的能量经由输出二极管向负载供电,同时对电容充电,补充刚刚损失的能量。
此时等 效电路如图3。
1反激电路图2开关导通 2. 模型建立过程根据flyback 电路原理,在 MATLAB ( Simulink )中建立仿真模型如图 4,模块包括:(1) 输入端直接接入直流恒压源( DC Voltage Source ); (2) 开关器件Q 选择MOSFET (参数默认); (3) 脉冲触发器(Pulse Generator )控制 MOSFET ;(4) 磁化电感Lm 、电容C 和电阻R 各一个,电力二极管一个(Diode 参数默认); (5) 变压器(Lin ear tra nsformer );图3开关关断图(6) 用于观察波形的示波器(scope);(7) 信号接口( Voltage Measureme nt 和Curre nt Measureme nt);(8) Powergui模块,特别注意其Simulation type的设置;3.参数设置过程(1)选定输入电源电压Vin=200V,开关频率f=100KHZ,T=0.01ms。
则设置DC Voltage Source--Amplitude=200,Pulse Generator-->Period=0.1e-3(2)关于比D即脉冲触发器占空(Pulse Width)的设置,D取0.5;(3)输出电压Vo=5V,输出电流lo=1A,所以负载电阻R=5Q;(4)powergui-->simulation type 设置为:continuous, 即连续系统仿真;(5)电容C取值、变压器变比N2:N1和磁化电感Lm取值计算:已知电源输入为Vin=200V,输出Vo=5V , T=0.02ms, f=50KHz电压纹波V。
大学 专业软件应用综合设计报告
水能 学院 13 级 电气 专业 题目 变压器综合仿真设计二
学生 某某某 学号 131504207 指导教师 建华
2015年 12 月 30 日 目录 一、设计题目...................................2 二、正文.......................................2 1、引言.......................................2 2、设计依据及框图.............................3 2.1 设计平台.................................3 2.2 设计思想.................................4 2.3 设计结构框图或流程图.....................6 2.4各模块功能简介............................6 3、软件调试分析...............................10 4、结语.......................................23 5、参考文献....................................25 6、致........................................25 . 2
变压器综合仿真设计二 摘要:随着变压器技术的进步,传统仿真已经受到了很大的限制。并且当下要推动变压 器技术的发展,已经不能再依靠传统仿真。因此,对于变压器的计算机仿真技术势在必行。 本为通过MATLAB软件,对变压器的运行特性进行了仿真。主要仿真的容包括:变压器磁路电流畸变以及变压器负载运行特性曲线研究。仿真所用到的方法为数值计算方法,通过插值的方法实现了对曲线的拟合。仿真时,结合实际情况可输入不同参数便于研究。文中给出了各种运行特性的仿真结果图,并且结合理论对其做了简单的分析,验证了仿真方法的准确性和可行性。 关键字:变压器;MATLAB仿真分析;曲线拟合 1 引言
设随着科学技术进步,电工电子新技术的不断发展,新型电气备不断涌现,人们使用电的频率越来越高,人与电的关系也日益紧密,对于电性能和电气产品的了解,已成为人们必需的生活常识。 变压器是一种静止的电气设备,它是利用电磁感应原理把一种电压的交流电能转变成同频率的另一种电压的交流电能,以满足不同负载的需要。在电力系统中,变压器是一个重要的电气设备,它对电能的经济传输,灵活分配和安全使用具有重要的作用,此外,也使人们能够方便地解决输电和用电这一矛盾。由于计算机仿真技术的出现,传统的物理仿真系统逐渐的被计算机仿真系统代替。计算机仿真系统所具有的效率高、精度高、重复性和通用性好、容易改变仿真参数等优点,还可以实现物理仿真无法实现的有危险性的或者是成本昂贵的仿真。在我国电力行业发展迅速的今天,变压器的仿真技术不能够再依托于传统的物理仿真系统,而是需要能够采用能够促进变压器技术发展的仿真技术。 对变压器特性的仿真涉及到很多方面,比如变压器空载励磁电流在饱和和磁滞影响时的特性、变压器磁滞回环在不同电压等级下的数据仿真、变压器空载合闸时的过电流现象、变压器在突发短路时的过电流现象,还有基本的比如效率特性、外特性、短路试验、空载试验等。 在学习完本课程后,运用MATLAB相关仿真技术对变压器进行仿真研究,本文的仿真主要以变压器磁路电流畸变以及变压器负载运行特性曲线为主要研究对象,通过结合实际进行曲线拟合、波形分析,得出相应结论。 3
2 设计依据及框图 2.1 设计平台 计算机技术的发展使得大量的数据计算变得方便快捷,一些因为需要不断的迭代而数据量庞大的数学算法也可以在实际中得到应用。不仅将工作者从繁忙的数据计算中解脱出来,而且还可以做到不同精度的计算。MATLAB软件在数值计算方面独占鳌头,由于其提供了数据视图,文字处理的同一环境而受到欢迎。 MATLAB的中文意思为矩阵实验室,起源于20世纪80年代,由其开创者Cleve Moler开发。经过后期的不断完善,MATLAB最终走向正轨,并且由MATH WORKS公司以商品形式发布。从MATLAB的开创到现今,随着其版本的更替,功能也变得愈加强大。其核心编写所采用的语言最终也从FORTRAN语言变为了C语言。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 其主要功能有:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程等 MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处 4
理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 MATLAB包括拥有数百个部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。 开放性使MATLAB广受用户欢迎。除部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。 现在的MATLAB,已经发生了质的飞跃。完善的数值计算系统和简单的程序编写环境,使得MATLAB软件不需要太过专业的程序编写技能基础就可以轻松的使用。 MATLAB以矩阵作为运算的基本单位,使得矩阵运算变得方便快捷。此外,MATLAB所提供的丰富的函数可以很容易的实现各种数值算法。MATLAB最为突出的特点就是编程语言的简洁、直观。而且其对语法要求不是特别严格,不像其他编程语言,比如C语言等。 MATLAB语言程序文件为文本文件,后缀为.m,一般称为M文件。M文件具有保存和容易修改命令的优点。MATLAB提供了专门的M文件编辑器。通过M文件还可以自行的定义具有具体功能的函数,使的程序的编写得到简化。 MATLAB提供的数据可视功能为实现仿真的结果分析提供了方便,通过图像可以很容易的对大量数据的变化实现分析。 2.2 设计思想
对变压器特性的仿真涉及到很多方面,比如变压器空载励磁电流在饱和和磁滞影响时的特性、变压器磁滞回环在不同电压等级下的数据仿真、变压器空载合闸时的过电流现象、变压器在突发短路时的过电流现象,还有基本的比如效率特性、外特性、短路试验、空载试验等。 变压器动态特性的分析主要是为计算和分析变压器在空载合闸和突然短路或者是其他故障时出现的暂态过电流和过电压。在电力系统中,变压器从发电厂到输配电网中都充当