Circuito RCL
G.D'Agostini

Studio del circuito e forme d'onda in condizione di risonanza

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)
γ = rt/l
Δν = γ/(2 Pi)
τ = 2/γ
ω1 = 
      Sqrt[ω0^2 - (γ/2)^2]
If[Im[ω1] ≠ 0  ||  ω1 == 
          0, 
Print["Attenzione: Soluzione non oscillante \
-> non gestita dal presente notebook"]; 
Print["        \
    --> DA FARE"]
]
T1 = 2 Pi/ω1
Q = ω0/γ

Scarica condensatore

V0 = 1. ;
vcSc = 
        V0 E^(-(γ/
                      2) t) Cos[ω1 t];
Plot[{vcSc, V0 E^(-(γ/2)  t)}, {t, 0,  
          10*T1},  PlotRange -> {-1, 1}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];

Regime sinusoidale. Corrente e tensioni su C, R e L in funzione di ν

Impedenze

Zr = r
Zrt = rt
Zl = I ω l
Zc = 1/(I ω c)
Ztot = Zrt + Zl + Zc

Comportamento in funzione della frequenza per tensione unitaria del generatore

V0 = 1;
i = V0/Ztot
vr0 = r *i
vc0 = Zc*i
vl0 = Zl*i
vgr0 = V0 - r0*i

min = 
      FindMinimum[-(Abs[
                vr0] /. ω -> (2 Pi ν)),  {ν, ν0,  1.1*ν0}]
max = -min[[1]];
νmax = ν /. min[[2]];
minr = 
      FindMinimum[-(Abs[
                vr0/vgr0] /. ω -> (2 Pi ν)), {ν, ν0, 1.1*ν0}]
maxr = -minr[[1]];
νmaxr = ν /. minr[[2]];
\(\(Plot[{Abs[vr0] /. ω -> \((2\ Pi\ ν)\), 
          Abs[vr0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
\ {ν, \ 0, \ 50000}, \ 
        AxesLabel -> {"ν", "Vr"}, 
        PlotStyle -> {{}, 
            Dashing[{0.015}]}];\)\)
\(\(Plot[{Arg[vr0] /. ω -> \((2\ Pi\ ν)\), 
          Arg[vr0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
{ν, 0, 50000}, 
        AxesLabel -> {"ν", "φr"}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];\)\)

Legenda: 
- Le curve continue sono relative a vg
-Le curve tratteggiate sono relative a vgr

FindMinimum[-(Abs[
              vc0] /. ω -> (2 Pi ν)), {ν, ν0, 1.1*ν0}]
FindMinimum[-(Abs[
              vc0/vgr0] /. ω -> (2 Pi ν)), {ν, ν0, 1.1*ν0}]
\(\(Plot[{Abs[vc0] /. ω -> \((2\ Pi\ ν)\), 
          Abs[vc0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
{ν, 0, 50000}, 
        AxesLabel -> {"ν", "Vc"}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];\)\)
\(\(Plot[{Arg[vc0] /. ω -> \((2\ Pi\ ν)\), 
          Arg[vc0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
{ν, 0, 50000}, 
        AxesLabel -> {"ν", "φc"}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];\)\)

FindMinimum[-(Abs[
              vl0] /. ω -> (2 Pi ν)), {ν, ν0, 1.1*ν0}]
FindMinimum[-(Abs[
              vl0/vgr0] /. ω -> (2 Pi ν)), {ν, ν0, 1.1*ν0}]
\(\(Plot[{Abs[vl0] /. ω -> \((2\ Pi\ ν)\), 
          Abs[vl0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
{ν, 0, 50000}, 
        AxesLabel -> {"ν", "Vl"}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];\)\)
\(\(Plot[{Arg[vl0] /. ω -> \((2\ Pi\ ν)\), 
          Arg[vl0/vgr0] /. ω -> \((2\ Pi\ ν)\)}, 
{ν, 0, 50000}, 
        AxesLabel -> {"ν", "φl"}, 
        PlotStyle -> {{}, Dashing[{0.015}]}];\)\)

Forme d'onda per una data frequenza del generatore (sempre con V0 unitaria)

Frequenza di risonanza

ν = ν0
T = 1/ν
ω = 2 Pi ν
\(\(\(vg = V0\ Cos[ω\ t]\)\(
\)\(
\)
    \) (*Ai\ capi\ della\ \(\(resistenza\)\(:\)\)*) \)
Vr0 = Abs[vr0];
φr = Arg[vr0];
\(\(\(vr = 
      Vr0\ Cos[ω\ t + φr]\)\(
\)\(
\)
    \) (*\ \ Ai\ capi\ del\ \(\(condensatore\)\(:\)\)\ \ *) \)
Vc0 = Abs[vc0];
φc = Arg[vc0];
vc = 
      Vc0 Cos[ω t + φc]


     (*Ai capi dell' induttanza: *) 
Vl0 = Abs[vl0];
φl = Arg[vl0];
vl = 
      Vl0 Cos[ω t + φl]


     (* Ai capi del generatore reale  ->  
        effetto di r0 *) 
Vgr0 = Abs[vgr0];
φgr = Arg[vgr0];
vgr = Vgr0 Cos[ω t + φgr]

Legenda del grafico seguente:
- Le curve intere sono vg e vgr (vgr è sempre minore  uguale di vg)
- La curva tratteggiata stretta è vc, quella tratteggiata larga è vl
- La curva puntinata è vr (siccome e' generalmente troppo piccola, viene riportata, amplificata di 10, nel grafico successivo.

Plot[{vg, vc, vr, vl, vgr}, {t, 0, 
          2*T}, 
PlotStyle -> {{}, Dashing[{0.015}], 
            Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}
];

Plot[{vg, vr*10, vgr}, {t, 0, 2*T}, 
        PlotStyle -> {{}, Dashing[{0.003, 0.03}]},  
        PlotLabel -> "Solo vg, vgr e 10*vr"];

Ellissi ideali (rispetto a vg)

ParametricPlot[{vg, vr}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vr"}];

ParametricPlot[{vg, vc},  {t, 0, T},  AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vc"}];

ParametricPlot[{vg, vl}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vl"}];

ParametricPlot[{vg, vr}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vr"}];
ParametricPlot[{vg, vc}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vc"}];
ParametricPlot[{vg, vl}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vl"}];

Ellissi "reali" (rispetto a vgr)

ParametricPlot[{vgr, vr}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vgr", "Vr"}];

ParametricPlot[{vgr, vc}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vgr", "Vc"}];

ParametricPlot[{vgr, vl}, {t, 0, T}, AspectRatio -> 1, 
        AxesLabel -> {"Vgr", "Vl"}];