Circuito RCL
G.D'Agostini

Studio dei transienti (mediante equazioni differenziali)

<< Graphics`Legend`

Circuito

Valori dei componenti

r0 = 50. ;    
rl = 100. ;    
r = 10. ;    (* 
      resistenza del resistore *) 
rt = r0+rl+r   
c = 4.7*10^(-9);
l =  10.  *10^(-3);

Parametri

ω0 = 1/Sqrt[l c]
ν0 = ω0/(2 Pi)
T0 = 1/ν0
γ = rt/l
Δν = γ/(2 Pi)
τ = 2/γ
ω1 = 
      Sqrt[ω0^2 - (γ/2)^2]
T1 = 2 Pi/ω1
Q = ω0/γ

Scarica condensatore

V0 = 1;
vg = 0;
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        DSolve[{eq,  y'[0] == 0,  y[0] == V0 c}, y, 
          t];
q = (y[t] /. sol);
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc,  vr, vl}, {t, 0*T0, 5*T0},  
        PlotRange -> {-1, 1},  
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.5, 0.3}];

enc = c*vc^2/2;
enl = l*(vr/rt)^2/2;
Plot[{enc,  enl,  enc + enl}, {t, 0*T0, 5*T0},  
        PlotLabel -> "Energia del circuito", 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "E (J)"}, 
        PlotLegend -> {"En(C)", "En(L)", "En(C)+En(L)"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.5, 0.3}];

potr = vr^2/rt;
\(\(Plot[{potr}, {t, 0*T0, 5*T0}, 
        PlotLabel -> "Potenza dissipata da R", 
PlotStyle -> {{}, Dashing[{0.015}], 
            Dashing[{0.003, 0.03}], Dashing[{0.030}]}, 
        AxesLabel -> {"t", "P (W)"}, 
        PlotLegend -> {"Pot(R)", "En(L)", "En(C)+En(L)"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.5, 0.3}];\)\)

Carica del condensatore

V0 = 1. ;
vg = V0;
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
      DSolve[{eq, y'[0] == 0,  y[0] == 0}, y, t]
q = (y[t] /. sol);
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T0, 10  T0}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.5, 0.3}];

enc = c*vc^2/2;
enl = l*(vr/rt)^2/2;
Plot[{enc, enl, enc + enl}, {t, 0*T0, 10*T0}, 
        PlotLabel -> "Energia del circuito", 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "E (J)"}, 
        PlotLegend -> {"En(C)", "En(L)", "En(C)+En(L)"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.5, 0.3}];

Regime sinusoidale

Funzione seno, frequenza di risonanza

V0 = 0.01;   
ν = ν0
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        DSolve[{eq, y'[0] == 0, y[0] == 0}, y, 
          t];
q = (y[t] /. sol)/
          V0;      
vg = 
      vg/V0;                            
vc = 
      q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T0, 15  T0}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {-0.85, 0.35}];

Plot[{vr, (1 - E^(-t/(2 l/rt)))}, {t, 0  T0, 
          10  T0}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vr", "1-E^(-t/(2 l/rt))"}, 
        LegendSize -> {0.5, 0.2}, 
        LegendPosition -> {-0.85, 0.4}, 
        LegendShadow -> None];

enc = c*vc^2/2;
enl = l*(vr/rt)^2/2;
Plot[{enc, enl, enc + enl}, {t, 0*T0, 10*T0}, 
        PlotLabel -> "Energia del circuito", 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "E (J)"}, 
        PlotLegend -> {"En(C)", "En(L)", "En(C)+En(L)"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {-0.40, 0.25}];

potg = vg*(vr/rt);
potr = vr^2/rt;
Plot[{potg, potr}, {t, 0*T0, 10*T0}, 
        PlotLabel -> "Bilancio delle potenze", 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "P (W)"}, 
        PlotLegend -> {"Pot(Gen)", "En(R)"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {-0.6, 0.3}];

Funzione seno, ν=ν0/2

V0 = 0.01;    
ν = ν0/2
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        DSolve[{eq, y'[0] == 0, y[0] == 0}, y, 
          t];
q = (y[t] /. sol)/
          V0;  
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T0, 5  T}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Plot[{vr}, {t, 0  T0, 5  T}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, 
        AxesLabel -> {"t", "V"}];

Funzione coseno, ν=ν0/5

V0 = 0.01;    
ν = ν0/5
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        DSolve[{eq, y'[0] == 0, y[0] == 0}, y, 
          t];
q = (y[t] /. sol)/
          V0;  
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T, 5  T}, 
        PlotRange -> {-1.1, 1.1}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Plot[{vr, vl}, {t, 0  T, 4  T}, PlotRange -> {-0.2, 0.2}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLegend -> {"Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Funzione coseno, ν=2 ν0

V0 = 0.01;    
ν = 2 ν0
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        DSolve[{eq, y'[0] == 0, y[0] == 0}, y, 
          t];
q = (y[t] /. sol)/
          V0;    
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T, 5  T}, PlotRange -> {-2, 2}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "0<t<5T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Plot[{vc, vr, vl}, {t, 5  T, 15  T}, 
        PlotRange -> {-1.5, 1.5}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "5<t<15T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Plot[{vc, vr, vl}, {t, 15  T, 30  T}, 
        PlotRange -> {-1.5, 1.5}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "15<t<30T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Funzione coseno, ν=10 ν0   -> Soluzione Numerica (NDSolve)

soluzione fino a 5 T

V0 = 0.01;    
ν = 5 ν0
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        NDSolve[{eq, y'[0] == 0, y[0] == 0}, 
          y, {t, 0, 5 T}];
q = (y[t] /. sol)/
          V0;
   
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc, vr, vl}, {t, 0  T, 5  T}, PlotRange -> {-1, 1}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "0<t<5T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

Plot[{vc, vr}, {t, 0  T, 5  T}, 
        PlotRange -> {{0  T, 5  T}, {-0.3, 0.3}}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "0<t<5T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];

soluzione fino a 20 T

V0 = 0.01;    
ν = 5 ν0
T = 1/ν;
ω = 2 Pi ν;
vg = V0 Sin[ω t];
eq = y''[t] + γ y'[t] + ω0^2 y[t] == 
          vg/l;
sol = 
        NDSolve[{eq, y'[0] == 0, y[0] == 0}, 
          y, {t, 0, 100 T}];
q = (y[t] /. sol)/
          V0;
   
vc = q/c;
vr = rt D[q, t];
vl = l D[q, {t, 2}];

Plot[{vc}, {t, 90  T, 100  T}, 
        PlotRange -> {{90  T, 100  T}, {-0.3, 0.3}}, 
        PlotStyle -> {{}, Dashing[{0.015}], Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}, AxesLabel -> {"t", "V"}, 
        PlotLabel -> "0<t<5T", 
        PlotLegend -> {"Vc", "Vr", "Vl"}, 
        LegendSize -> {0.3, 0.2}, 
        LegendPosition -> {0.7, -0.4}];