🎯要点
- 分析全电池制造端开路电压曲线,解析电化学指标或特征,了解电池的热力学和动力学特性。
- 测试相同活性材料(正极和石墨负极)的两批电池,列出模型提取的电化学特征并可视化分析结果。
- 使用类似电压拟合方法定量分析,缩小制造工艺差异。
- 性能分析出正极和负极容量、正极和负极锂化学计量以及可循环锂库存的容量。
🍁汽车电池分析
🍪语言内容分比
🍇MATLAB电阻电容电感
基础的无源线性电路元件是电阻器 ®、电容器 © 和电感器 (L) 或线圈。这些电路元件可以以四种不同的方式组合成电路:RC 电路、RL 电路、LC 电路和 RLC 电路,缩写表示使用了哪些元件。RC 和 RL 是电路最基本的例子之一,但它们的内容非常丰富。RC 和 RL 电路之间的主要区别在于 RC 电路以电场的形式存储能量,而 RL 电路以磁场的形式存储能量。RC 和 RL 电路之间的另一个显着区别是 RC 电路最初对流过的电流提供零阻力,当电容器充满电时,它对电流提供无限阻力。而 RL 电路最初阻止流过的电流,但当达到稳定状态时,它对流过线圈的电流提供零阻力。
假设我们想分析电流如何流过电路。RC 电路是一种非常简单的电路,可能包含一个电压源、一个电容器和一个电阻器。电池或发电机是电压源的一个例子。烤面包机或电炉中发光的红色加热元件是在电路中提供电阻的物体的一个例子。电容器存储电荷,可以通过用绝缘材料隔开两个金属板来制成。电容器用于为相机的电子闪光灯供电。电流 I(t) 是电荷流过该电路的速率,以安培或安培 (A) 为单位。我们为电流指定一个方向。流向相反方向的电流将被赋予负值。
% Wires and Window
plot([-3;3],[-1;-1],'black')
hold
plot([1;3],[1;1],'black')
xlim([-5 5])
ylim([-2 2])
set(gca,'xtick',[])
set(gca,'ytick',[])
%Resistor
plot([-3;-0.8],[1;1],'black')
plot([0.8;1],[1;1],'black')
t = -0.8:1/1000:0.8;
r = 0.1*sawtooth(2*pi*3*t,0.5)+0.95;
plot(t,r,'black')
%Capacitor
plot([3;3],[1;0.05],'black')
plot([3;3],[-.05;-1],'black')
plot([2.7;3.3],[.05;.05],'black')
plot([2.7;3.3],[-.05;-.05],'black')
% circle
plot([-3;-3],[1;0.2],'black')
plot([-3;-3],[-0.2;-1],'black')
viscircles([-3 0],0.2,'Color','black')
E
R
E_{ R }
ER,以及电容两端的电压降
E
C
E_{ C }
EC。根据基尔霍夫定律,即
E
C
+
E
R
=
E
E_C+E_R=E
EC+ER=E
电流的电阻
R
R
R 以欧姆 (
Ω
\Omega
Ω ) 为单位。欧姆定律告诉我们,电阻两端的电压降由下式给出
E
R
=
I
R
E_R=I R
ER=IR
最后,电容
C
C
C 以法拉 (F) 为单位。库仑定律告诉我们电流如何流过电容器,
C
d
E
C
d
t
=
I
.
C \frac{d E_C}{d t}=I .
CdtdEC=I.
因此,如果我们将上述方程组合起来,我们的方程
E
R
+
E
C
=
E
E_R+E_C=E
ER+EC=E 就变成
R
C
d
E
C
d
t
+
E
C
=
E
(
t
)
R C \frac{d E_C}{d t}+E_C=E(t)
RCdtdEC+EC=E(t)
现在,我们将研究电路在不同电压源下的反应。例如,我们可能有一个零电压源(电容器仍可保持电荷)。我们也可以有一个恒定的非零电压源,例如电池或波动的电压源,例如发电机。我们甚至可能有一系列电压脉冲,其中电流周期性地打开和关闭。我们希望能够理解上述微分方程在不同电压源 E(t) 下的解。如果我们将微分方程视为计算电流流过电容器的速度的表达式,我们就可以从几何的角度分析我们的电路,并且实际上可以在不求解微分方程的情况下对电路进行大量说明。
我们考虑一个最简单的情况,即电路中没有电压源。在这种情况下,方程
R
C
d
E
C
d
t
+
E
C
=
0
R C \frac{d E_C}{d t}+E_C=0
RCdtdEC+EC=0
有明确的解
E
C
(
t
)
=
E
C
(
0
)
e
−
t
/
(
R
C
)
E_C(t)=E_C(0) e^{-t /(R C)}
EC(t)=EC(0)e−t/(RC)
如果我们假设我们的电路中有一个非零恒定电压源,
E
(
t
)
=
K
E(t)=K
E(t)=K,例如电池,那么我们得到可分离微分方程
R
C
d
E
C
d
t
+
E
C
=
K
R C \frac{d E_C}{d t}+E_C=K
RCdtdEC+EC=K
明确的解是
E
C
(
t
)
=
K
(
1
−
e
−
t
/
(
R
C
)
)
+
E
C
(
0
)
e
−
t
/
(
R
C
)
E_C(t)=K\left(1-e^{-t /(R C)}\right)+E_C(0) e^{-t /(R C)}
EC(t)=K(1−e−t/(RC))+EC(0)e−t/(RC)
如果我们在时间
t
=
0
t=0
t=0 将电池连接到电路,然后在
t
=
5
t=5
t=5 断开电池,那么我们将获得分段连续电压函数。例如,如果
E
(
t
)
=
{
6
,
if
0
≤
t
≤
5
0
,
for
t
>
5
E(t)= \begin{cases}6, & \text { if } 0 \leq t \leq 5 \\ 0, & \text { for } t>5\end{cases}
E(t)={6,0, if 0≤t≤5 for t>5
然后我们得到初值问题
R
C
d
E
C
d
t
+
E
C
=
E
(
t
)
,
E
C
(
0
)
=
E
0
R C \frac{d E_C}{d t}+E_C=E(t), \quad E_C(0)=E_0
RCdtdEC+EC=E(t),EC(0)=E0
电感器或线圈代表电路的“电惯性”。当电流流入电路时,它会产生磁场,磁场的变化会导致与电路相连的磁场通量发生变化,根据法拉第-诺依曼-楞次定律,这反过来会在电路中产生与产生磁场的电压相反的电压。因此,电路中的电流不会立即跳升至其满值 V
V
−
L
d
I
d
t
=
R
I
(
t
)
V-L \frac{d I}{d t}=R I(t)
V−LdtdI=RI(t)
其中
l
l
l 为电流(单位为安培),
V
V
V 为电源电压(单位为伏特),
L
L
L(单位为亨利)为电感,
R
R
R 为电阻(单位为欧姆)。如果
V
V
V 为常数,我们求解上述微分方程可得到
I
(
t
)
=
V
R
(
1
−
e
−
t
/
τ
)
I(t)=\frac{V}{R}\left(1-e^{-t / \tau}\right)
I(t)=RV(1−e−t/τ)
其中时间常数
T
=
L
/
R
T =L / R
T=L/R。
RC电路解:
function RC1()
C=input('Input the capacitance: ');
R=input('Input the resistance: ');
V=input('Input the battery voltage: ');
q0=0;
t0=0;
[time1,Q1]=ode45(@(t,q) diffeq(t,q,C,R,V),[t0 10000],q0,odeset('RelTol',0.00001));
for j=1:length(Q1)-1
dQ1=Q1(j+1)-Q1(j);
if abs(dQ1)<=0.0001
index=j;
break;
end
end
q1=Q1(index);
t1=time1(index);
% battery disconnected
V1=0;
[time2,Q2]=ode45(@(t,q) diffeq(t,q,C,R,V1),[t1 10],q1,odeset('RelTol',0.00001));
for j=1:length(Q2)-1
dQ2=Q2(j+1)-Q2(j);
if abs(dQ2)<=0.0001
plot_end=j;
break;
end
end
figure('Name','HW1 #5','NumberTitle','off');
dirfieldplot(C,R,V,t0,t1,q0,q1,1);
hold on;
dirfieldplot(C,R,V1,t1,time2(plot_end),q1,Q2(plot_end),0);
hold on;
plot(time1(1:index),Q1(1:index),'-',time2(1:plot_end),Q2(1:plot_end),'--');
title('Capacitor Charge vs. Time');
xlabel('t (s)');
ylabel('Q (C)');
grid on;
hold on;
end
function dQdt=diffeq(~,q,C,R,V)
dQdt=(C*V-q)/(R*C);
end
function dirfieldplot(C,R,V,t1,t2,q1,q2,c)
[T q]=meshgrid(t1:(t2-t1)/20:t2,q1:(q2-q1)/20:q2);
dq=(C*V-q)/(R*C);
dT=ones(size(dq));
scale=sqrt(1+dq.^2);
quiver(T, q, dT./scale, dq./scale,.5,'Color',[0 1 c]); % plots vectors at each point w direction
end