matlab在电路仿.ppt

上传人:牧羊曲112 文档编号:5439040 上传时间:2023-07-07 格式:PPT 页数:55 大小:497.50KB
返回 下载 相关 举报
matlab在电路仿.ppt_第1页
第1页 / 共55页
matlab在电路仿.ppt_第2页
第2页 / 共55页
matlab在电路仿.ppt_第3页
第3页 / 共55页
matlab在电路仿.ppt_第4页
第4页 / 共55页
matlab在电路仿.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《matlab在电路仿.ppt》由会员分享,可在线阅读,更多相关《matlab在电路仿.ppt(55页珍藏版)》请在三一办公上搜索。

1、MATLAB在电路仿真 中的应用,1,本章学习目标,掌握电路系统模块集的使用掌握电阻电路、电路的时域、稳态和频域分析方法,2,主要内容,1 电路系统模块集简介 2 电 阻 电 路3 动态电路的时域分析4 动态电路的稳态分析5 电路的频域分析,3,1 电力系统模块集简介,电力系统模块集共有Electrical Sources、Elements、Power Electronics、Machines、Measurements、Application Libraries、Extras、powergui和Demos等9个模块组。模块下面显示的是版本号和开发该模块的公司的一些信息。双击Electrical

2、 Sources、Elements、Power Electronics、Machines、Measurements、Application Libraries和Extras中任一图标都将打开一个下级子模块集,可以看到有很多的子模块。,4,【例1】如图所示电路,输入的交流电压源为10V、60Hz,电阻R1=15、R2=10,试求电阻R2上的电压波形。这个电路比较简单,只有1个交流电压源和2个电阻,首先要搭建这个电路图。,5,选择菜单命令FileNewModel,出现如图所示的模型编辑窗口。然后在MATLAB命令窗口输入powerlib,把powerlib模块集调出来,双击打开Electrical

3、 Sources,选中AC Voltage Source拖动到如图6所示的窗口;同理选中Elements里面的Series RLC Branch并拖动到该窗口,由于有2个电阻,可以拖动2次,也可以通过复制的方式来完成。,6,双击上图中的AC Voltage Source,就会出现如下图所示的参数设置对话框。在对话框中可以对交流电压源的幅值(Peak amplitude)、相位(Phase)、频率(Frequence)、采样时间(Sample time)等进行设置。本例题中幅值设为10V、频率设为60Hz。,同理对Series RLC Branch和Series RLC Branch 1支路中的

4、电阻值分别设置。还可以对这些元器件的位置、方向和标注进行调整,具体方法读者在实验时自己摸索。然后进行连线,把光标移动到需要连线的元器件的连接端子,按住鼠标左键拖动到另一个元器件的连接端子,释放鼠标即完成连线。注意:在多于2条支路的节点处连接时,需要按住Ctrl键,或将光标移动至连线的拐点处,等光标变为十字交叉形再释放鼠标。,8,同时还需要调用Measurements模块中的Voltage Measurement和Simulink模块中Sinks下的虚拟示波器Scope。最后添加上交互界面工具powergui。连接好的电路仿真图模型如下图所示。,9,模型创建完成后,从模型编辑窗口中选择菜单命令F

5、ileSave或Save As,选一个文件名(本例文件名为mdlExam9_1)将模型以模型文件的格式(扩展名为.mdl)存入磁盘。在模型编辑窗口中对仿真的时间等参数设置完成后,单击Start simulation按钮就开始进行仿真,本例题仿真时间设为0.1秒。仿真结束后在MATLAB工作空间中会有仿真产生的一些数据,用户可以对这些数据进行分析或进行数据的可视化处理等。在本例中双击虚拟示波器Scope,会出现如下页图所示的电阻R2两端电压的波形图。,10,如果仿真时出错,会有出错信息的提示,读者可以根据这些提示来改正电路中出现的错误。后面一些复杂的电路仿真过程也和这个例题大致步骤相同,在以后的

6、例题中只给出搭建好的仿真电路模型和参数设置说明,不再详述仿真电路的搭建过程。,11,2 电 阻 电 路 1.一般电阻电路【例2】如图10所示的电路,已知:us=10V,R1=6、R2=8、R3=2、R4=12、R5=10、R6=5。求i4和u6。,12,解:方法一,M文件法。(1)建模。用网孔法,按图10可列出网孔方程为该方程组写成矩阵形式如下。,13,该矩阵方程组可简写为,由于电源和电阻的值是已知的,从而可以求出ia、ib和ic,而,即可得问题的解。(2)MATLAB程序mExam9_2.m。us=10;%给电源赋值 R1=6;R2=8;R3=2;R4=12;R5=10;R6=5;%为给定元

