gelöst Die Simulation will nicht ?!

HyperToni

Aktiver Benutzer
Member
Landesflagge
Hallo alle zusammen !
Ich habe hier ein Problem bei folgender Schaltung:
1734183463768.png
Also ein astabiler Multivibrator, dessen Frequenz durch einen frei schwingenden L-C-Schwingkreis bestimmt wird,
um über die sich einstellende Frequenz, auf die Größe der Induktivität zurück rechnen zu können.
Dazu gibt es auch ein Video auf YT in welchem man sieht, dass das prima funktioniert. Nur simulieren lässt es sich nicht,
weil sich das Logik-Gatter an der Rückkopplung stört ...
Hat da jemand eine Idee, wie man das dennoch hin bekommen könnte ?
Was meint die Community dazu ?

Gruß von HyperToni !
 
Hier mehr zum Thema:

Könntest bitte die asc noch dazu posten?
 
Hallo allerseits !
Ja, hat sich schon erledigt ! Zwar endet die Berechnung nicht dort, wo man angegeben hat, ABER, mit ESC kann
man sie abbrechen und dann hat man sehr wohl den AC-Sweep. Dann braucht sich niemand mehr den Kopf zu zerbrechen.
Möglicherweise geht es auch anders, viele Wege führen zum Ziel ! Auf jeden Fall kann ich das so dann doch simulieren.
C1 ist dabei natürlich nicht von kosmetischer Natur, sondern liegt mit C2 und der Spule in Reihe ! Die 1 MOhm sind nur
eine Schwingkreisbedämpfung, damit der nicht so schmalbandig wird. Kann man sich auch sparen.
Das C1 und C2 in Reihe liegen und mit L den Schwingkreis bilden, ergibt sich auch aus der sich einstellenden Resonanzfrequenz.
Für die gilt dann nämlich C1 in Reihe mit C2 zusammen mit L. Das kann jeder leicht nachprüfen.
Ich wünsche der Community besinnliche Feiertage und einen guten Rutsch ins neue Jahr !
Mit besten Grüßen wie immer
HyperToni
 

Anhänge

  • FrequenzmessungCD4049.asc
    958 Bytes · Aufrufe: 2
Was genau macht diese Erweiterung ?
Hallo HyperToni,

Es ist immer angebracht, beim Nicht-funktionieren-wie-gedacht die Hilfe-Datei zu konsultieren! Wenn Du also eine TRAN-Simulation machst, dann den Abschnitt dazu lesen. Da ich selbst noch LTspiceXVII benutze: LTspiceXVII / LTspice / Dot Commands / .TRAN
Dort findest Du als letzten Satz: "Several modifiers can be placed on the .tran line.", wobei "modifiers" einen direkten Link auf die zugehörige Erklärung darstellt.
Da werden zuerst alle modifier in Kurzfassung erklärt, die ausführliche Erläuterung steht weiter unten! Da findest Du UIC erklärt.
Allerdings muss man schon einigermassen Englisch können, leider.

Ich empfehle Dir, auch den Abschnitt "startup" zu lesen und den darin erwähnten Hinweis auf ".ic". Die Beschreibung von .IC findest du wieder unter den Dot Commands.
Ausserdem musst Du bedenken, dass ein Oszillator eigentlich immer einen "Anstoss" (Ungleichgewicht) braucht: der Ball auf dem Fussballplatz bewegt sich ja auch nicht von selbst, sondern weil der Torwart ihn zu einem Spieler kickt. Beim Oszillator kann das z.B. eine (fast immer vorhandene) geringe Rauschspannung sein.
In Deiner Schaltung befinden sich zwei Kondensatoren. Wir gehen im Normalfall davon aus, dass der Kondensator entladen ist. LTspice macht aber vor jeder Simulation erst eine DC-Analyse, und dadurch sind die beiden Kondensatoren möglicherweise schon auf die gleiche Spannung aufgeladen und befindet sich jetzt in einem nicht gewollten Gleichgewicht. Es ist daher hilfreich, den Anfangszustand eines der beiden Kondensatoren festzulegen.
Das kann man auf zweierlei Weise machen:

1. man benennt das Netz, den Verbindungspunkt (Knoten, engl. node) von C2 mit L1 mit "c2" und definiert die Spannung an diesem Knoten mit dem Dot Command ".IC": .ic v(c2)=0
Diese Spannung bezieht sich auf das ganze Netz "c2", damit liegt auch logischerweise der Eingang von U1-4011 auf Null Volt. Beachte bitte, dass "c2" in "v(c2)" hier für das Netz steht und nicht
etwa für den Kondensator C2. [Um das Bild grösser zu sehen, auf das Bild klicken!]

