Skip to content

Giux-CalcLab / SPICE Simulator

NE555 discreto · Demo 02B · Verificata 11 settembre 2026

Monostabile transistor-level con trigger PWL

Una sequenza di tre impulsi attivi bassi avvia il timer discreto. La demo mostra la relazione fra trigger, latch, carica del condensatore e durata dell’uscita, usando la netlist PWL originale senza convertirla in PULSE.

Simulazione browser e server completata12/13 misure validePWL v1 originale

Circuito e obiettivo

  • Core a transistor: comparatori, latch, transistor di scarica e stadio d’uscita; modelli BJT e diodo volutamente semplificati.
  • Alimentazione da 0 a 12 V con power-up a 1 ms; reset mantenuto alto.
  • RMONO = 100 kΩ, CMONO = 1 µF; threshold e discharge collegati al condensatore.
  • Carico d’uscita 10 kΩ / 100 pF; bypass control 10 nF.
  • 53 elementi, 34 nodi, 13 direttive di misura; 99002 punti stimati dal validatore Registered.

Stimolo e analisi

.tran 20u 2.000 20m 100u uic

La simulazione parte da zero con UIC, conserva i dati dopo 20 ms e termina a 2 s. Il passo massimo interno è 100 µs: i campioni effettivi sono adattivi, non una griglia uniforme da 20 µs.

Il trigger sale da 0 a 10 V nei primi 2 ms, poi scende da 10 a 0 V in 100 µs prima di 0,500 s, 1,000 s e 1,500 s. Rimane a zero per 5 ms e risale in 100 µs.

Come funziona

Il trigger basso commuta il latch, alza l’uscita e disabilita la scarica. Il condensatore si carica attraverso RMONO; raggiunta la soglia del comparatore, l’uscita torna bassa e il condensatore viene scaricato. Ogni trigger intenzionale genera un impulso più lungo dello stimolo di ingresso.

La stima ideale è T ≈ RC ln(3) ≈ 109,86 ms, spesso arrotondata a 1,1 RC ≈ 110 ms. Il modello discreto produce circa 109,5 ms. Le soglie effettive dipendono dai transistor: non sono esattamente 4 V e 8 V.

Misure verificate

Riferimento principale: pipeline server Registered, ngspice 44.2, 20055 campioni e 48 variabili RAW. La prova browser WebAssembly produce 20022 campioni e 35 quantità circuitali disponibili nel viewer. Le variabili RAW del server comprendono anche scalari di misura: i conteggi non indicano nodi mancanti nel browser.

MisuraServer 44.2Browser locale
OUT_MAX10,52289 V10,5106 V
OUT_MIN0,02374605 V−0,167649 V
OUT_PP10,49915 V10,6782 V
TIMING_MAX7,992825 V7,99284 V
TIMING_MIN_SS−0,4129529 V−1,26448 V
CONTROL_AVG8,002285 V8,00228 V
REF_1_3_AVG4,004773 V4,00477 V
TRIGGER_LOW_MIN0 V0 V
TRIGGER_HIGH_MAX10 V10 V
TRIG_TO_OUT3,299104 µs−0,114969 µs
MONO_WIDTH109,5238 ms109,505 ms
CAP_4_TO_8Non disponibile: il condensatore non raggiunge 8 V.
ICC_AVG−33,00331 mA−33,0046 mA

Un controllo indipendente del RAW 44.2 individua tre impulsi intenzionali: 109,5238 ms, 109,5308 ms e 109,4976 ms. Le misure temporali originali usano TD=400m per escludere l’avvio.

Limiti della demo, non bug CalcLab

Il target di CAP_4_TO_8 è irraggiungibile. Il massimo di timing è circa 7,993 V: manca l’attraversamento a 8 V richiesto dalla netlist. ngspice riporta trig(TARG): out of interval nel log; la misura non viene inventata né sostituita con zero. La simulazione e le altre 12 misure restano valide.
  • TRIG_TO_OUT confronta due soglie scelte (trigger a 4 V, uscita a 6 V), non misura un ritardo fisico garantito positivo. Valori molto piccoli e anche negativi non dimostrano una violazione causale: soglie reali e interpolazione contano.
  • I picchi negativi di commutazione sono sensibili al modello semplificato e al motore. La prova locale dichiara modalità di compatibilità ps lt a, mentre il server non ne seleziona alcuna. Non presentiamo i due risultati come numericamente identici, né come caratterizzazione di un componente reale.
  • La corrente della sorgente VCC è negativa quando questa eroga energia; il consumo medio corrisponde a circa 33 mA.
  • I commenti storici sui workaround precedenti restano nel file originale per integrità: non sono una descrizione aggiornata delle capacità del framework.

Tracce consigliate

NE555_TRIGGER NE555_OUT

Confrontare il trigger basso da 5 ms con l’uscita alta da circa 109,5 ms. Uno zoom X da 490 ms a 620 ms rende leggibile il primo evento.

NE555_TIMING NE555_CONTROL NE555_REF_1_3

Osservare carica, soglia effettiva e scarica. Per approfondire aggiungere latch A/B e discharge.

Riprodurre la prova

  1. Scaricare la netlist originale dal link qui sotto e aprire SPICE Simulator.
  2. Aprire Netlist → Choose netlist, selezionare il file e premere Use imported netlist. Lo schema grafico non viene ricostruito.
  3. Scegliere Run locally, oppure Run on Giux-CalcLab server con un account Registered/Trusted verificato. Le quote di ciascun profilo restano applicate.
  4. Avviare la simulazione, consultare Measurements (12) e SPICE Log, poi aggiungere manualmente le tracce nel Waveform Viewer.

Compatibilità e sicurezza verificate

  • MISS-005 risolto per sorgenti V/I PWL(t v …) numeriche inline: coppie complete, valori finiti, tempi non negativi e strettamente crescenti; separatori spazio/virgola e suffissi SPICE.
  • Punti PWL mantenuti nello stesso ordine e con gli stessi valori. Nessuna eccezione basata su nomi della demo o dei nodi.
  • Le analisi top-level vengono ora avviate esplicitamente nel worker locale; i blocchi control già eseguiti al caricamento non vengono eseguiti una seconda volta.
  • Quick Results non attribuisce più un falso istante zero alle misure prive di at.
  • Il server resta autoritativo; limiti dei profili, sandbox, seccomp e NoNewPrivileges restano applicati. File PWL esterni, espressioni, opzioni di ripetizione/ritardo, include/lib, percorsi e comandi arbitrari non vengono abilitati.
  • CALCLAB_*, GIUXCALC_* e __calclab_* importati restano commenti inerti. Non vengono creati preset trusted; il Waveform Viewer non è stato modificato.

Il sottoinsieme accettato è intenzionalmente più ristretto della sintassi PWL completa di ngspice. Fra le coppie temporali il segnale è interpolato linearmente.

Netlist originale verificata

Scarica demo_02b_ne555_discrete_monostable_pwl_v1.cir

Integrità del file

File originale conservato byte-per-byte, inclusa la misura CAP_4_TO_8 documentata sopra.

SHA-256:
100918e5884caf798aa5bd62dfe55ecb737cfd0f03288b68dce4fc72b6e61303