PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sehr kann man LTSpice vertrauen?



Ceos
21.04.2016, 12:04
ich hab hier einen Raspi und ein paar WS2812b und habe mir da eine NE555 Schaltung mit LTSpice entworfen.

leider ist Löten bei mir so ne Olympische Sache, einmal alle 4 jahre mit Qualifizierung und dabei sein ist alles :)

daher will ich es jetzt nicht erst drauf ankommen lassen mir was zusammenzubauen und dann festzustellen dass ich was verhunzt habe.

Daher die Frage wie sehr kann ich der Simulation da jetzt vertrauen?

Schaltung siehe Anhang GRaphen von oben nach unten SPI_CLK, SPI_MOSI, OUT

ranke
21.04.2016, 18:57
Der Output des Simulationsprogramms kann nicht besser sein als das erstellte Modell. Wenn ich hier Koppelkondensatoren im Bereich von 10 und 12pF sehe, dann liegt das durchaus in der Größenordnung von Leiterbahnkapazitäten die bei der Modellbildung hier nicht berücksichtigt wurden. Das spricht eher nicht für ein robustes Modell, Abweichungen in der Praxis sind also zu befürchten.
Ich bin auch nicht ganz sicher - der NE555 ist eigentlich ein bipolarer Typ, es gibt aber auch eine Variante in CMOS-Technik mit deutlichen Unterschieden in den elektrischen Eigenschaften. Welche Variante hier modelliert wurde, weiß ich nicht. Man sollte sich evt. die Datenblätter nach Unterschieden ansehen und mal im spice messen.

White_Fox
21.04.2016, 20:59
Meiner Meinung nach ist Simulation an sich keine schlechte Sache, aber die modelle sind oft grottenschlecht.

Klar, wenn ich in Multisim eine Sinusspannung an einen Trafo lege, dann erwarte ich an der anderen Seite auch eine Sinusspannung. Interessanterweise spuckt mir der Trafo auch ein Rechtecksignal 1:1 als Rechteck wieder aus, was mich dann doch etwas verwirrt wie das sein kann. Und niedrige Frequenzen (<1Hz) sind auch voll ok.
Neulich ein schönes Erlebnis mit einer OPV-Schaltung. Der OPV gibt mir doch tatsächlich -0,07µV aus-obwohl ich eine einfache 5V-Quelle ohne negative Hilfsspannung für die gesamte Schaltung modelliert habe. Die gleiche Schaltung mit der 5V-Quelle hatte mir auch schon 7V ausgegeben...

Ehrlich, ich traue keiner Simulation richtig über den Weg. Ich benutze Multisim zwar schon ab und an mal. Wenn ich aber meine eigenen Kenntnisse/Gedankengänge überprüfen will und so ein Mist wie da oben kommt dabei raus, dann wars verschwendete Zeit. Letztendlich habe ich doch mit ein paar richtigen OPVs und einem Steckbrett das notwendige Selbstbewustsein mit Analogtechnik verschafft. Es ist ein Scheißgefühl eine Platine routen zu wollen und mit den vorgesehenen Bauteilen praktisch null Erfahrung zu haben.

Ceos
22.04.2016, 07:22
gnaahh .. ich habs fast schon geahnt .. grummel

bleibt mir wohl nichts anderes als aufzubauen, trimmer zu benutzen und zu justieren ...

wenn ich die Cs größer mache und die Rs kleiner wirds haarig mit den umladeströmen 800kHz iss halt schon ne Hausnummer

ich such halt immernoch ne Lösung bei der ich nicht den RAM mit bytes für bits fluten muss oder einen DMA und einen PWM in dauerschleife belasten muss ... ne direkte SPI zu PWM Umwandlung erschien mir da die praktikabelste Lösung und mit meinem eingeschränken Elektronikwissen fiel mir das Design mit einem 555 am einfachsten :D

White_Fox
22.04.2016, 17:43
Beschreib doch mal was du da genau vorhast...gelöst kriegt man fast alles irgendwie.

Ceos
23.04.2016, 14:06
Naja wie eingangs schon erwähnt, ein RPI macht ein 800kHz CLK SPI und das SPI Signal wollte ich Bit für Bit in die PWM für die WS2812B umwandeln 0.35uS High + 0.9uS Low für 0 0.9uS High + 0.35uS Low für 1 @800kHz Baudrate/Frequenz Mit reinem SPI kann ich 4 Bit pro Byte codieren wenn ich nur die Data Leitung benutze, dafür muss ich aber eben den RAM aufblasenund mindestens einen DMA aufbringen oder extrem kurze ISRs (geplant war eine Lösung auf Basis eines Tiny) PWM mit DMA iss auch keine wirkliche Option

Peter(TOO)
23.04.2016, 14:23
Hallo,

wenn ich die Cs größer mache und die Rs kleiner wirds haarig mit den umladeströmen 800kHz iss halt schon ne Hausnummer

