Pagina 1 di 4

Capacità variabile

Inviato: 2 ago 2018, 11:42
da Ianero
Ho implementato in un semplice circuito questa capacità variabile, con il seguente codice Modelica:

Codice: Seleziona tutto

model Cvar
    extends Maplesoft.Icons.CustomComponent;

    Modelica.Electrical.Analog.Interfaces.PositivePin pin_p annotation (Placement(transformation(
        extent = {
            {-10, 90},
            {10, 110}},
        rotation = 0)));
    Modelica.Electrical.Analog.Interfaces.NegativePin pin_n annotation (Placement(transformation(
        extent = {
            {-10, -110},
            {10, -90}},
        rotation = 0)));
    Modelica.Blocks.Interfaces.RealInput real_i annotation (Placement(transformation(
        extent = {
            {-110, -10},
            {-90, 10}},
        rotation = 0)));
    parameter Modelica.SIunits.Capacitance C__0 = 1e-11 "C__0";
    parameter Modelica.SIunits.Capacitance C__inf = 1e-12 "C__inf";
    parameter Modelica.SIunits.Current I__s = 1e-4 "I__s";
    Modelica.SIunits.Current i "i";
protected
    Modelica.SIunits.Voltage vn "vn";
    Modelica.SIunits.Voltage vp "vp";
public
    Modelica.SIunits.Capacitance C "C";
    Modelica.SIunits.Current I__fb "I__fb";
equation
    C = (C__0 - C__inf) / (1 + I__fb ^ 2 / I__s ^ 2) + C__inf;
    i = C * (der(vp) - der(vn));
    real_i = I__fb;
    pin_n.i = -i;
    pin_n.v = vn;
    pin_p.i = i;
    pin_p.v = vp;

    annotation (Icon(coordinateSystem(
        preserveAspectRatio = true,
        extent = {
            {-100, -100},
            {100, 100}})));
end Cvar;


In sostanza è una capacità che varia così:

C(I)=\frac{C_0-C_\infty}{1+\left(\frac{I}{I_s}\right)^2}+C_\infty

utilizzata in questo circuito RC con C_0=10\text{pF}, C_\infty=1\text{pF} e I_s=100\mu\text{A}:

Schermata 2018-08-02 alle 11.32.11.png
Schermata 2018-08-02 alle 11.32.11.png (20.52 KiB) Visto 5290 volte


Il generatore di corrente è a step, che si attiva dopo 1\text{ps}.
Poiché nell'equazione costitutiva non ho inserito la differenziazione anche per la C variabile, mi aspetto ancora un tempo di salita dato da \tau (I)=RC(I), ma con R=1\Omega e una I=I_s tale che C(I)=5.5\text{pF} ottengo un tempo di salita di circa il triplo: 14:15 \text{ps}.

Senza titolo.png


Mi succede anche con altri simulatori, mi sto perdendo qualcosa?

Grazie.

Re: Capacità variabile

Inviato: 2 ago 2018, 12:12
da Gidl
Non so se ho capito bene, ma la I che compare nell'espressione delle capacità è quella che attraversa la capacità stessa?

Nel tuo circuito tu imponi la I nel cappio RC, mentre quella in C è variabile.

Re: Capacità variabile

Inviato: 2 ago 2018, 12:13
da Gidl
Non so se ho capito bene, ma la I che compare nell'espressione delle capacità è quella che attraversa la capacità stessa?

Nel tuo circuito tu imponi la I nel cappio RC, mentre quella in C è variabile.

Re: Capacità variabile

Inviato: 2 ago 2018, 12:17
da Ianero
No, voglio che la C dipenda dalla I imposta al parallelo RC, che dopo aver attivato lo step è costante.

Re: Capacità variabile

Inviato: 2 ago 2018, 12:18
da Gidl
Forse c'è qualche problema nell'implementazione allora.
Prova a iniettare la corrente solo in C e leggi la tensione ai suoi capi, così funziona?

Re: Capacità variabile

Inviato: 2 ago 2018, 14:25
da Ianero
Si, funziona.


Schermata 2018-08-02 alle 14.20.07.png
Schermata 2018-08-02 alle 14.20.07.png (19.06 KiB) Visto 5235 volte


Con uno step di corrente che parte dopo 1\text{ps} ad un valore di 100\mu\text{A}, mi aspetterei, dopo 10\text{ps} di simulazione, di vedere una tensione di:

V=\frac{100\mu\text{A}}{5.5\text{pF}}\cdot 9\text{ps}\approx 163\mu\text{V}

e infatti:

Schermata 2018-08-02 alle 14.20.12.png


Il problema direi dunque che non è nel modello.

Re: Capacità variabile

Inviato: 2 ago 2018, 14:31
da Ianero
Cosa ancora più strana, se alzo il tempo di simulazione del circuito in [1] a 100\text{ps}, compaiono delle oscillazioni:

Schermata 2018-08-02 alle 14.50.48.png


:shock:

Re: Capacità variabile

Inviato: 2 ago 2018, 15:47
da MarcoD
Non sapevo esistessero delle capacità variabili con la corrente che le attraversa, ma solo capacità funzione della tensione ai capi. Si impara sempre qualcosa di nuovo.
Che applicazioni hanno ?. In quali componenti si presenta il fenomeno ?O_/

Re: Capacità variabile

Inviato: 2 ago 2018, 16:30
da Ianero
Probabilmente infatti non esistono. Mi serviva questo modello per schematizzare un fenomeno fisico (un ritardo di risposta sempre minore all'aumentare dell'ampiezza del segnale). Poi mi metto a pensare a un circuito che possa far vedere una capacità variabile in questo modo.

Re: Capacità variabile

Inviato: 3 ago 2018, 10:03
da Ianero
Ad ogni modo mi sono rifatto un calcolo che non facevo da anni, ottenendo:

I_{\text{out}}(t)=100\mu\text{A}\left(1-e^{-\frac{t}{5.5\text{ps}}}\right)

che è perfettamente in accordo con la curva simulata.
Ero io che attribuivo erroneamente un diverso significato a \tau=RC; tempo fa in qualche lezione (non mi ricordo più quale) ci dissero che potevamo considerare \tau come il tempo di salita del circuito, ovvero il tempo che ci vuole per andare dal 10% al 90% del valore a regime.
Ci avevo creduto senza andare a scavare troppo, e invece...

PS: la storia delle oscillazioni però resta un vero mistero.