Forum: Mikrocontroller und Digitale Elektronik SPICE - Impuls/Taktgeber/Dirac-Impuls/Flankenerkennung


von Mike (Gast)


Lesenswert?

Hallo,

Ich simuliere gerade an einer Schaltung in LTSpice bei der ich LTSpice 
selber festlegen lassen wie groß der Zeitabstand zwischen den einzelnen 
Berechnungsschritten (Timestep) ist.

Jetzt hätte ich gerne ein regelmäßiges Signal das nur für einen einzelen 
Berechnungsschritt high ist.

Eine Spannungsquelle das mir ein Rechtecksignal mit gewünschter Frequenz 
erstellt habe ich schon. Gibt es jetzt einen Befehl um die Flanke zu 
erkennen so das ich wirklich nur in einem Zeitschritt ein high signal 
habe?

von Achim M. (minifloat)


Lesenswert?

Wozu brauchst du das ganze?

Willst du auf ein Filternetzwerk einen Dirac geben, um nachher über die 
Impulsantwort eine FFT laufen zu lassen, um die Übertragungsfunktion zu 
bestimmen? Dazu nimmt man besser die AC-Analyse.
Zu Beginn der AC-Analyse wird übrigens immer erst eine 
DC-Operating-Point-Analyse durchgeführt, dann linearisiert und damit die 
Übertragungsfunktion bestimmt.

Wenn es wirklich nicht anders geht, dann nimm doch eine Sprungfunktion 
und schau dir die Sprungantwort an. Wenn du die Sprungantwort über die 
Zeit integrierst(kann man in Spice mit einer gesteuerten Stromquelle 
machen, die in einen Kondensator rein speist, Spannung am C ist dann das 
Integral), solltest du wieder die Impulsantwort haben...

Zur Simulation von nichtlinearen Zusammenhängen ist Spice nur bedingt 
geeignet. Was für ein Spice benutzt du? LT-Spice hat z.B. verschiedene 
Solver eingebaut, nicht nur Newton. Oder überleg dir auch, das mal mit 
Matlab/Simulink zu probieren, dort kann man a)Zeitdiskrete Systeme 
besser modellieren und b) unter mehr Solvern wählen, als dir lieb ist.

mfg mf

von Mike (Gast)


Lesenswert?

Ich will einen Flusswandler simulieren der über einen uC gesteuert wird 
und die Ansteuerlogik arbeitet Zeitdiskret. D.h. z.B. alle 10us werden 
Ströme/Spannungen ausgewertet und entschieden ob der MOSFET an/aus gehen 
soll.

Mit der IF-THEN-ELSE Funktion von LTSpice und den üblich 
Grundrechenfunktionen dürfte sich das ganz gut machen lassen, allerdings 
will ich eben nicht kontinuierlich Rechnen sondern Zeitdiskret.

von Achim M. (minifloat)


Lesenswert?

Mike schrieb:
> sondern Zeitdiskret

Es gibt auch ein Sample-and-Hold-Glied in LT-Spice. Es heißt "sample".
Guckst du hier: 
http://ltwiki.org/?title=Undocumented_LTspice#SampleHold_.28aka_Sample.29
mfg mf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.