Capacità variabile

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[1] Capacità variabile

Messaggioda Foto UtenteIanero » 2 ago 2018, 11:42

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 5279 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.
:shock:

Gidl
327 2 4 5
---
0
voti

[2] Re: Capacità variabile

Messaggioda Gidl » 2 ago 2018, 12:12

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.

Gidl
327 2 4 5
---
0
voti

[3] Re: Capacità variabile

Messaggioda Gidl » 2 ago 2018, 12:13

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.

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[4] Re: Capacità variabile

Messaggioda Foto UtenteIanero » 2 ago 2018, 12:17

No, voglio che la C dipenda dalla I imposta al parallelo RC, che dopo aver attivato lo step è costante.
:shock:

Gidl
327 2 4 5
---
0
voti

[5] Re: Capacità variabile

Messaggioda Gidl » 2 ago 2018, 12:18

Forse c'è qualche problema nell'implementazione allora.
Prova a iniettare la corrente solo in C e leggi la tensione ai suoi capi, così funziona?

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[6] Re: Capacità variabile

Messaggioda Foto UtenteIanero » 2 ago 2018, 14:25

Si, funziona.


Schermata 2018-08-02 alle 14.20.07.png
Schermata 2018-08-02 alle 14.20.07.png (19.06 KiB) Visto 5224 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.
:shock:

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[7] Re: Capacità variabile

Messaggioda Foto UtenteIanero » 2 ago 2018, 14:31

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:
:shock:

Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino
0
voti

[8] Re: Capacità variabile

Messaggioda Foto UtenteMarcoD » 2 ago 2018, 15:47

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_/

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[9] Re: Capacità variabile

Messaggioda Foto UtenteIanero » 2 ago 2018, 16:30

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.
:shock:

Avatar utente
Foto UtenteIanero
8.069 5 8 11
Master EY
Master EY
Messaggi: 4320
Iscritto il: 21 mar 2012, 14:47
0
voti

[10] Re: Capacità variabile

Messaggioda Foto UtenteIanero » 3 ago 2018, 10:03

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.
:shock:


Torna a “Programmi applicativi: simulatori, CAD ed altro”