Hallo, ich versuche gerade einen Schaltplan anhand einer fertigen Platine zu zeichen. Dazu habe ich mir selbst erst mal Notizen gemacht, um Herauszufinden was mit einem rausgeführten 20pol. Steckverbinder verbunden ist. Irgendwo muss man ja anfangen. Ich habe es mit Klammern bei Mehrfachabzweigungen versucht, was nicht so gut war: Stecker(Pin12) + BC547(C) + (Diode(A)->680R + (100n->Stecker(Pin1))-> kl4pol.Steck(3)) Ich suche nach einer klar strukturieren "Darstellungssprache" und entsprechende Software, die so etwas direkt in einen Schaltplan umsetzen kann. Mit Bleistift und Papier klappt das gut bei kleineren/einfachen Platinen. Aber hier bin ich gerade nur am Radieren. Im Grunde würde es ja reichen, wenn man erst mal mit der Stückliste beginnt und alle Bauteile definiert etwa in Form von R1=10K, R2=33K IC1=LM139(14pol) D1=1N4148, usw. Dann teilt man per Anweisung einfach nur mit, womit R1 alles verbunden ist etwa in Form von R1(1)->IC1(3), R1(1)->D1(A), R1(2)->R2(1), ... Die Software zeichnet daraus, idealerweise vielleicht sogar in Echtzeit, den Schaltplan. Kenn jemand eine Software, die vielleicht genau für so etwas gemacht ist, also recht simpel gehalten ist? In einer "gewönlichen" Schaltungssoftware bin ich ja sonst auch nur die Bauteile am Umplatzieren, bzw. suboptimal am Verbinden und kann im Nachgang vielleicht eine Optimierungsfunktion nutzen. Aus einer Textbeschreibung heraus wäre mir viele lieber als das Rumgeklicke und Rumgescrolle und gar Rumsuchen der Bauteile, wenn es eben etwas größer wird. Danke schon mal im Voraus für Tipps, Dominik
:
Bearbeitet durch User
Mit welcher Intelligenz soll die Software die Bauteile sinnvoll (übersichtlich) positionieren? Ich kann mir nicht vorstellen, dass es so etwas gibt.
Du könntest damit anfangen, ein standardisiertes Netzlistenformat zu verwenden. Oder Dich hier einlesen: https://electronics.stackexchange.com/questions/676175/can-i-import-a-netlist-into-kicad
Harald K. schrieb: > Du könntest damit anfangen, ein standardisiertes Netzlistenformat zu > verwenden. oder einfach den Plan gleich mit eagle oder so zeichnen.
Steve van de Grens schrieb: > Mit welcher Intelligenz soll die Software die Bauteile sinnvoll > (übersichtlich) positionieren? Ich kann mir nicht vorstellen, dass es so > etwas gibt. Warum nicht? Platzieren von Leiterbahnen auf multilayer platinen funktioniert ja auch per autorouting. Ob das zu platzierende Bauteil jetzt ein Widerstand, oder eine Leiterbahn ist, macht eigentlich keinen großen unterschied. Schlussendlich muss man sich nur vernünftige Regeln überlegen, z.B. Abstände zwischen Bauteilen. Oder man gibt einfach direkt die Position auf der Platine mit an. Gehen tut das schon. Edit: Schaut mal hier: https://github.com/dvc94ch/pycircuit Da kann man sich also wunderbar ein Pythonscript schreiben, was die Liste vom TO einliest und umwandelt.
:
Bearbeitet durch User
Kaj G. schrieb: > Platzieren von Leiterbahnen auf multilayer platinen > funktioniert ja auch per autorouting. Du willst aber die Bauteile im SCHALTPLAN automatisch platzieren. Steve van de Grens schrieb: > Ich kann mir nicht vorstellen, dass es so > etwas gibt. Ich auch nicht.
Dominik schrieb: > Ich suche nach einer klar strukturieren "Darstellungssprache" und > entsprechende Software, die so etwas direkt in einen Schaltplan umsetzen > kann. Das Erstellen eines Schaltplans, der diese Bezeichnung zu recht trägt, setzt neben einer Kenntnis aller Verbindungen (aka Netzliste) auch ein Verständnis der Signale und Signalflüsse voraus. Solange du die Schaltung nicht verstanden hast, ist das also schwer möglich, es sei denn, dem ChatGPT sind Schaltungsteile im Internet begegnet und er bekommt die Abstraktion auf deine Bezeichnungen hin.
Steve van de Grens schrieb: > Mit welcher Intelligenz soll die Software die Bauteile sinnvoll > (übersichtlich) positionieren? Ich kann mir nicht vorstellen, dass es so > etwas gibt. Schade. Anhand der Antworten gehe ich davon aus, dass es so etwas tatsächlich nicht gibt. Also ich kann mir mehrere Regeln vorstellen, wie man einen Schaltplan "routen" kann. Also z.B. mit möglichst wenig Überkreuzungen oder möglichst kurze Wege oder bestimmte, vorausgewählte Bauteile nahe beieinander/nebeneinander, etc. Hauptsache orthogonal und halt keine Verbinder durch Bauteile durch. Es wäre aber auch okay, wenn man die Bauteile anschließend halt noch per Hand so verschiebt wie man möchte, wenn die Verbinder alle bestehenbleiben. Das wichtigste wäre mir vor allem die Eingabe über Kommandozeile, bzw. wenigstens aus Textdatei in einer bestimmten Syntax. Ich möchte nicht jeden Verbinder einzeln zielen, klicken müssen, scrollen wieder zielen und klicken oder aber auch nicht jedes Bauteil einzeln anklicken und aufwendig irgendwelche Eigenschaftsfenster öffnen, wo man das Ziel der Verbinder einzeln anklicken und per Hand eingeben kann.
Kaj G. schrieb: > Schaut mal hier: https://github.com/dvc94ch/pycircuit > Da kann man sich also wunderbar ein Pythonscript schreiben, was die > Liste vom TO einliest und umwandelt. Danke, das ist dann für Kicad, wenn ich recht verstehe? Dann sollte ich mir Kicad anschauen und es damit versuchen, falls keine besseren Vorschläge mehr kommen.
Du brauchst dir ja nur mal unter https://github.com/dvc94ch/pycircuit das erste Beispiel mit der Emitterstufe anzuschauen. Die beiden Widerstände des Basisspannungsteilers würde jemand, der die Schaltung verstanden hat, nicht so versetzt zeichnen. Wie soll das dann bei komplexeren Schaltungen funktionieren?
Dominik schrieb: > Also ich kann mir mehrere Regeln vorstellen, wie > man einen Schaltplan "routen" kann. Primär geht es beim Zeichnen eines Schaltplanes nicht um eine reine Darstellung der Verbindungen, wie es der deutsche Begriff vielleicht vermuten lässt, sondern um eine abstrahierte Darstellung der Funktionen, d.h. eine Übersichtliche Darstellung von Signalfluss und Funktionsgruppen, die dann letztendlich bis auf Bauteilebene detailliert. Das impliziert z.B., dass die Pinbelegung von ICs eine untergeordnete Rolle spiel und primär die Funktionsgruppen dargestellt werden. Beim Reverse Engineering brauchst du also auch Informationen aus dem Datenblatt, um von deiner Verbindungsliste zu einem vernünftigen Schaltplan zu kommen. > Das wichtigste wäre mir vor allem die Eingabe über > Kommandozeile, bzw. wenigstens aus Textdatei in einer bestimmten Syntax. > Ich möchte nicht jeden Verbinder einzeln zielen, klicken müssen, > scrollen wieder zielen ... Dann verwende die Scriptsprache deiner ECAD-Software
:
Bearbeitet durch User
Dominik schrieb: > Anhand der Antworten gehe ich davon aus, dass es so etwas > tatsächlich nicht gibt. Solche Software gibt es schon, aber die läuft bisher nur auf diesen sündhaft teuren biologischen Parallelrechnern.
Dominik schrieb: > Ich suche nach einer klar strukturieren "Darstellungssprache" Nennt sich Netzliste. Da fehlt aber noch ein Name für die Leitung. Also etwa so: NET Data IC1-3, R5-1, C1-2 Und Netznamen werden sowieso intern zugeordnet in jedem Schaltplaneditor, wenn es der Benutzer nicht tut. Und mit den Infos platziert ein Layouteditor an irgendeiner Ecke den IC1, den R5 und den C1 und die Pins 5, 1 und 2 der drei Komponenten sind mit einer Luftlinie verbunden. Es gibt auch Layout-Tools, die eine Autoplace-Funktion anbieten - meist ist das aber unbefriedigend und ist vielleicht brauchbar für einen kleinen Schaltungsteil - definitiv nicht fürs ganze Board. Das könnte man auch für einen Schaltplaneditor haben (meiner Vorstellung nach), denn beides ist ja elektrisch äquivalent. Aber die Bauteile muss man dann trotzdem, wie beim Layout, auch im Schaltplan sinnvoll von Hand anordnen. Nach welchen (sinnvollen) Regeln sollen die BE denn automatisch angeordnet werden? Warten wir mal auf die Fähigkeiten einer zukünftigen KI ... Dominik schrieb: > Dann teilt man per Anweisung einfach nur mit, womit R1 alles verbunden > ist etwa in Form von R1(1)->IC1(3), R1(1)->D1(A), R1(2)->R2(1), Siehe oben, eher umgekehrt. Man geht nicht vom Bauelement aus, sondern vom Verbindungsnetz und zählt alle Pins auf, die da dran hängen. So es auch prinzipiell in realen Netzlisten aus: NET N1 R1-1, IC1-3 NET N2 R1-2, R2-1
Es gibt eine Firma die so ein Tool entwickelt hat: https://www.concept.de/SpiceVision.html > SpiceVision® PRO takes SPICE netlists and models and generates clean, > easy-to-read transistor-level schematics, circuit fragments, and > design documentation to speed up circuit design, debug, and optimization > at the transistor-level. ---- Alternativ zu pycircuit gibt es schemdraw, sieht auch interessant aus: https://schemdraw.readthedocs.io/en/stable/gallery/index.html (Ein automatisches Placement hab ich nicht gefunden.) Aber ein beliebiger Schaltplaneditor und die Möglichkeit Bauteile hin und her zu schieben, ist vermutlich einfacher als das ganze per Skript zu generieren.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.