7、件赋值 a11=R1+R2;a12=-R2;a13=0;%计算系数矩阵各元素的值 a21=-R2;a22=R2+R3+R4;a23=-R4;a31=0;a32=-R4;a33=R4+R5+R6;,14,b1=1;b2=0;b3=0;A=a11,a12,a13;a21,a22,a23;a31,a32,a33;%列出系数矩阵A和BB=b1;b2;b3;I=AB*us;I=ia;ib;ic ia=I(1);ib=I(2);ic=I(3);display(i4和u6的值为);i4=ib-ic,u6=R6*ic%求出问题的解(3)程序运行结果。i4=0.2625u6=1.0499,15,方法二,利用MA

8、TLAB中的电力系统模块集和虚拟仪器搭建仿真电路。根据图10知道电路需要1个Electrical Sources模块下的DC Voltage Source,6个Elements模块下的 Series RLC Branch。由于要测量电流和电压,所以还需要Measurements模块下的电流测量模块(Current Measurement)和电压测量模块(Voltage Measurement),另需要2个Sinks模块下的Display。然后根据题目给出的条件对各元件进行赋值,搭建出如图11所示的仿真电路,以文件名为mdlExam9_2存盘。最后进行仿真,2个Display中显示的值即为所要求

9、的电流值和电压值,16,17,2 含受控源的电阻电路【例3】如图12所示的是一个含受控源的电阻电路,设R1=R2=R3=4、R4=2,控制常数k1=0.5、k2=4,is=2A。求i1和i2。,18,解:方法一,M文件法。(1)建模。按图12列出节点方程为 由图12知控制变量i1、i2与节点电压ua、ub的关系为,19,上述4个公式中,只有is是已知的,把其他未知量全部移至等号左端,写成矩阵形式如下。已知is=2A,由上式可解得i1和i2。,20,(2)MATLAB程序mExam9_3.m。clearR1=4;R2=4;R3=4;R4=2;%给元件赋值is=2;k1=0.5;k2=4;%给电源

10、及控制系数赋值%按照A*X=B*is列写电路的矩阵方程,其中X=ua;ub;i1;i2a11=1/R1+1/R2;a12=-1/R2;a13=0;a14=-k1;%设置系数Aa21=-1/R2;a22=1/R2+1/R3+1/R4;a23=-k2/R3;a24=k1;a31=1/R2;a32=-1/R2;a33=-1;a34=0;a41=0;a42=1/R4;a43=0;a44=-1;,21,A=a11,a12,a13,a14;a21,a22,a23,a24;a31,a32,a33,a34;a41,a42,a43,a44;B=1;0;0;0;X=AB*is;display(i1和i2的值是);

11、i1=X(3),i2=X(4)(3)程序运行结果。i1和i2的值是i1=1i2=1,22,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路。搭建好的仿真电路如图13所示,以文件名mdlExam9_3存盘。根据图12知道电路需要4个Elements模块下的 Series RLC Branch,2个受控源是Electrical Sources下的Controlled Current Source和Controlled Voltage Source。由于受控源分别受2条支路的电流控制,所以需要2个Measurements模块下的电流测量模块(Current Measurement)来

12、引出这2条支路的电流。,23,控制常数则由2个simulink库下Math Operations中的 Gain来完成。分别双击各元件,在弹出的对话框中对各电阻及各控制元件根据题目给出的条件赋值。MATLAB中没有直流电流源,所以这里用了一个小技巧,用受控电流源来完成。由于powerlib中有直流电压源,所以选用一个直流电压源来控制受控电流源,还需要1个Measurements模块下的电流测量模块(Voltage Measurement)。电路图中电流源的电流为2A,所以直流电压源的电压设为2V。,24,25,3 动态电路的时域分析1.一阶动态电路的时域分析【例4】如图14所示的是由正弦激励的一

