《matlab在电路仿真PPT课件》由会员分享,可在线阅读,更多相关《matlab在电路仿真PPT课件(55页珍藏版)》请在人人文库网上搜索。
1、,1,MATLAB在电路仿真 中的应用,1,.,2,本章学习目标,掌握电路系统模块集的使用 掌握电阻电路、电路的时域、稳态和频域分析方法,2,.,3,主要内容,1 电路系统模块集简介 2 电 阻 电 路 3 动态电路的时域分析 4 动态电路的稳态分析 5 电路的频域分析,3,.,4,1 电力系统模块集简介,电力系统模块集共有Electrical Sources、Elements、Power Electronics、Machines、Measurements、Application Libraries、Extras、powergui和Demos等9个模块组。模块下面显示的是版本号和开发该模块的公。
2、司的一些信息。 双击Electrical Sources、Elements、Power Electronics、Machines、Measurements、Application Libraries和Extras中任一图标都将打开一个下级子模块集,可以看到有很多的子模块。,4,.,5,【例1】 如图所示电路,输入的交流电压源为10V、60Hz,电阻R1=15、R2=10,试求电阻R2上的电压波形。 这个电路比较简单,只有1个交流电压源和2个电阻,首先要搭建这个电路图。,5,.,6,选择菜单命令FileNewModel,出现如图所示的模型编辑窗口。 然后在MATLAB命令窗口输入powerlib。
3、,把powerlib模块集调出来,双击打开Electrical Sources,选中AC Voltage Source拖动到如图6所示的窗口;同理选中Elements里面的Series RLC Branch并拖动到该窗口,由于有2个电阻,可以拖动2次,也可以通过复制的方式来完成。,6,.,7,双击上图中的AC Voltage Source,就会出现如下图所示的参数设置对话框。在对话框中可以对交流电压源的幅值(Peak amplitude)、相位(Phase)、频率(Frequence)、采样时间(Sample time)等进行设置。本例题中幅值设为10V、频率设为60Hz。,.,8,同理对Se。
4、ries RLC Branch和Series RLC Branch 1支路中的电阻值分别设置。还可以对这些元器件的 位置、方向和标注进行调整,具体方法读者在实验 时自己摸索。然后进行连线,把光标移动到需要连 线的元器件的连接端子,按住鼠标左键拖动到另一 个元器件的连接端子,释放鼠标即完成连线。 注意:在多于2条支路的节点处连接时,需要按 住Ctrl键,或将光标移动至连线的拐点处,等光标变 为十字交叉形再释放鼠标。,8,.,9,同时还需要调用Measurements模块中的Voltage Measurement和Simulink模块中Sinks下的虚拟示波 器Scope。最后添加上交互界面工具p。
5、owergui。连 接好的电路仿真图模型如下图所示。,9,.,10,模型创建完成后,从模型编辑窗口中选择菜单命 令FileSave或Save As,选一个文件名(本例文件名 为mdlExam9_1)将模型以模型文件的格式(扩展名为 .mdl)存入磁盘。 在模型编辑窗口中对仿真的时间等参数设置完成 后,单击Start simulation按钮就开始进行仿真,本例 题仿真时间设为0.1秒。仿真结束后在MATLAB工作 空间中会有仿真产生的一些数据,用户可以对这些 数据进行分析或进行数据的可视化处理等。在本例 中双击虚拟示波器Scope,会出现如下页图所示的电 阻R2两端电压的波形图。,10,.,1。
6、1,如果仿真时出错,会有出错信息的提示,读者可以根据这些提示来改正电路中出现的错误。后面一些复杂的电路仿真过程也和这个例题大致步骤相同,在以后的例题中只给出搭建好的仿真电路模型和参数设置说明,不再详述仿真电路的搭建过程。,11,.,12,2 电 阻 电 路 1. 一般电阻电路 【例2】 如图10所示的电路,已知:us=10V,R1=6、R2=8、R3=2、R4=12、R5=10、R6=5。求i4和u6。,12,.,13,解:方法一,M文件法。 (1) 建模。用网孔法,按图10可列出网孔方程为 该方程组写成矩阵形式如下。,13,.,14,该矩阵方程组可简写为 ,由于电源和电阻的值是已知的,从而可。
7、以求出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;,14,.,15,b1=1;b2=0;b3=0; A=a11,a12,a13; a21,a22,a23; a31,a32,a33; % 列出系数矩阵A和B B=b1;b2;b3;。
8、 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.2625 u6 = 1.0499,15,.,16,方法二,利用MATLAB中的电力系统模块集和虚拟仪器搭建仿真电路。 根据图10知道电路需要1个Electrical Sources模块下的DC Voltage Source,6个Elements模块下的 Series RLC Branch。由于要测量电流和电压,所以还需要Measurements模块下的电流测量模块(Curr。
9、ent Measurement)和电压测量模块(Voltage Measurement),另需要2个Sinks模块下的Display。然后根据题目给出的条件对各元件进行赋值,搭建出如图11所示的仿真电路,以文件名为mdlExam9_2存盘。最后进行仿真,2个Display中显示的值即为所要求的电流值和电压值,16,.,17,17,.,18,2 含受控源的电阻电路 【例3】 如图12所示的是一个含受控源的电阻电路,设R1=R2=R3=4、R4=2,控制常数k1=0.5、k2=4,is=2A。求i1和i2。,18,.,19,解:方法一,M文件法。 (1) 建模。按图12列出节点方程为 由图12知控。
10、制变量i1、i2与节点电压ua、ub 的关系为,19,.,20,上述4个公式中,只有is是已知的,把其他未知量全部移至等号左端,写成矩阵形式如下。 已知is=2A,由上式可解得i1和i2。,20,.,21,(2) MATLAB程序mExam9_3.m。 clear R1=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; %设置系数A a21=-1/R2;a22=1/R2+1/R3+1/。
11、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,.,22,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的值是); i1=X(3),i2=X(4) (3) 程序运行结果。 i1和i2的值是 i1 = 1 i2 = 1,22,.,23,方法二,利用MATLAB中的电力系统模块集和 虚拟仪器搭建仿真电路。 搭建好的仿真电路。
12、如图13所示,以文件名 mdlExam9_3存盘。根据图12知道电路需要4 个Elements模块下的 Series RLC Branch,2个 受控源是Electrical Sources下的Controlled Current Source和Controlled Voltage Source。 由于受控源分别受2条支路的电流控制,所以需 要2个Measurements模块下的电流测量模块 (Current Measurement)来引出这2条支路的电流 。,23,.,24,控制常数则由2个simulink库下Math Operations 中的 Gain来完成。分别双击各元件,在弹出的 对。
13、话框中对各电阻及各控制元件根据题目给出 的条件赋值。 MATLAB中没有直流电流源,所以这里用了一个 小技巧,用受控电流源来完成。由于powerlib中有 直流电压源,所以选用一个直流电压源来控制受控 电流源,还需要1个Measurements模块下的电流测 量模块(Voltage Measurement)。电路图中电流源 的电流为2A,所以直流电压源的电压设为2V。,24,.,25,25,.,26,3 动态电路的时域分析 1. 一阶动态电路的时域分析 【例4】如图14所示的是由正弦激励的一阶 电路,已知R=2,C=0.5F,电容初始电压 uc(0+)=5V,激励的正弦电压,um=10V,。当。
14、t=0, 开关闭合,求电容电压的全响应、暂态响应与稳 态响应,并画出波形。,26,.,27,方法二,利用MATLAB中的电力系统模块集和虚拟 仪器搭建仿真电路 搭建好的仿真电路如下图所示,以文件名 mdlExam9_4存盘。该电路比较简单,只有1个交流 电压源,1个电阻,1个电容组成。但仿真过程需要 改变这几个元件的有些参数,需要一定技巧和近似 处理。,27,.,28,为了把电容上的三种电压波形画在一张图内, 并便于和图15比较,这里选用Voltage Measurement模块取出电容两端的电压,并送给 Sinks下的out模块,这样在仿真时会在MATLAB 工作空间中产生2个默认变量,时间。
15、变量tout和数 据变量yout。仿真时间设为10S,步长和方法一 保持一致,设为0.1S。仿真过程由以下几个步骤 完成: 如图16连接好仿真电路,然后对各元件 设置参数。交流电压源AC的参数为:Peak amplitude(V)为10;Phase值可这样求得:在,28,.,29,方法一中激励源设为余弦函数 ,而交流 电压源激励默认为正弦函数 ,所以需要 求出 的值,由诱导公式: 所以设初始相位 的值为 =0.4636(rad)=26.89(deg); Frequency(Hz)的值由角频率 可算得大 约为0.318Hz。开关Breaker的Initial state设为0,29,.,30,S。
16、witching 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-。
17、yout1,yout3 为电容电压的暂态响应。,30,.,31, 在命令窗口用绘图指令画出电容上的三种响 应波形,如下图所示: plot(tout,yout1,-,tout,yout3,:,tout,yout2,-.*), grid on %把三种数据画在一张图上 legend(yout1,yout3,yout2) % 用图例标注,31,.,32,2 .二阶动态电路的时域分析 【例5】如图所示的是典型的RLC二阶电路, 电容初始电压uc(0+)=10V,电感初始电流,图中 为输入, 为响应。求在下列条件下, 电路的零输入响应,并画出其波形。 (1)R=220; L=0.25H; C=100F。。
18、 (2)R=100; L=0.25H; C=100F。 (3)R=50; L=1H; C=100F。 (4)R=0; L=1H; C=100F。,32,.,33,方法二,利用MATLAB中的电力系统模块集和虚 拟仪器搭建仿真电路 搭建好的仿真电路如图21所示,以文件名 mdlExam9_5存盘。该电路比较简单,只有1个电阻 ,1个电感,1个电容组成。但值得注意的是,实际 中纯电感是不存在的,所以一定要有一个和电感并 联的电阻,在这里我们把该电阻值设的非常大,相 。,33,.,34,当于开路,就对仿真波形影响较小了。电容电压 初值设为10V。开关的阻值也要设的非常小,开关 时间设为0.01S,仿。
19、真过程需要分4个步骤完成, 根据题目给出的条件改变这几个元件的有些参数 ,然后进行仿真。,34,.,35,为了便于把电容上的三种电压波形和图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,.,36,这几种波形如图22所示,可以看到与图20。
20、 基本一致。,36,.,37,4 动态电路的稳态分析 1. 一般动态电路的稳态分析 【例6】如图23所示的电路,已知C1=0.5F,R2=R3=2,L4=0.5H, 求b,d两点之间的电压U(t),并画出波形。,37,.,38,方法二,利用MATLAB中的电力系统模块集和虚 拟仪器搭建仿真电路 搭建好的仿真电路如图25所示,以文件名 mdlExam9_6存盘。电容、电阻、电感的参数按照 题目给出的条件设定,电压源电压为10V,频率为 f=10/(2pi)=1.5915(Hz), 电流源电流为5A,频率为 f=1/(2pi)=0.1592(Hz)。仿真时间设为20S,间隔为 0.1S。仿真结果如。
21、图26所示。,38,.,39,39,.,40,2. 含受控源的正弦电路稳态分析 【例7】如图27所示的电路,已知 V,R=5,L=20mH,C=100F。求电流i,并画出波形。,40,.,41,方法二,利用MATLAB中的电力系统模块集和 虚拟仪器搭建仿真电路 搭建好的仿真电路如图29所示,以文件名 mdlExam9_7存盘。电容、电阻、电感的参数按 照题目给出的条件设定,电压源电压为100V,频 率为f=8/(2)=4 (Hz), Scope显示电流的波形。另把 电流用Measurements 模块中Extras里面的 Fourier进行傅里叶变换(在这里提醒读者注意 Fourier参数的设。
22、置与计算结果的关系),可得到 电流的幅值和相位,送给2个Display显示出来。 仿真时间设为1S,间隔为0.001S。仿真结果如图 9.30所示。,41,.,42,42,.,43,3. 带耦合电感的正弦电路稳态分析 【例8】如图31(a)所示的正弦稳态电路,已知 V,R=8,L1=7H,L2=4H,M=2H。求电流 i2(t),并画出波形。 a.正弦稳态电路,43,.,44,b.去耦等效电路 c.向量模型电路,44,.,45,方法二,利用MATLAB中的电力系统模块集 和虚拟仪器搭建仿真电路 搭建好的仿真电路如图32所示,以文件名 mdlExam9_8存盘。电阻的参数按照题目给出 的条件设定。
23、,耦合线圈的电感和互感也按照题 目给出的条件设置,注意实际中不可能存在单 纯的电感,电感总会有一定的电阻,在这里把 耦合线圈两边的电阻值都设为0.00001,电 压源电压为20V,频率为f=20/(2)=3.1831 (Hz), Scope显示电流的波形。仿真时间设为1S,间 隔为0.001S。仿真结果如图33所示。,45,.,46,46,.,47,5电路的频域分析,在MATLAB中可以用abs(H)和angle(H)语句来直接计算幅频响应和相频响应,其图形的频率坐标可以是线性的(用plot画出),也可以是半对数的(用semilogx画出)。,47,.,48,【例9】如图34所示的是二阶带通串。
24、联谐振电路。已知L=0.01H,C=1P,求R=10、50、100、200时,电流I对电压U的响应,并画出波形。,48,.,49,解:方法一,M文件法: 建模 由电路图得 幅频响应可用增益表示为 相频响应,49,.,50,MATLAB程序mExam9_9.m L=0.01; C=0.000001; %初始化电路参数 r=10,50,100,200; %为简化运算,本例题只改变电阻值 w=logspace(-1,8,100); %设定频率数组w for i=1:4 R=r(i); H=1./(R+j*w*L+1/j*w*C); %求复频率响应 subplot(2,1,1), semilogx(w。
25、,20*log10(abs(H), hold on, grid on %绘制幅频特性 subplot(2,1,2), semilogx(w,angle(H), hold on, grid on %绘制相频特性 end,50,.,51,程序运行结果如下图所示,上面的子图是幅频 特性,下面的子图是相频特性,51,.,52,方法二,利用MATLAB中的电力系统模块集和虚 拟仪器搭建仿真电路 搭建好的仿真电路如图36所示,以文件名 mdlExam9_9存盘。在进行仿真前首先介绍两个函 数:一个是电力系统模块提供的power_analyze( ),其 调用格式为a,b,c,d= power_analyz。
26、e(文件名 ) ,可以 提取出从给定电源到输出端子的状态方程模型,根据 此状态方程模型可以对电路进行频域分析,如绘制其 Bode图等;另一个是ss( ),其调用格式为 , 可以根据a、b、c、d创建状态空间模型或转换状态空间模型。,52,.,53,按题目给出的条件对电感和电容设定参数,然后按 以下步骤进行仿真: 电阻R值设为10,然后在命令窗口输 a,b,c,d=power_analyze(mdlExam9_9); sys=ss(a,b,c,d); bode(sys),这时会弹出一个绘制好的Bode图形窗口 修改电阻R值为50并存盘,然后在命令窗口输 入:a,b,c,d=power_analy。
27、ze(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,.,54,修改电阻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,.,55,图37 仿真得到的电路的Bode图,55。