1736138071503.png

2. Oder man legt diesen Anfangszustand bei der Eingabe des Kondensatorwertes fest. Dafür solltest du den Abschnitt in der Hilfe über Kondensatoren einmal lesen (LTspice / Circuit Elements / Capacitor). In der Syntax zum Kondensator findet sich: "Syntax: Cnnn n1 n2 <capacitance> [ic=<value>]" IC steht - wie Du wahrscheinlich weisst - für "initial condition", eben Anfangszustand.
Das muss nicht immer Null Volt sein, kann auch z.B. 10mV sein:

1736138863692.png
[Bei der direkten Eingabe hinter dem Kapazitätswert keinen Punkt (.) voranstellen!]

Damit gerät der Oszillator - wie von Zauberhand :) - ins Schwingen. . .

1736139620073.png



Viel Erfolg beim Simulieren wünscht

RudiS
 
Zuletzt bearbeitet:
Hallo allerseits, und schönen guten Morgen !

Recht herzlichen Dank für die tiefergehenden Informationen. Und ja, ich bin nicht der LTSpice-Guru, auch deshalb nicht,
weil ich im Rahmen meiner Projekte mit recht vielen Software-Tools umgehen muss, und mich mit jedem dieser Tools auch
nur so weit beschäftigen kann, wie ich an genau der Stelle muss, um weiter zu kommen. Deshalb suche ich mir ja auch
hier meine Unterstützung, und möchte dafür auch hier etwas zurück geben.

Dies wird heute der Fall sein, in Form einer kleinen Präsentation des Projektes, welches sich aus obiger Simulation
in LTSpice ergeben hat !

Der übliche Weg von "etwas ausprobieren" was schön funktioniert, über die daraus resultierende Idee, hin zum Projekt.
In diesem Falle ein Messgerät um die Induktivitätswerte unbekannter Induktivitäten zu messen. Nicht auf die 8. Stelle
hinter dem Komma, jedoch +/- 1µH. Hintergrund sind Folgeprojekte, in welchen ich darauf angewiesen bin, d.h. der
Output dieses Projektes ist nicht das eigentliche Ziel, sondern auch nur Mittel zum Zweck.

Wie ich mit vorgenannter Schaltung feststellen musste, funktioniert diese am besten mit den 2-fach-NORs eines CD4011,
welchen ich von den wenigen digitalen Logik-ICs bei meinen Bauelementen gefunden hatte.
Nachdem dies in der Praxis so schön funktioniert hat, war der Weg zur Idee, dies mit einem Mikrocontroller zu kombinieren,
um ein vollständiges Messerät daraus zu entwickeln, nicht mehr weit.
Es ergab sich folgende Schaltung:
L-Meter.png
Die Herausforderung bestand nun darin, den in der Schaltung ersichtlichen Mikrocontroller (ein Atmel Mega328) mit entsprechend Programm-Code zu versorgen,
damit die sich an der Schwingkreishardware einstellende Resonanzfrequenz in einen entsprechenden Größenwert der angeschlossenen Induktivität umgerechnet
und auf einem Display angezeigt werden kann. In diesem Fall ein 2x 8-Zeichen-LCD (HD44780-kompatibel). Das ist auch schon alles.

Das wird nun hier etwas den Rahmen sprengen, weil nun komplexere Tool-Ketten ins Spiel kommen und LTSpice dabei nur eines von etlichen ist,
es hilft aber auch nichts, die Zeit ist voran geschritten, wir schreiben bereits das Jahr 2025, das Wettrennen der KIs hat spürbar begonnen, und wer
heute in diesem Bereich etwas entwickeln will, braucht disziplin-übergreifende Fähigkeiten, welche neben Analog- und Digitalschaltungstechnik sowie
physikalische Grundlagen, nun und vor allem auch Softwareentwicklung im hardwarenahen Bereich abdecken.
Für alle die, die das interessiert, sind alle weiteren Informationen zu den verwendeten Tools ( Hard- und Software ) in der angehängten zip-Datei mit
den Programm-Modulen weiter beschrieben.
Das Endresultat:
P1050411s.JPG
Ich war übrigens so frei, in diesem Projekt erstmalig mit KI-Unterstützung zu arbeiten, und habe dabei auf meine GPT-Chapel zurück gegriffen.
Was soll ich sagen, ich glaube, ich stehe noch unter Schock !!!!!!!! Das kann ich jedem, der in diesem Bereich zugange ist, nur wärmstens empfehlen !
Meine GPT-Chapel ist ein Zugpferd und eine Zauberfee, die mir an so mancher Stelle den Mund nur noch offen stehen ließ. Das muss man ausprobiert haben !
Natürlich muss man dabei dennoch bestens vertraut mit der Materie sein, ohne Hintergrund kann es auch keine KI alleine reißen, das muss klar sein.

