您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab第9章 MATLAB在电路仿真
第9章MATLAB在电路仿真中的应用1本章学习目标掌握电力系统模块集的使用掌握电阻电路、电路的时域、稳态和频域分析方法2主要内容9.1电力系统模块集简介9.2电阻电路9.3动态电路的时域分析9.4动态电路的稳态分析9.5电路的频域分析39.1电力系统模块集简介电力系统模块集共有ElectricalSources、Elements、PowerElectronics、Machines、Measurements、ApplicationLibraries、Extras、powergui和Demos等9个模块组。模块下面显示的是版本号和开发该模块的公司的一些信息。双击ElectricalSources、Elements、PowerElectronics、Machines、Measurements、ApplicationLibraries和Extras中任一图标都将打开一个下级子模块集,可以看到有很多的子模块。4【例9-1】如图所示电路,输入的交流电压源为10V、60Hz,电阻R1=15、R2=10,试求电阻R2上的电压波形。这个电路比较简单,只有1个交流电压源和2个电阻,首先要搭建这个电路图。5选择菜单命令File→New→Model,出现如图所示的模型编辑窗口。然后在MATLAB命令窗口输入powerlib,把powerlib模块集调出来,双击打开ElectricalSources,选中ACVoltageSource拖动到如图9.6所示的窗口;同理选中Elements里面的SeriesRLCBranch并拖动到该窗口,由于有2个电阻,可以拖动2次,也可以通过复制的方式来完成。6双击上图中的ACVoltageSource,就会出现如下图所示的参数设置对话框。在对话框中可以对交流电压源的幅值(Peakamplitude)、相位(Phase)、频率(Frequence)、采样时间(Sampletime)等进行设置。本例题中幅值设为10V、频率设为60Hz。同理对SeriesRLCBranch和SeriesRLCBranch1支路中的电阻值分别设置。还可以对这些元器件的位置、方向和标注进行调整,具体方法读者在实验时自己摸索。然后进行连线,把光标移动到需要连线的元器件的连接端子,按住鼠标左键拖动到另一个元器件的连接端子,释放鼠标即完成连线。注意:在多于2条支路的节点处连接时,需要按住Ctrl键,或将光标移动至连线的拐点处,等光标变为十字交叉形再释放鼠标。8同时还需要调用Measurements模块中的VoltageMeasurement和Simulink模块中Sinks下的虚拟示波器Scope。最后添加上交互界面工具powergui。连接好的电路仿真图模型如下图所示。9模型创建完成后,从模型编辑窗口中选择菜单命令File→Save或SaveAs,选一个文件名(本例文件名为mdlExam9_1)将模型以模型文件的格式(扩展名为.mdl)存入磁盘。在模型编辑窗口中对仿真的时间等参数设置完成后,单击Startsimulation按钮就开始进行仿真,本例题仿真时间设为0.1秒。仿真结束后在MATLAB工作空间中会有仿真产生的一些数据,用户可以对这些数据进行分析或进行数据的可视化处理等。在本例中双击虚拟示波器Scope,会出现如下页图所示的电阻R2两端电压的波形图。10如果仿真时出错,会有出错信息的提示,读者可以根据这些提示来改正电路中出现的错误。后面一些复杂的电路仿真过程也和这个例题大致步骤相同,在以后的例题中只给出搭建好的仿真电路模型和参数设置说明,不再详述仿真电路的搭建过程。119.2电阻电路1.一般电阻电路【例9-2】如图9.10所示的电路,已知:us=10V,R1=6、R2=8、R3=2、R4=12、R5=10、R6=5。求i4和u6。12解:方法一,M文件法。(1)建模。用网孔法,按图9.10可列出网孔方程为该方程组写成矩阵形式如下。1312a2bsRRRiiu2a234b4cR(RRR)R0iii4b456cR(RRR)0ii122a22344bs4456cRRR01RRRRR00RRRR0iiui该矩阵方程组可简写为,由于电源和电阻的值是已知的,从而可以求出ia、ib和ic,而,,即可得问题的解。(2)MATLAB程序mExam9_2.m。us=10;%给电源赋值R1=6;R2=8;R3=2;R4=12;R5=10;R6=5;%为给定元件赋值a11=R1+R2;a12=-R2;a13=0;%计算系数矩阵各元素的值a21=-R2;a22=R2+R3+R4;a23=-R4;a31=0;a32=-R4;a33=R4+R5+R6;14sABIu4bciii66cuRib1=1;b2=0;b3=0;A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];%列出系数矩阵A和BB=[b1;b2;b3];I=A\B*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.049915方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路。根据图9.10知道电路需要1个ElectricalSources模块下的DCVoltageSource,6个Elements模块下的SeriesRLCBranch。由于要测量电流和电压,所以还需要Measurements模块下的电流测量模块(CurrentMeasurement)和电压测量模块(VoltageMeasurement),另需要2个Sinks模块下的Display。然后根据题目给出的条件对各元件进行赋值,搭建出如图9.11所示的仿真电路,以文件名为mdlExam9_2存盘。最后进行仿真,2个Display中显示的值即为所要求的电流值和电压值16172含受控源的电阻电路【例9-3】如图9.12所示的是一个含受控源的电阻电路,设R1=R2=R3=4、R4=2,控制常数k1=0.5、k2=4,is=2A。求i1和i2。18解:方法一,M文件法。(1)建模。按图9.12列出节点方程为由图9.12知控制变量i1、i2与节点电压ua、ub的关系为19abs12122111kRRRuuii21ab1222343k1111kRRRRRiuuiab12Ruuib24Rui上述4个公式中,只有is是已知的,把其他未知量全部移至等号左端,写成矩阵形式如下。已知is=2A,由上式可解得i1和i2。201122a2122343bs122241110kRRR1k1111kRRRRR001110RR01001Ruuiii(2)MATLAB程序mExam9_3.m。clearR1=4;R2=4;R3=4;R4=2;%给元件赋值is=2;k1=0.5;k2=4;%给电源及控制系数赋值%按照A*X=B*is列写电路的矩阵方程,其中X=[ua;ub;i1;i2]a11=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;21A=[a11,a12,a13,a14;a21,a22,a23,a24;a31,a32,a33,a34;a41,a42,a43,a44];B=[1;0;0;0];X=A\B*is;display('i1和i2的值是');i1=X(3),i2=X(4)(3)程序运行结果。i1和i2的值是i1=1i2=122方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路。搭建好的仿真电路如图9.13所示,以文件名mdlExam9_3存盘。根据图9.12知道电路需要4个Elements模块下的SeriesRLCBranch,2个受控源是ElectricalSources下的ControlledCurrentSource和ControlledVoltageSource。由于受控源分别受2条支路的电流控制,所以需要2个Measurements模块下的电流测量模块(CurrentMeasurement)来引出这2条支路的电流。23控制常数则由2个simulink库下MathOperations中的Gain来完成。分别双击各元件,在弹出的对话框中对各电阻及各控制元件根据题目给出的条件赋值。MATLAB中没有直流电流源,所以这里用了一个小技巧,用受控电流源来完成。由于powerlib中有直流电压源,所以选用一个直流电压源来控制受控电流源,还需要1个Measurements模块下的电流测量模块(VoltageMeasurement)。电路图中电流源的电流为2A,所以直流电压源的电压设为2V。24259.3动态电路的时域分析1.一阶动态电路的时域分析【例9.4】如图9.14所示的是由正弦激励的一阶电路,已知R=2Ω,C=0.5F,电容初始电压uc(0+)=5V,激励的正弦电压,um=10V,。当t=0,开关闭合,求电容电压的全响应、暂态响应与稳态响应,并画出波形。26方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路搭建好的仿真电路如下图所示,以文件名mdlExam9_4存盘。该电路比较简单,只有1个交流电压源,1个电阻,1个电容组成。但仿真过程需要改变这几个元件的有些参数,需要一定技巧和近似处理。27为了把电容上的三种电压波形画在一张图内,并便于和图9.15比较,这里选用VoltageMeasurement模块取出电容两端的电压,并送给Sinks下的out模块,这样在仿真时会在MATLAB工作空间中产生2个默认变量,时间变量tout和数据变量yout。仿真时间设为10S,步长和方法一保持一致,设为0.1S。仿真过程由以下几个步骤完成:①如图9.16连接好仿真电路,然后对各元件设置参数。交流电压源AC的参数为:Peakamplitude(V)为10;Phase值可这样求得:在28方法一中激励源设为余弦函数,而交流电压源激励默认为正弦函数,所以需要求出的值,由诱导公式:所以设初始相位的值为=0.4636(rad)=26.89(deg);Frequency(Hz)的值由角频率可算得大约为0.318Hz。开关Breaker的Initialstate设为029cost1sint1111coscos(90arctan)cos(arctan)211sin(arctan)sin(arctan)sin(())tttRCRCtttRCRC11arctanRC2/radsSwitchingtimes(s)设为0.01。电阻R阻值为2,电容C的Capacitance(F)设为0.5,capacitorinitialvoltage(V)设为5。参数设置完毕进行仿真,仿真结束后在MATLAB工作空间产生tout和yout,在工作空间中修改yout为yout1(如图9.17所示),yout1为电容电压的全响应。②电路其它参数不变,只把电容C的Settheinitialcapacitorvoltage不选中,即不设置初始电压值,再进行仿真,在工作空间中修改yout为yout2,yout2为电容电压的稳态响应。③在命令窗口输入:yout3=yout1-yout1,yout3为电容电压的暂态响应。30④在命令窗口用绘图指令画出电容
本文标题:matlab第9章 MATLAB在电路仿真
链接地址:https://www.777doc.com/doc-3447488 .html