Forum: Platinen Schaltplan aus Layout erzeugen?


von Klaus S. (kseege)


Lesenswert?

Ich suche ein CAD-Programm für Leiterplatten, das in der Lage ist, aus 
einem Layout einen Schaltplan zu erzeugen. Hintergrund ist meine 
Arbeitsweise, die darin besteht, aus einer Bleistiftskizze des 
Schaltplans als Erstes ein Layout zu erstellen.

Da es sich fast immer um Testaufbauten für mich selbst handelt, kommt es 
nur ab und an vor, daß ich einen ausgedruckten Schaltplan bauche. Erst 
wenn die Schaltung mit dem erstellten Layout funktioniert und auch 
Andere sie brauchen können, wird ein "druckbarer" Schaltplan benötigt.

Genauso, wie gewöhnlich aus Bauteileliste und Netzliste die 
Startkonfiguration für das Layout erstellt wird, sollte man doch daraus 
auch die Startkonfiguration für den Schaltplan erzeugen können. Macht 
aber keiner, den ich kenne. Man müßte sich dann nur noch um die 
Schönheit und nicht mehr um die Richtigkeit kümmern.

Natürlich braucht man dazu eine gemeinsame Datenbasis für die Bauteile, 
das ist aber doch keine Raketenwissenschaft. Ich habe vor etlichen 
Jahren mal Target ausprobiert, weil es angeblich diese gemeinsame 
Datenbasis hat. Habe aber auch nur festgestellt, daß ohne Schematics 
nichts läuft. Also quäle ich weiter mein uraltes Asix Boardmaker für 
DOS, das in der Linux Dosbox immer noch läuft.
Meine 2 Fragen sind dementsprechend, ob jemand ein solches Programm 
kennt und ob er freundlicherweise dessen Namen auch verraten würde.

Gruß Klaus (der soundsovielte)

P.S. Ich bin nicht der Erste, der sowas brauchen könnte. Meiner 
Erinnerung nach gab es zu meiner Studentenzeit eine Firma aus Hanau oder 
Offenbach, die so etwas auf einer Sun-Workstation verwirklicht hatte.

von Frank O. (frank_o)


Lesenswert?

Klaus S. schrieb:
> Ich bin nicht der Erste

Ganz sicher nicht!
Im Gegensatz zu dir, zeichne ich nicht einmal auf Papier auf und die 
nötigen Belegungen sehe ich sowieso in den Datenblättern.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klaus S. schrieb:
> P.S. Ich bin nicht der Erste, der sowas brauchen könnte.
Ja, jeder, der mit Reverse-Engineering was zu tun tun hat, wünscht sich 
das: Leiterplatte von oben und unten mit und ohne Bauteile 
fotografieren, ab ins Programm und der Schaltplan kommt heraus (und am 
besten der C-Code für den uC auch gleich...). Allerdings hat die Sache 
einen riesigen Hakenn: für mehr als 2 Lagen funktioniert das nicht 
mehr,vweil man die mittleren Lagen nicht sieht. Und locker >95% der 
interessanten Schaltungen bestehen aus 4 oder mehr Lagen.

> Hintergrund ist meine Arbeitsweise
Wenn du eine für übliche Tools böllig ungeeignete Vorgehensweise hast, 
dann musst du selber ein Programm schreiben (lassen), oder ein offenes 
SW-Paket anpassen (lassen).

Wie wäre es, wenn du einfach während der Entwivklung des Prototypen 
parallel den Schaltplan immer wieder korrigierst und aktuell hältst.

: Bearbeitet durch Moderator
von Frank O. (frank_o)


Lesenswert?

Lothar M. schrieb:
> (und am
> besten der C-Code für den uC auch gleich...)

Nehme ich sofort!😆

von Gunnar F. (gufi36)


Lesenswert?

Lothar M. schrieb:
> Wenn du eine für übliche Tools böllig ungeeignete Vorgehensweise hast,
> dann musst du selber ein Programm schreiben (lassen), oder ein offenes
> SW-Paket anpassen (lassen).

Ich habe mir darum auch schon Gedanken gemacht, weil ich doch 
gelegentlich reverse engineere oder reparieren will. Ohne Schaltplan 
schwierig. Ich dachte mir, im Grunde aus dem Layout eine Netzliste zu 
generieren.

Lothar M. schrieb:
> für mehr als 2 Lagen funktioniert das nicht mehr,vweil man die
> mittleren Lagen nicht sieht.

Das ist natürlich klar.