13、阶电路,已知R=2,C=0.5F,电容初始电压uc(0+)=5V,激励的正弦电压,um=10V,。当t=0,开关闭合,求电容电压的全响应、暂态响应与稳态响应,并画出波形。,26,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路 搭建好的仿真电路如下图所示,以文件名mdlExam9_4存盘。该电路比较简单,只有1个交流电压源,1个电阻,1个电容组成。但仿真过程需要改变这几个元件的有些参数,需要一定技巧和近似处理。,27,为了把电容上的三种电压波形画在一张图内,并便于和图15比较,这里选用Voltage Measurement模块取出电容两端的电压,并送给Sinks下的out模块,

14、这样在仿真时会在MATLAB工作空间中产生2个默认变量,时间变量tout和数据变量yout。仿真时间设为10S,步长和方法一保持一致,设为0.1S。仿真过程由以下几个步骤完成:如图16连接好仿真电路,然后对各元件设置参数。交流电压源AC的参数为:Peak amplitude(V)为10;Phase值可这样求得:在,28,方法一中激励源设为余弦函数,而交流电压源激励默认为正弦函数,所以需要求出 的值,由诱导公式:所以设初始相位 的值为=0.4636(rad)=26.89(deg);Frequency(Hz)的值由角频率 可算得大约为0.318Hz。开关Breaker的Initial state设

15、为0,29,Switching times(s)设为0.01。电阻R阻值为2,电容C的Capacitance(F)设为0.5,capacitor initial voltage(V)设为5。参数设置完毕进行仿真,仿真结束后在MATLAB工作空间产生tout和yout,在工作空间中修改yout为yout1(如图17所示),yout1为电容电压的全响应。电路其它参数不变,只把电容C的Set the initial capacitor voltage不选中,即不设置初始电压值,再进行仿真,在工作空间中修改yout为yout2,yout2为电容电压的稳态响应。在命令窗口输入:yout3=yout1-y

16、out1,yout3为电容电压的暂态响应。,30,在命令窗口用绘图指令画出电容上的三种响应波形,如下图所示:plot(tout,yout1,-,tout,yout3,:,tout,yout2,-.*),grid on%把三种数据画在一张图上 legend(yout1,yout3,yout2)%用图例标注,31,2.二阶动态电路的时域分析【例5】如图所示的是典型的RLC二阶电路,电容初始电压uc(0+)=10V,电感初始电流,图中 为输入,为响应。求在下列条件下,电路的零输入响应,并画出其波形。(1)R=220;L=0.25H;C=100F。(2)R=100;L=0.25H;C=100F。(3)

17、R=50;L=1H;C=100F。(4)R=0;L=1H;C=100F。,32,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路 搭建好的仿真电路如图21所示,以文件名mdlExam9_5存盘。该电路比较简单,只有1个电阻,1个电感,1个电容组成。但值得注意的是,实际中纯电感是不存在的,所以一定要有一个和电感并联的电阻,在这里我们把该电阻值设的非常大,相。,33,当于开路,就对仿真波形影响较小了。电容电压初值设为10V。开关的阻值也要设的非常小,开关时间设为0.01S,仿真过程需要分4个步骤完成,根据题目给出的条件改变这几个元件的有些参数,然后进行仿真。,34,为了便于把电容上

18、的三种电压波形和图20比较,仿真时间设为0.5 S,步长和方法一保持一致,设为0.001S。仿真过程由以下几个步骤完成:按R=220;L=0.25H;C=100F设定参数,得到过阻尼波形。按R=100;L=0.25H;C=100F设定参数,得到临界阻尼波形。按R=50;L=1H;C=100F设定参数,得到欠阻尼波形。按R=0.001;L=1H;C=100F设定参数,得到自由振荡波形。,35,这几种波形如图22所示,可以看到与图20基本一致。,36,4 动态电路的稳态分析1.一般动态电路的稳态分析【例6】如图23所示的电路,已知C1=0.5F,R2=R3=2,L4=0.5H,求b,d两点之间的电

19、压U(t),并画出波形。,37,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路 搭建好的仿真电路如图25所示,以文件名mdlExam9_6存盘。电容、电阻、电感的参数按照题目给出的条件设定,电压源电压为10V,频率为f=10/(2pi)=1.5915(Hz),电流源电流为5A,频率为f=1/(2pi)=0.1592(Hz)。仿真时间设为20S,间隔为0.1S。仿真结果如图26所示。,38,39,2.含受控源的正弦电路稳态分析【例7】如图27所示的电路,已知 V,R=5,L=20mH,C=100F。求电流i,并画出波形。,40,方法二,利用MATLAB中的电力系统模块集和虚拟仪