Es geht nicht wirklich darum, scheinbar verstehst du nicht wirklich was du machst!
Das eine Problem mit den 12pF ist, dass sie direkt von der Flankensteilheit des Signals abhängen. Da fehlen aber die Informationen was da so vor dem Transistor ist.
Und das andere sind die Kapazitäten der Leiterbahnen, des IC-Gehäuses und des, falls vorhanden, IC-Sockels. Die liegen alle eben auch im pF-Bereich. Bei den Leiterbahnen kommt es dann noch aufs Layout an.


ich such halt immernoch ne Lösung bei der ich nicht den RAM mit bytes für bits fluten muss oder einen DMA und einen PWM in dauerschleife belasten muss ... ne direkte SPI zu PWM Umwandlung erschien mir da die praktikabelste Lösung und mit meinem eingeschränken Elektronikwissen fiel mir das Design mit einem 555 am einfachsten :D
Es gibt auch noch andere Timer-ICs als den 555, manche haben eben einen flankengetriggerten Eingang, dann entfällt das ganze Gedöns rund um die 12pF.

Ich bin jetzt zu faul die Daten aus deiner Schaltung rauszurechnen:
Du hast also 800kHz PWM-Frequenz.
Und dann schaltest du zwischen xx% und YY% um, je nachdem ob es eine Null oder Eins ist?

MfG Peter(TOO)

Ceos
25.04.2016, 06:48
Du hast also 800kHz PWM-Frequenz.
Und dann schaltest du zwischen xx% und YY% um, je nachdem ob es eine Null oder Eins ist?

Korrekt, der Einfachheit halber sagen wir mal 1/3 und 2/3 Duty, das kommt gut hin :)

Und vor dem Transistor hängt erst mal nen µC oder im worst case ein freiverdrahteter Raspi

Peter(TOO)
25.04.2016, 10:35
Hallo,

Wie wäre es mit dem 74xx123?
http://www.nxp.com/documents/data_sheet/74HC_HCT123_Q100.pdf


Auf die beiden /A legst du den Clock.
1B = '1'
2B = Data
Die beiden /Rd = '1'
Die beiden Q-Ausgänge verknüpfst du mit einem OR.

1REXT/CEXT = 1/3 Duty
2REXT/CEXT = 2/3 Duty

Wenn Data = '0' wird nur die Stufe 1 getriggert.
Wenn Data = '1' ist werden beider Stufen gestartet, durch die OR-Verknüpfung "gewinnt" aber die längere Zeit.

Der 74xx123 hat zwar 16 Pins, aber das Gemüse deiner Schaltung braucht auch Platz.
Und mit 0.50€ ist der 74HC123 auch nicht wirklich teuer.

MfG Peter(TOO)

Ceos
28.04.2016, 09:08
okay, war ein Rohrkrepierer :( der 555 ist zwar schon sehr sehr schnell den ich ausgewählt habe, aber die Propagation Delays summieren sich auf und bringen kein anständiges Signal zustande...

allein zwischen erreichen der Treshold Spannung und dem Discharge liegen über 100nS, die Delay zum Output vernichtet mit knapp 90nS die Reserve für eine Ladekurve

Das betrifft dann auch den von dir gewählten Chip ...

Das ist echt deprimierend, wie zum Geier könnte man das sonst noch bewerktstelligen?

Peter(TOO)
28.04.2016, 10:25
Hallo,

Das ist echt deprimierend, wie zum Geier könnte man das sonst noch bewerktstelligen?

Also, wir haben:
1.25µs Priodendauer
0.35µs für 1
0.90µs für 0

GGT wäre dann 0.05µs, also das sind dann 20MHz
Dann wäre ein Zähler angesagt, welcher einmal bis 7 und einmal bis 18 zählt, das wären 6 Bit für den Zähler.

Wie viele solcher Stufen brauchst du eigentlich?
Eine Möglichkeit wäre das Ganze in ein kleines FPGA zu packen.

MfG Peter(TOO)

Ceos
29.04.2016, 07:21
nur eine einzige Stufe für beliebig viele LEDs, das ist da der Witz an den WS2812B

aber einen FPGA zu nehmen kommt ungefähr gleich einen kleinen XMega zu nehmen der deinen RAM über SPI1 mit Bytes zupflastert
und die Bitsequenzen als Übertaktetes SPI2 auf dem Datenkanal zu emulieren ...
alternativ natürlich der DMA Ansatz mit nem Timer für PWM

ich woltle halt mal einen "elektronischen" Ansatz probieren und nicht gleich auf die Controllerschiene gehen, meinen Horizont halt mal erweitern :D

By the way, bis auf einen winzigen Umbau an der Triggerseite (C vor Basis NPN statt Collector) funktioniert die SChaltung und auch die Simulation bestens :) nur eben die Verzögerung der Transistoren(Turn Off Dleay durch Raumzonenentladung) und die propagation delay sind halt ein Killer für diese Applikation ... Astabil würde der 555er 10MHz schaffen, aber da ist die propagation delay auch irrelevant