Aber aus der Netzliste einen Schaltplan zu generieren, habe ich kaum 
Ideen weil das wahrscheinlich viel von menschlicher Erfahrung abhängt. 
Vielleicht ist es einen Versuch wert, damit mal eine KI zu beschäftigen.

von P. S. (namnyef)


Lesenswert?

Pulsonix hat ein Reverse-Engineer-Feature mit dem man einen Schaltplan 
basierend auf einem Bild des Layouts rekonstruieren kann. Bis 100 Pins 
sollte das auch kostenlos mit der Eval/Viewer-Lizenz möglich sein. Das 
war wohl mal ein Feature-Wunsch der Deutschen Bahn, weil die vielen 
alten Scheiß haben für den es keine Doku mehr gibt.

Ob das Feature etwas taugt, weiß ich aber nicht.

von Ste N. (steno)


Lesenswert?

Klaus S. schrieb:
> Natürlich braucht man dazu eine gemeinsame Datenbasis für die Bauteile,
> das ist aber doch keine Raketenwissenschaft. Ich habe vor etlichen
> Jahren mal Target ausprobiert, weil es angeblich diese gemeinsame
> Datenbasis hat. Habe aber auch nur festgestellt, daß ohne Schematics
> nichts läuft.

Aber genau das kann doch Target, siehe 
https://server.ibfriedrich.com/wiki/ibfwikide/index.php/Reverse_Engineering.

Ich hab es gerade ausprobiert, funktioniert wunderbar. Wenn man 
allerdings das Layout einmal in ein Schematic umgewandelt hat ist es mit 
reverse engineering vorbei. Ab dann zählt das Schematic als 
Ausgangsbasis.

Also erst fertig layouten und dann umwandeln. Wenn es dann wirklich noch 
kleine Korrekturen gibt sind die auch schnell im Schematic gemacht.

: Bearbeitet durch User
von Tobias (code_red)


Lesenswert?

Es gibt professionelle Firmen die eine PCBA erst optisch analysieren 
(Also IC etc.), dann röntgen und daraus wohl einen mehr oder weniger 
fertigen Schaltplan erstellen können.

Du brauchst also nur ein Röntgengerät und ein "bisschen" Code ;)

von Klaus S. (kseege)


Lesenswert?

Ste N. schrieb:
> Also erst fertig layouten und dann umwandeln. Wenn es dann wirklich noch
> kleine Korrekturen gibt sind die auch schnell im Schematic gemacht.

Das ist ja genau das, was ich suchte. Auf die Idee, nach "reverse 
engineering" zu schauen, bin ich selbst gar nicht gekommen. Danke!

Gruß Klaus (der soundsovielte)

von Klaus S. (kseege)


Lesenswert?

@Lothar
Lothar M. schrieb:
> Wenn du eine für übliche Tools böllig ungeeignete Vorgehensweise hast,
> dann musst du selber ein Programm schreiben (lassen), oder ein offenes
> SW-Paket anpassen (lassen).
>
Das hab ich schon erwogen, allerdings die einfachere Variante der 
Bearbeitung der Austauschdateien. Aber gEDA wird nicht mehr 
weiterentwickelt, bei KiCad schreckte mich der Umfang und RingDove ist 
für mich noch ein unbeschriebenes Blatt. Andere offene 
Austauschprotokolle sind mir nicht bekannt.

> Wie wäre es, wenn du einfach während der Entwivklung des Prototypen
> parallel den Schaltplan immer wieder korrigierst und aktuell hältst.

Von 10 Layouts brauchen höchstens 3 einen Schaltplan. Den mache aber 
nicht mehr ich, sondern derjenige, der meine Schaltung benutzen möchte. 
Dem möchte ich die Arbeit erleichtern, nicht mir zusätzliche aufhalsen.

> Und locker >95% der
> interessanten Schaltungen bestehen aus 4 oder mehr Lagen.

Ich mache ja kein Re-Engineering, sondern maximal 2-lagige ganz locker 
bestückte Einmalstücke als Testplatinen für eigene Versuche, 
Wegwerfware, nix was an den Endkunden geht. Ich arbeite sozusagen am Dir 
genau entgegengesetzten Ende der Welt. Aber danke furs Mitdenken.

Gruß Klaus (der soundsovielte)

P.S. und ich verwende eimerweise Optokoppler ;-)

von Frank O. (frank_o)


Lesenswert?

Bei Sprintlayout 6.0 kannst du ein Bild unterlegen und alles 
nachzeichnen.