20、器搭建仿真电路 搭建好的仿真电路如图29所示,以文件名mdlExam9_7存盘。电容、电阻、电感的参数按照题目给出的条件设定,电压源电压为100V,频率为f=8/(2)=4(Hz),Scope显示电流的波形。另把电流用Measurements 模块中Extras里面的 Fourier进行傅里叶变换(在这里提醒读者注意Fourier参数的设置与计算结果的关系),可得到电流的幅值和相位,送给2个Display显示出来。仿真时间设为1S,间隔为0.001S。仿真结果如图9.30所示。,41,42,3.带耦合电感的正弦电路稳态分析【例8】如图31(a)所示的正弦稳态电路,已知 V,R=8,L1=7H,

21、L2=4H,M=2H。求电流 i2(t),并画出波形。a.正弦稳态电路,43,b.去耦等效电路 c.向量模型电路,44,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路 搭建好的仿真电路如图32所示,以文件名mdlExam9_8存盘。电阻的参数按照题目给出的条件设定,耦合线圈的电感和互感也按照题目给出的条件设置,注意实际中不可能存在单纯的电感,电感总会有一定的电阻,在这里把耦合线圈两边的电阻值都设为0.00001,电压源电压为20V,频率为f=20/(2)=3.1831(Hz),Scope显示电流的波形。仿真时间设为1S,间隔为0.001S。仿真结果如图33所示。,45,46,

22、5电路的频域分析,在MATLAB中可以用abs(H)和angle(H)语句来直接计算幅频响应和相频响应,其图形的频率坐标可以是线性的(用plot画出),也可以是半对数的(用semilogx画出)。,47,【例9】如图34所示的是二阶带通串联谐振电路。已知L=0.01H,C=1P,求R=10、50、100、200时,电流I对电压U的响应,并画出波形。,48,解:方法一,M文件法:建模由电路图得幅频响应可用增益表示为 相频响应,49,MATLAB程序mExam9_9.mL=0.01;C=0.000001;%初始化电路参数r=10,50,100,200;%为简化运算,本例题只改变电阻值w=logsp

23、ace(-1,8,100);%设定频率数组wfor i=1:4 R=r(i);H=1./(R+j*w*L+1/j*w*C);%求复频率响应 subplot(2,1,1),semilogx(w,20*log10(abs(H),hold on,grid on%绘制幅频特性 subplot(2,1,2),semilogx(w,angle(H),hold on,grid on%绘制相频特性end,50,程序运行结果如下图所示,上面的子图是幅频特性,下面的子图是相频特性,51,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路 搭建好的仿真电路如图36所示,以文件名mdlExam9_9存盘

24、。在进行仿真前首先介绍两个函数:一个是电力系统模块提供的power_analyze(),其调用格式为a,b,c,d=power_analyze(文件名),可以提取出从给定电源到输出端子的状态方程模型,根据此状态方程模型可以对电路进行频域分析,如绘制其Bode图等;另一个是ss(),其调用格式为,可以根据a、b、c、d创建状态空间模型或转换状态空间模型。,52,按题目给出的条件对电感和电容设定参数,然后按以下步骤进行仿真:电阻R值设为10,然后在命令窗口输a,b,c,d=power_analyze(mdlExam9_9);sys=ss(a,b,c,d);bode(sys),这时会弹出一个绘制好的

25、Bode图形窗口 修改电阻R值为50并存盘,然后在命令窗口输入:a,b,c,d=power_analyze(mdlExam9_9);sys=ss(a,b,c,d);hold on,bode(sys)修改电阻R值为100并存盘,然后在命令窗口输入:a,b,c,d=power_analyze(mdlExam9_9);sys=ss(a,b,c,d);hold on,bode(sys),53,修改电阻R值为200并存盘,然后在命令窗口输入:a,b,c,d=power_analyze(mdlExam9_9);sys=ss(a,b,c,d);hold on,bode(sys)经以上4步仿真,可以看到如图37 所示的Bode图,上面的子图是幅频特性,下面的子图是相频特性。图36,54,图37 仿真得到的电路的Bode图,55,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号