摘要:MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,矩阵运算、绘制图像是其常用功能。本文将MATLAB与大学物理实验RLC充放电过程相结合,模拟出在不同阻尼条件下的uc变化曲线。
关键词:RLC;MATLAB;暂态过程
在阶跃电压作用下,RLC串联电路由一个平衡态跳变到另一个平衡态,这一转变过程成为暂态过程。利用MATLAB软件强大的功能可以模拟该过程,对于在实验教学中大力开发计算机模拟有重要意义。
1 实验原理
将R、L和C串联成如图1所示的线路图,当开关K合向“1”时,电源E将对电容C充电。
电路方程为:
(1.1)
将代入得:
(1.2)
根据初始条件,当t=0时,uc=0,duc/dt=0的解方程,式(1.2)解电路参数不同有以下三种情况:
(1)时,属于阻尼较小的情况,即在“欠阻尼”情况下,方程的解为:
(1.3)
其中时间常数τ=2L/R,衰减振动的角频率,衰减振动的周期为T=2π/ω。
(2)时,属于“临界阻尼”情况,方程的解为:
(1.4)
临界阻尼状态是从阻尼振动到过阻尼状态的分界,即uc刚好不振动的情况。
(3)时,属于“过阻尼”情况,方程的解为:
(1.5)
其中时间常数τ=2L/R,衰减振动的角频率,式(1.5)表示,uc以是以缓慢的方式逐渐达到E值。可以证明,若L和C固定,随电阻R的增加,uc增大到E值的过程更加缓慢。
当上述过程达到稳定后,将开关迅速从“1”转换至“2”电容就在RLC电路放电,uc的解为:
2 用MATLAB模拟RLC电路的充放电过程
由于方程(1.2)为二阶微分方程,可以先将该方程降阶成为一阶微分方程,再用MATLAB进行数值求解。令
于是方程(1.2)可转化成下面两个一阶微分方程组:
放电过程:
充电过程:
取R=500,L=0.4,C=4e-7,此时帮R2<4L/C,电路处于欠阻尼振荡状态。对上述方程组可编写MATLAB程序:
function dy = RLC(t, y)
%设置参数
R=500;%欠阻尼
% R=2000;%临界阻尼
% R=5000;%过阻尼
L=0.4;
C=4e-7;
E=0.5
dy = zeros(2,1); % 初始化导数向量
dy(1) = y(2); % 电容电压对时间的一阶导数
% dy(2) = -(R/L)*y(2)-y(1)/(L*C); % 电容电压对时间的二阶导数 放电
dy(2) =E/(L*C) -(R/L)*y(2)-y(1)/(L*C); % 电容电压对时间的二阶导数 充电
end
当t=0时,由于已经充电完毕,电容两端的电压等于电源的电压,即uc(0)=E=0.5。由于电路中有电感线圈L,此时电路中的电流也不能发生突变,由i(0)=0,uc(0)=0通过以上分析,得出了RLC串联电路的两个初始条件:uc(0)=0和u’c(0)=0。
取R分别为2 000、5 000,C的值不变,此时分别满足R2=4L/C、R2>4L/C电路分别处于临界阻尼状态和过阻尼状态。
在MATLAB命令窗口输入:
[t y]=ode45('RLC',[0,0.05],[0.5;0]);%放电
%[t y]=ode45('RLC',[0,0.05],[0;0]);%充电
plot(t, y(:,1));
因为充放电下有三种情况,所用每次出图都需要注释一些代码。
模拟结果分别如图所示。
参考文献:
[1]丁益民, and 陈倩. "基于MATLAB的RLC电路暂态过程的模拟." 大学物理实验 24.2(2011):3.
[2]段晓丽. "基于MATLAB的RLC电路暂态过程仿真." 山西大同大学学报:自然科学版 (2014).