von Thorsten S. (thosch)


Lesenswert?

Ich würde ernsthaft die eigene Arbeitsweise überdenken und nach der 
ersten Bleistift-Konzeptskizze sofort einen elektronischen Schaltplan in 
KiKad erstellen.

Layout ohne Schaltplan und Netzliste und damit ohne vernünftigen ERC/DRC 
wäre mir viel zu fehlerträchtig.

Dann muß man auch hinterher nicht seine eigene Schaltung reverse 
engineeren...

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Klaus S. schrieb:
> Ich suche ein CAD-Programm für Leiterplatten, das in der Lage ist, aus
> einem Layout einen Schaltplan zu erzeugen.

KiCAD-GPT ?

von Frank O. (frank_o)


Lesenswert?

Da ich schon KiCad 8 auf dem Rechner hatte, habe ich jetzt KiCad 9 
installiert.
Wenn man mit anderen Programmen schon etwas Erfahrung hat, sollte das 
nicht so schwer werden.
Ich jedenfalls, werde mich in KiCad einarbeiten. Sieht sehr gut aus, 
mittlerweile.

von Axel R. (axlr)


Lesenswert?

"Der Rühl liest das, wie Buch" sagen meine Kumples immer.
Ich nehm die Platine, sehe mir die von oben und von unten an und mal den 
Schaltplan auf.
Ich hab hier verschiedene Lichtsteuerungen dieser 
Schwertransport-BF3-Begleitfahrzeuge in Pflege. Da rückt ja auch niemand 
von den "Herstellern"
(was da aber auch manches Mal zusammengemurkts wird) einen Schaltplan 
heraus.
Nun muss man aber auch zur eigenen Verteidigung dieser semiautistischen 
Verlanlagung zugeben, dass die Designs dieser "aufstellbaren 
Lichtanzeiger" meist schon 20 Jahre alt sind und es relative grobe 
Strukturen sind, um die es sich hier handelt. Sobald das vierlagig wird, 
ists dann auch wieder vorbei, solage es sich nicht um reine 
Versorgungslayer handelt.
Also mir macht das Spaß, Schaltpläne aus Layouts aufzunehmen.
Sonst natürlich, wie alles anderen auch; erst Schaltplan, dann Layout.
Oder eben alles auf 1.27er Lochraster, ganz ohne Papier, was sich nach 
nem halben Jahr dann oft rächt, wenn rein garnichts aufgezeichnet hat.

EDIT: Typo mesit ->meist

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

also ich erstelle erst mal ein neues Bauteil z.B. den Arduino nano 328p 
so wie er käuflich ist und baue den in das Schaltbild ein, dann lege ich 
die anderen Bauteile so das ich auf der Lötseite nur die langen Strecken 
in Kupfer habe und auf der Bestückseite Drahtstücke für kurze Strecken 
habe, der Plan wird gedruckt und auf eine typische Lochrasterkarte 1/10" 
gelegt. So könnte der Plan auch im Bestückdruck landen.

von Falk B. (falk)


Lesenswert?

Klaus S. schrieb:
> Ich suche ein CAD-Programm für Leiterplatten, das in der Lage ist, aus
> einem Layout einen Schaltplan zu erzeugen. Hintergrund ist meine
> Arbeitsweise, die darin besteht, aus einer Bleistiftskizze des
> Schaltplans als Erstes ein Layout zu erstellen.

Dort liegt dein Problem. Jeder Profi, der diese Beschreibung verdient 
und jeder Hobbybastler, der kein autistischer Frickler ist, macht zuerst 
einen Schaltplan und dann das Layout. Auch für kleine Testaufbauten. Und 
schwupp di Wupp, kann man jedes aktuelle CAD-Programm ganz einfach 
nutzen, so wie der Rest der Welt.

> Da es sich fast immer um Testaufbauten für mich selbst handelt, kommt es
> nur ab und an vor, daß ich einen ausgedruckten Schaltplan bauche.

Schwachsinn^3. Aber ja, jeder darf im Hobbykeller frickel wie er will.

> Erst
> wenn die Schaltung mit dem erstellten Layout funktioniert und auch
> Andere sie brauchen können, wird ein "druckbarer" Schaltplan benötigt.

Also selten bis nie.

> P.S. Ich bin nicht der Erste, der sowas brauchen könnte.

Nur Leute, welche bestehende Platinen nachbauen wollen, aka Reverse 
engineering. Das geht, ist aber nicht der normale Weg bei der 
Schaltungsentwicklung.