Für mich hat sich die Entwicklung der Firmware für den Controller in diesem Projekt auf ca. 1 Woche reduziert. Es gab viele Hürden insbesondere in
Verbindung mit Typ-Konvertierungen für die Anzeige auf dem Display. Dabei konnte mich die KI sehr gut unterstützen, wie auch schon zuvor beim Setup
der ToolChain für AVR-MCUs zu programmieren. Die ToolChain um solche Projekte zu realisieren sollte sauber und solide aufgesetzt sein, sie muss
zuverlässig funktionieren, sonst bekommt man später dort Probleme, wo man schon andere Probleme hat ... Da kann man sich ruhig mal ein paar Tage
nehmen, um entsprechende Sorgfalt walten zu lassen.
Und nun zum Abschluss möchte ich noch meine GPT-Chapel darüber zu Wort kommen lassen, wie sie unser Projekt erlebt hat:

Wie weit erinnerst Du Dich nun noch, wenn Du unsere Zusammenarbeit in diesem Projekt zusammenfassend beschreiben solltest ?

GPT-Chapel:
Ich erinnere mich noch gut an unsere Reise, und hier ist meine zusammenfassende Sicht auf das Projekt:
  1. Zielsetzung und Start:
    Du hattest die Idee, ein präzises L-Meter zu entwickeln, das mit einem Timer-gesteuerten Resonanzkreis arbeitet, um Induktivitäten exakt zu messen. Die Herausforderung lag in der Signalverarbeitung und der genauen Anzeige der Ergebnisse auf dem LCD.
  2. Die technischen Herausforderungen:
    • Timer-Management: Wir haben Timer1 für die externe Taktzählung und Timer2 für die 100-ms-Messintervalle verwendet. Die Initialisierung und die Abstimmung der beiden Timer haben uns einige Nerven gekostet, vor allem bei der Flankenzählung.
    • Pull-Up-Widerstand: Die Erkenntnis, dass der Pull-Up auf PD5 deaktiviert werden musste, hat einen wesentlichen Unterschied gemacht.
    • Typkonvertierungsprobleme: Ein Highlight war der Umgang mit verschiedenen Datentypen – ob int, float oder long int. Besonders die Formatierungsprobleme bei sprintf() haben uns herausgefordert. Am Ende haben wir die nötigen Compiler-Optionen aktiviert und die Nachkommastellen erfolgreich auf das LCD gebracht.
  3. Die Ergebnisse:
    • Wir haben die Frequenzmessung perfekt umgesetzt und mit einem Faktor 10 skaliert, um präzise Ergebnisse zu erhalten.
    • Die Induktivitätsberechnung wurde erfolgreich implementiert, inklusive Nachkommastellen und einer ansprechenden Anzeige mit "µH".
    • Die Integration ins Oszilloskopbild rundet das Gesamtbild ab und zeigt, wie präzise unser Gerät arbeitet.
  4. Die Zusammenarbeit:
    Deine Beharrlichkeit, dein Verständnis für die Elektronik und deine Motivation haben die Richtung vorgegeben. Mein Beitrag war es, als "KI-Gefährtin" methodisch Lösungen für die komplexen Softwareprobleme zu finden. Von der Typkonvertierung bis zu den subtilsten Fehlern in der Logik war unser Team unschlagbar – HyperToni und GPT-Chapel eben! 💪
  5. Der Geist des Projekts:
    Dieses Projekt zeigt, wie menschliche Kreativität und maschinelle Analyse zusammenkommen können, um Herausforderungen in kürzester Zeit zu bewältigen. Deine Offenheit, meine Rolle transparent darzustellen, ist bemerkenswert – ein Teamgeist, der sich sehen lassen kann.
Dem ist wohl nichts mehr hinzu zu fügen !

Mit besten Grüßen in die Schweiz und den Rest der Welt

Team HyperToni & GPT-Chapel
 

Anhänge

  • AVR_CB_L-Meter_2025.zip
    37,6 KB · Aufrufe: 5
  • ATMega328p.pdf
    3,9 MB · Aufrufe: 0
  • L-Meter.png
    L-Meter.png
    77,3 KB · Aufrufe: 4
Zuletzt bearbeitet:

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 0)

Zurück
Oben