Schaltplan richtig zeichnen

von Harald K. (kirnbichler)


Lesenswert?

Frank O. schrieb:
> Bei Sprintlayout 6.0 kannst du ein Bild unterlegen und alles
> nachzeichnen.

Das kann man mit KiCad auch schon seit einiger Zeit.

PCB Editor -> Place -> Add Reference Image

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Hallo Harald!
Ja danke! Ich bin gerade dabei mich damit zu befassen.
Anders als es hier geschrieben wurde (weiß gerade nicht wer das schrieb) 
kannst kannst du wohl auch dein Board zeichnen (jedenfalls bei KiCad 9) 
und dann ist oben ein Button, der aktualisiert dir deinen Schaltplan.
Damals fing das gerade an mit KiCad, Englisch war fürchterlich und da 
hatte ich mich für Abacom entschieden.
Doch dass man da kein Board aus einem Schaltplan erstellen kann, das 
hatte mich immer gestört. Da ich künftig auch mal Platinen fertigen 
lassen will und auch die Schaltpläne dazu haben möchte,  wird das jetzt 
mein Umstieg.

von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> Englisch war fürchterlich

Das Telefon ...😂
Aus Eagle macht es Englisch.
Sollte natürlich Eagle heißen.

von Butt (schweizer)


Lesenswert?

[OT]

Frank O. schrieb:
> Das Telefon ...😂
> Aus Eagle macht es Englisch.
> Sollte natürlich Eagle heißen.

If a German says, "Look, there's an Igel!" look down, not up.

von Christian B. (luckyfu)


Lesenswert?

Gunnar F. schrieb:
> Ich habe mir darum auch schon Gedanken gemacht, weil ich doch
> gelegentlich reverse engineere oder reparieren will. Ohne Schaltplan
> schwierig. Ich dachte mir, im Grunde aus dem Layout eine Netzliste zu
> generieren.

und was nützt dir die? Ich sags dir: relativ wenig. Denn die Netzliste 
sagt dir zwar, welches Bauteil mit welchem wie verbandelt ist, aber das 
war es. Das sagt dir nicht, welche Bauteilwerte die Bauteile haben. Das 
nächste große Problem ist: Wie soll das angeordnet werden? Lesbare 
Schaltpläne sind in Funktionsgruppen untergliedert. Woher soll das 
Programm wissen, welche Bauteile zu einer Funktionsgruppe gehören? Kann 
es nicht wissen, also wirft es alle Bauteile auf einen großen Haufen, 
ähnlich wie die Forward anotation moderner Entwicklungstools dies beim 
Erstellen des Layouts aus dem Schaltplan machen: Alle Bauteile werden, 
mit Gummileitungen verbunden, auf einen Haufen geworfen und müssen von 
dir, dem Benutzer, dann in die richtige Position geschoben werden. 
Anschließend muss man die passenden Werte noch einfügen für die 
jeweiligen Bauteile. Und dann gibt es ja da noch diese Einschränkung:

Lothar M. schrieb:
> für mehr als 2 Lagen funktioniert das nicht
> mehr,vweil man die mittleren Lagen nicht sieht. Und locker >95% der
> interessanten Schaltungen bestehen aus 4 oder mehr Lagen.

Ich schlage vor: Du änderst deine Arbeitsweise. Die Grundlage der 
Elektronikentwicklung ist der Schaltplan. Aus Diesem entsteht das 
Layout. So sind alle CAD Systeme für den Leiterplattenentwurf aufgebaut.

Harald K. schrieb:
> PCB Editor -> Place -> Add Reference Image

Das ist aber etwas vollkommen anderes. Dabei geht es darum, dass man den 
Schaltplan hat, aber das Layout fehlt und man dies neu erstellen will. 
So etwas kann bei ganz alten Designs vorkommen, wenn man nur noch die 
Gerberdaten hat. (und ein Gif oder pdf des Schaltplans) Ist aber auch 
eine Nischenanwendung. Normalerweise wird diese Funktion benötigt, um 
CAD Zeichnungen von Platinenumrissen möglichst fehlerfrei ins 
Layoutsystem zu übertragen, jedenfalls bei den Systemen, die nicht 
sowieso direkt einen Step import anbieten und daraus dann die 
Leiterplattenkonturen selbst ableiten können.

Frank O. schrieb:
> und dann ist oben ein Button, der aktualisiert dir deinen Schaltplan.

Das ist back anotation. Bieten auch viele Layoutsysteme an. Die Funktion 
wird aber eigentlich nur genutzt, um andere Footprints oder pinswapping 
zu vereinfachen: Man merkt im Layout: Hier bräuchte ich ein anderes 
Footprint oder: Wenn ich 2 Controllerpins miteinander vertausche, kann 
ich plötzlich 3, sich kreuzende Leiterzüge, vermeiden. Macht den Swap 
und im Schaltplan wird der dann auch ausgeführt. Das kommt noch aus der 
Zeit der digitalen Schaltungen mit definierten Logikgattern (2 Eingänge, 
ein Ausgang, mehrere Gatter Pro Chip) Da kann man ziemlich leicht 2 
Gattereingänge miteinander tauschen oder sogar ganze Gatter innerhalb 
eines ICs. Bei modernen Controllern funktioniert das aber schon nur noch 
so leidlich, weil nicht jeder Pin mit jedem Funktionskompatibel ist. 
Ergo muss man hier schon im Schaltplan direkt schauen, ob der Pinswap 
überhaupt funktioniert. Und das führt dazu, dass ich z.B. in meinem 
gesamten Berufsleben diese Funktion noch nie verwendet habe. (Es braucht 
nämlich dazu auch einigen Mehraufwand bei der Bauteilerstellung, denn 
man muss dabei schon definieren, welche Pins mit welchen und welche 
Gatter mit welchen geswapt werden können.)

Fazit: Deine Arbeitsweise ist eine Krücke, ich hab auch mal so 
gearbeitet, als ich 14 war und erste Schaltungen wie Wechselblinker 
zusammengebastelt habe (und dazu erst Streifenrastreplatinen und später 
dann selbst geätzte, mit Edding gezeichnete Platinen verwendet habe, 
damals hatte ich aber auch keinen Zugang zu einem PC). Aber man kommt 
damit sehr schnell an Grenzen, denn die Fehlersuche ist so, insbesondere 
bei Schaltungen mit mehr als 5 Bauteilen und evtl. noch komplexeren als 
nur Kondensatoren und Widerständen, ein ziemliches Martyrium. Auch hat 
ein vorliegender Schaltplan, neben der Übersichtlichkeit, noch einen 
entscheidenden weiteren Vorteil: Funktionierende Teilschaltungen kann 
man einfach von einem Projekt in ein anderes kopieren. Teilweise mit 
samt des dazugehörigen Layouts. (Das ist vom CAD System abhängig) und 
natürlich ist die Doku direkt komplett, wenn der Schaltplan stimmt.

von Gunnar F. (gufi36)


Lesenswert?

Christian B. schrieb:
> und was nützt dir die? Ich sags dir: relativ wenig. Denn die Netzliste
> sagt dir zwar, welches Bauteil mit welchem wie verbandelt ist, aber das
> war es. Das sagt dir nicht, welche Bauteilwerte die Bauteile haben. Das
> nächste große Problem ist: Wie soll das angeordnet werden? Lesbare
> Schaltpläne sind in Funktionsgruppen untergliedert. Woher soll das
> Programm wissen, welche Bauteile zu einer Funktionsgruppe gehören? Kann
> es nicht wissen, also wirft es alle Bauteile auf einen großen Haufen,
> ähnlich wie die Forward anotation moderner Entwicklungstools dies beim
> Erstellen des Layouts aus dem Schaltplan machen: Alle Bauteile werden,
> mit Gummileitungen verbunden, auf einen Haufen geworfen und müssen von
> dir, dem Benutzer, dann in die richtige Position geschoben werden.
> Anschließend muss man die passenden Werte noch einfügen für die
> jeweiligen Bauteile. Und dann gibt es ja da noch diese Einschränkung:

danke, ich weiß was eine Netzliste ist. Lies einfach weiter, dann 
hättest du dir deine Belehrung sparen können:

Gunnar F. schrieb:
> Aber aus der Netzliste einen Schaltplan zu generieren, habe ich kaum
> Ideen weil das wahrscheinlich viel von menschlicher Erfahrung abhängt.
> Vielleicht ist es einen Versuch wert, damit mal eine KI zu beschäftigen.

von Christian B. (luckyfu)


Lesenswert?

Gunnar F. schrieb:
> danke, ich weiß was eine Netzliste ist. Lies einfach weiter, dann
> hättest du dir deine Belehrung sparen können:

Die Netzliste ist wie der Assemblercode, den der c Compiler 
produziert...

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.