Forum: Platinen KiCad 6 PCB -> Schematic ?


von msdo hptrmh (Gast)


Lesenswert?

Ich dachte, gelesen zu haben, dass das neue Kicad auch den Weg von PCB 
Layout zu Schaltung ermöglicht - finde dazu aber nichts mehr.

Also: Layout malen, Schaltplan ableiten?

Die fixe Suchfunktion hat gerade das ausgespuckt:

https://docs.kicad.org/6.0/en/getting_started_in_kicad/getting_started_in_kicad.html#pcb_design_workflow

> any design changes made in the board layout can be pushed back to the schematic 
to keep the two consistent.

von dfgh (Gast)


Lesenswert?

Irgendwo im Menü gibt es neben "Update PCB from Schematic" auch "Update 
Schematic from PCB".

Bisher habe ich das immer nur bei kleineren Änderungen benutzt, da hat 
es gut funktioniert. Ob man damit auch komplett vom Layout zur Schaltung 
gelangt, habe ich noch nicht ausprobiert, klingt aber nach einem 
interessanten Ansatz - insb. für Reverseengineering.

von Max M. (Gast)


Lesenswert?

Wie sollte das gehen?
Du kannst im PCB geografisch annotieren oder Footprints und Werte ändern 
und das ins SCH übernehmen, aber nicht viel mehr.

Kicad fährt eine Philosophie die Dir viele Freiheiten lässt, nämlich das 
SCH Symbol und PCB Footprint im wesentichen nur über die Pinnummern 
zusammenhängen.
Du könntest einen Widerstand mit einem SOIC-16 verknüpfen, wenn Du 
wolltest und Kicad würde zwar warnen das es für die Pins 3-16 keinen Pin 
im SCH gibt, aber den Widerstand mit Pin 1+2 im PCB verbinden.
Das ist alleine Deine Verantwortung und ermöglicht es mit wenigen 
Grundsymbolen ohne feste FP Zuordnung zu arbeiten statt jedes Bauteil 
erstmal komplett anlegen zu müssen wie unter Eagle.

Eingefleischte Eagle User bekommen da einen Föhn, ich finds super und 
kenne das von einigen anderen CAD Programmen.
Das PCB kennt also kein SCH Symbol und kann auch keines für Dich 
erraten.

Selbst wenn das ginge, hättest Du im SCH dann einen wilden Block aus 
unpositionierten SCH Symbolen weil noch niemand jemals einen 
funktionierenden Autoplacer gebaut hat.
Schon nicht für ein PCB, wo es nur noch um gute verdrahtbarkeit geht und 
schon garnicht für eine SCH wo es um ÜBERSICHT geht.

Ausserdem ist der Weg krass falsch.
Der Schaltplan beschreibt die Funktion.
Der Weg geht immer über den Schaltplan zum PCB.
Alles andere ist totaler Murks.

von Max M. (Gast)


Angehängte Dateien:

Lesenswert?

dfgh schrieb:
> Reverseengineering.

Du kannst ohne SCH eine Layout direkt im PCB nachpinseln und Dir dann 
eine Netzliste exportieren.
Ob Dir das irgendwas bringt, beim Versuch daraus einen Schaltplan zu 
bauen, wage ich zu bezwweifeln.

Was beschreibt diese Netzliste?
(Auflösung im Bild)
1
P  CODE 00
2
P  UNITS CUST 0
3
P  arrayDim   N
4
327N/C              REF** -1          A01X+053514Y-038541X0768Y0236R000S2
5
327N/C              REF** -2          A01X+053514Y-039041X0768Y0236R000S2
6
327N/C              REF** -3          A01X+053514Y-039541X0768Y0236R000S2
7
327N/C              REF** -4          A01X+053514Y-040041X0768Y0236R000S2
8
327N/C              REF** -5          A01X+055463Y-040041X0768Y0236R000S2
9
327N/C              REF** -6          A01X+055463Y-039541X0768Y0236R000S2
10
327N/C              REF** -7          A01X+055463Y-039041X0768Y0236R000S2
11
327N/C              REF** -8          A01X+055463Y-038541X0768Y0236R000S2
12
327N/C              REF** -9          A01X+054488Y-039291X0902Y1181R000S2
13
999

von msdo hptrmh (Gast)


Lesenswert?

Danke, habe gerade keine Zeit dafür, aber wenn ich es ausprobiert habe 
und mehr weiß, melde ich mich nochmal... falls ich's nicht vergessen ;-)

von Wolfgang M. (wolfgangbremen)


Lesenswert?

@dfgh: Wo soll denn das "update schematic from PCB" zu finden sein?
@Max M.: Natürlich ist es Murks, erst ein komplettes PCB von Hand zu 
erzeugen und im Nachgang einen Schaltplan daraus zu machen. Aber: Oft 
habe ich z. B. die Situation, daß ich mehrere IC-Ausgänge mit R-Array 
hochziehen muß und erst im Board-Layout sehe, daß ich besser andere Pins 
verbunden hätte, weil sich alle Leitungen überkreuzen und mir die Ebenen 
versauen.
In solchen Fällen wäre es hilfreich, wenn man die Verbindungen in Pcbnew 
umhängen und alles entzerren könnte, und die vertauschten Pins in den 
Schaltplan zurück übertragen könnte.
Natürlich kann ich mir die "besseren" Verbindungen merken/aufschreiben, 
im Schaltplan ändern und PCB updaten. Aber das ist äußerst mühsam.
Ich würde ein solches "reverse engineering" sehr begrüßen.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo wolfgang.

Wolfgang M. schrieb:
> @dfgh: Wo soll denn das "update schematic from PCB" zu finden
> sein?

A) Im Schaltplaneditor: Oberes Pull down Menue > Werkzeuge > "Platine 
aus Schaltplan aktualisieren" und "Schaltplan aus Platine 
aktualisieren".

B) Im Layout Editor:  Oberes Pull down Menue > Werkzeuge > "Platine aus 
Schaltplan aktualisieren" und viel weiter unten "Schaltplan aus Platine 
aktualisieren". Direkt unter "geografische Reannotation".

> @Max M.: Natürlich ist es Murks,
~~~~
~~~
~~
~
> In solchen Fällen wäre es hilfreich, wenn man die Verbindungen in Pcbnew
> umhängen und alles entzerren könnte, und die vertauschten Pins in den
> Schaltplan zurück übertragen könnte.

Leider funktioniert das noch nicht so toll.
Ich habe versuchsweise mal auf einer Platine eine Diode um 180° 
herumgedreht und nachgesehen, ob das in den Schaltplan übernommen wird.
Wird es nicht. Der Grund wird mir klar, wenn ich die herumgedrehte Diode 
im Layout ziehe: Sie ist immer noch mit den vorherigen Netzten 
verbunden.

Was funktioniert, ist die Übernahme von Bauteilwerten und bedingt die 
Übernahme von Referenzbezeichnern. Nämlich dann, wenn Du 
Referenzbezeichner vertauschst, also aus einem Anschluss X3 wird X4 und 
der vorherige X4 wird X3.

Wenn Du das so umänderst, dass Referenzbezeichner verschwinden oder neue 
hinzukommen, fangen die Probleme an.

> Natürlich kann ich mir die "besseren" Verbindungen merken/aufschreiben,
> im Schaltplan ändern und PCB updaten. Aber das ist äußerst mühsam.
> Ich würde ein solches "reverse engineering" sehr begrüßen.

Ich denke, damit so etwas funktioniert, müssen erhebliche Erweiterungen 
in der Struktur vorgenommen werden.

Am wichtigsten wäre das die durch die Veränderung im Layout erzeugten 
geänderten Verbindungen als neue Netzliste aus dem Layouteditor heraus 
abgelegt werden können.

Weiter:
Es müsste bekannt sein, welches Symbol einem neu hinzugefügten Bauteil 
zugeordnet werden soll. Das könnte aber interaktiv gemacht werden, z.B. 
durch eine Liste, die Du durchgehst und zu jedem unbekannten Symbol eine 
Zuweisung aus einem Symbolbrowser vornimmst.

Nachtrag:
Application: KiCad
Version: 6.0.5+dfsg-1, release build
Platform: Linux 5.18.0-1-amd64 x86_64, 64 bit, Little endian, wxGTK, 
xfce, x11

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von Daniel D. (Gast)


Lesenswert?

msdo hptrmh schrieb:
> Ich dachte, gelesen zu haben, dass das neue Kicad auch den Weg von PCB
> Layout zu Schaltung ermöglicht - finde dazu aber nichts mehr.

Das ist immer reiner Murks. Viel Spaß die ganzen Verbindungen für 
Menschen lesbar machen. Das ist im Schematic von Kicad nämlich der 
reinste Müll Leitungen zu ändern. Das funktioniert überhaupt nicht gut 
und kommt bei weitem nicht an die Funktionen professioneller Tools 
heran. Ansonsten mag ich Kicad eigentlich. Es wäre ja mal ein Start 
Bauteile im Schematic verschiebbar zu machen und dann nicht alle 
Leiterbahnen mit irgendwelchen Winkeln zu haben.

von Bauform B. (bauformb)


Lesenswert?

Bernd W. schrieb:
> Am wichtigsten wäre das die durch die Veränderung im Layout erzeugten
> geänderten Verbindungen als neue Netzliste aus dem Layouteditor heraus
> abgelegt werden können.

Vielleicht geht es einfacher, wenn man das Wort "Pinswap" wörtlich 
nimmt. Pcbnew muss wissen, welche Pins an einem Bauteil vertauschbar 
sind. Bei einer Diode z.B. keine, bei einem Pull-Up-Netzwerk alle bis 
auf einen. Dann ändert sich beim Pinswap nicht die Netzliste sondern nur 
die Pinnummern.

Die nächste Stufe wäre ein Gateswap innerhalb eines Bauteils. Dabei wird 
eine Gruppe von Pins mit einer anderen Gruppe vertauscht. Das scheint 
kaum schwieriger zu sein als ein Pinswap.

Gateswap zwischen Bauteilen spielt in einer anderen Liga, aber praktisch 
würde schon Stufe 1 und 2 viel helfen.

Und das ist vielleicht etwas für KiCad 42. Aber ich könnte mir 
vorstellen, dass man das tatsächlich garnicht haben will:

> Es müsste bekannt sein, welches Symbol einem neu hinzugefügten Bauteil
> zugeordnet werden soll.

von Daniel D. (Gast)


Lesenswert?

Bauform B. schrieb:
> Vielleicht geht es einfacher, wenn man das Wort "Pinswap" wörtlich
> nimmt

Kicad hat keinen Pinswap

von Wolfgang M. (wolfgangbremen)


Lesenswert?

Danke Bernd. Deine ausführliche Antwort erspart mir eigene, umfangreiche 
Versuche. Mir reichte es schon, von OpenSuse15.3 auf 15.4 umzusteigen, 
um Kicad 6.05 installieren zu können. Das neue Kicad kennt wiederum 
einige Schaltplan-Symbole nicht, die mit Kicad 5.08 unproblematisch 
waren. Ich werde wieder zurückgehen auf 5.08 und noch etwas warten.
Die Kritik an Kicad weiter unten kann ich nicht verstehen. Kicad kostet 
nichts, leistet aber sehr viel. Habe schon mehrere 4-lagige Platinen 
erstellt und bin zufrieden. Auch das Zusammenspiel mit dem Autorouter 
klappt hervorragend: Kritische Leitungen selbst legen, den Rest an 
Freerouter übergeben.
Gruß aus Bremen
Wolfgang

von Bernd (Gast)


Lesenswert?

Wolfgang M. schrieb:
> Natürlich kann ich mir die "besseren" Verbindungen merken/aufschreiben,
> im Schaltplan ändern und PCB updaten. Aber das ist äußerst mühsam.
Genau so mach ich das immer: Im Schaltplan gedreht (oder gespiegelt), 
"update PCB" und dann im Layout gedreht.
Ja, es könnte einfacher gehen, aber ich komme damit klar.

von ZF (Gast)


Lesenswert?

Wolfgang M. schrieb:
> Das neue Kicad kennt wiederum
> einige Schaltplan-Symbole nicht, die mit Kicad 5.08 unproblematisch
> waren.

Moin nach Bremen,

Die "Sprache" der Symbolbibliotheken hat sich von V5 auch V6 geändert, 
aber es gibt in V6 eine Übersetzungsfunktion, die bei meinen eigenen 
Libs auch gut funktioniert hat. Die konvertierten Libs haben deutlich 
mehr Bytes, im Texteditor siehst Du, dass jedes Symbol auch deutlich 
mehr Zeilen hat. Bernd kennt auch den Namen der Sprache, ich habe ihn 
vergessen. Die Maße werden umgerechnet, die neuen Symbole sind metrisch 
(mm), V5 war im Schaltplan noch tausendstel Zoll. Probiere doch mal, ob 
das mit Deinen Libs auch klappt, bevor Du wieder zurück zu V5 gehst.

Bezüglich OS: Tumbleweed läuft zuverlässig und ist auch bei den 
Programmen immer sehr aktuell. Vielleicht wäre das als Dualboot 
zusätzlich zu Leap was für Dich, falls Du der Zuverlässigkeit nicht ganz 
traust. Ich habe das so gemacht und bin jetzt doch nur unter Tumbleweed. 
Läuft einfach.

von Wolfgang M. (wolfgangbremen)


Lesenswert?

Hallo ZF,
hatte schon wieder zurückgestellt, aber neu auf 6.0.5 umzustellen, war 
keine große Tat. Guter Tipp! Etwas suchen, dann im Library Manager von 
EEschema betreffende Library suchen, einbinden; Kicad erkennt sie als 
"Legacy" und bietet gleich die Umwandlung an. Hat problemlos geklappt.
Obwohl das einfache Pin-/Netzvertauschen in Pcbnew (noch?) nicht klappt, 
bleibe ich natürlich bei 6.0.5.
Die Einträge in den neuen *.kicad_symbol sehen übrigens aus wie die 
Skriptsprache Lisp. Zumindest sieht es bei Emacs/Xemacs genauso aus.
Tumbleweed hatte ich mal installiert, aber das kollidiert mit meiner 
Modellbahn-SW Rocrail. Die gibt es leider nur noch als Binaries, für 
Opensuse nur noch Leap15.4.
Noch einen schönen restlichen Sonntag.

von Eins N00B (Gast)


Lesenswert?

Wolfgang M. schrieb:
> Die Einträge in den neuen *.kicad_symbol sehen übrigens aus wie die
> Skriptsprache Lisp. Zumindest sieht es bei Emacs/Xemacs genauso aus.
> Tumbleweed hatte ich mal installiert, aber das kollidiert mit meiner
> Modellbahn-SW Rocrail. Die gibt es leider nur noch als Binaries, für
> Opensuse nur noch Leap15.4.
> Noch einen schönen restlichen Sonntag.

Das sind S-Expressions. Und LISP-Programme werden üblicherweise in 
S-Expressions beschrieben, genauso wie ELISP, welches du aus Emacs 
kennst.

Ich würde LISPs nur nicht als Skriptsprachen bezeichnen. Zumindest nicht 
in der Allgemeinheit.

von Dennis E. (Gast)


Lesenswert?

Eins N00B schrieb:
> Das sind S-Expressions. Und LISP-Programme werden üblicherweise in
> S-Expressions beschrieben, genauso wie ELISP, welches du aus Emacs
> kennst.

Ich weiß auch nicht welche Hirnkrankheit jemanden dazu bewegt sich für 
S-Expressions zu entscheiden.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Dennis.

Dennis E. schrieb:
> Eins N00B schrieb:
>> Das sind S-Expressions. Und LISP-Programme werden üblicherweise in
>> S-Expressions beschrieben, genauso wie ELISP, welches du aus Emacs
>> kennst.
>
> Ich weiß auch nicht welche Hirnkrankheit jemanden dazu bewegt sich für
> S-Expressions zu entscheiden.

Weil sie schön einfach sind, und einfach zu parsen.

Siehe: https://en.wikipedia.org/wiki/S-expression

Die meisten klarschriftlesbaren Datenformate sind irgendwie so ähnlich 
aufgebaut. Statt spitzer Klammer wird was anderes genommen, manchmal 
fehlt das Zeichen am Beginn eines Ausdrucks oder es existieren ganz 
spezifische Schlüsselwörter.

Diese Lisp Notation ist recht gut definiert und überall bekannt. Was 
sollte also dagegen sprechen?

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Wolfgang.

ZF schrieb:

>> Das neue Kicad kennt wiederum
>> einige Schaltplan-Symbole nicht, die mit Kicad 5.08 unproblematisch
>> waren.

> Die "Sprache" der Symbolbibliotheken hat sich von V5 auch V6 geändert,
> aber es gibt in V6 eine Übersetzungsfunktion, die bei meinen eigenen
> Libs auch gut funktioniert hat. Die konvertierten Libs haben deutlich
> mehr Bytes, im Texteditor siehst Du, dass jedes Symbol auch deutlich
> mehr Zeilen hat.

Zum konvertieren bindest Du die Bibliotheken als Bibliotheksformat 
"Legacy" ein. Pull down Menue "Einstellungen" > "Symbolbibliotheken 
verwalten" Da ich schon seit KiCad 3 auf die Einführung der 
S-Expressions bei Symbolbibliotheken gewartet habe, gehe ich davon aus, 
das sich nicht nur 5er, sondern auch 4er und 3er Bibliotheken 
konvertieren lassen.
Zum konvertieren findet sich dann irgendwo im 
Bibliotheksverwaltungsfenster ein Button.

> Probiere doch mal, ob
> das mit Deinen Libs auch klappt, bevor Du wieder zurück zu V5 gehst.

Symbol- und Footprints, die man (erfolgreich) verwendet hat, sollte man 
auch nicht in der "normalen" Bibliothek ablegen (da würden sie bei einem 
Update überschrieben), sondern irgendwohin, wo man sie auch 
wiederfindet. Und bevorzugt diese Bibliotheken verwenden, es sei, man 
braucht etwas neues.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Wolfgang M. (wolfgangbremen)


Lesenswert?

Hallo Bernd,
alles schon passiert. Habe meine eigenen (oder hizugefügten) Symbole 
unter $HOME/kicad-local/library/local.lib. Ich meine, auch das war schon 
eine Erfindung von kicad. Das Konvertieren war ein Klacks und nach dem 
Speichern gibt es eine local.kicad_sym. Alles vollautomatisch. Man muß 
es nur eben wissen.

Die S-Expressions sehen auf den 1. Blick kompliziert aus, die vielen 
Klammern erschlagen einen erst mal. Aber dem liegt eine recht einfache 
Struktur zugrunde (darum wohl einfach zu parsen), und sofern man einen 
Editor benutzt, der zusammengehörende Klammern markieren kann 
(Emacs/Xemacs), ist das halb so schlimm.
Danke euch für die Hilfe.
Wolfgang

von Nix Murks - ein Feature! (Gast)


Lesenswert?

Max M. schrieb:
> Der Weg geht immer über den Schaltplan zum PCB.
> Alles andere ist totaler Murks.

Das ist eine sehr eingeschränkte Sichtweise.

Wenn die Aufgabe beispielsweise darin besteht, aus einer vorliegenden 
Platine ohne weitere vorhandene Dokumentation die Funktionalität bzw. 
den Schaltplan dieser Platine abzuleiten, dann ist eine Software, die 
dieses Ziel erreichbarer macht Gold wert!

Natürlich kann ich stattdessen auch mit Papier und Bleistift an die 
Aufgabe herantreten, d.h. Bauteil für Bauteil für jeden einzelnen 
Pad/Pin jede einzelne Verbindung zu allen anderen Pads/Pins auf der 
Platine brute-force-mäßig durchdeklinieren und mir damit auf Papier eine 
Netzliste erarbeiten. Und diese dann einem EDA/CAD-Werkzeug meiner Wahl 
samt der aufgepinnten Bauteile übergeben und mir auf diesem Weg mühsam 
einen Schaltplan herausarbeiten.

Da ist ein graphischer Ansatz am Rechner schon deutlich bequemer - und 
minimiert Fehler!
Etwa dergestalt, daß ich also einfach die Bauteile der bestehenden 
Platine auf einer "leeren Platine" am Rechner quasi virtuell bestücke, 
und anschließend die Verbindungen der Originalplatine zunächst einmal 
nur ganz plump (und damit eben wenig fehleranfällig) nachzeichne.

Per Knopfdruck erzeugt das Programm daraus dann eine erste 
Schaltplanansicht, in der natürlich zunächst alle Komponenten "auf einem 
Haufen" liegen und nur anhand ihrer Netzlisten miteinander 
zusammenhängen.

Wer aber eine ordentliche Kenntnis der elektronischen Grundschaltungen 
hat, der wird daraus alsbald eine sachgerechte Anordnung der Bauteile 
und letztlich einen blitzsauberen Schaltplan erzeugen können (aus dem 
man dann natürlich auch jederzeit wieder ein völlig anderes Layout 
erzeugen könnte).

Insbesondere zu Reparaturzwecken von eher klassischer Elektronik (hard 
wired) ist so ein Werkzeug fast unerlässlich. Je mehr Software in einer 
Schaltung steckt, umso weniger aussagekräftig ist ja leider die 
Schaltung als solche ;-)

Target3001 kann das Geforderte zum Beispiel:
https://server.ibfriedrich.com/wiki/ibfwikide/index.php/Reverse_Engineering
(Die Anleitung zu diesem Feature liest sich deutlich komplizierter als 
die Angelegenheit dann in der Praxis ist, wie ich gerade feststelle...)

von Gerrit J. (Gast)


Lesenswert?

Das ist ein feature für chinesische klinbuden, die Produkte nehmen und 
als eigen verkaufen. Alle anderen anwendungsszenarien sind 
selbstverschuldet.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Gerrit.

Gerrit J. schrieb:
> Das ist ein feature für chinesische klinbuden, die Produkte nehmen und
> als eigen verkaufen.

Das wird mittlerweile hier genauso versucht. In vielen Bereichen hat 
Südostasien, China und Indien mittlerweile eine Marktührerschaft.

> Alle anderen anwendungsszenarien sind
> selbstverschuldet.

Das isr richtig, aber wer macht keine Fehler?

Auf der anderen Seite ist ein reverse engineering an eigenen Produkten 
auch immer Anlass den Kram zu überdenken und damit für Verbesserungen, 
in welche Richtung auch immer.

Es gibt schon Anwendungen für ein Vorgehen Plyout > Schaltplan, aber im 
normalen Designprozess sollte das vermieden werden. Zumindest bin ich 
mit sowas immer auf die Nase gefallen, weil ich mich selber verwirrt 
habe.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Bernd (Gast)


Lesenswert?

Nix Murks - ein Feature! schrieb:
> Wenn die Aufgabe beispielsweise darin besteht, aus einer vorliegenden
> Platine ohne weitere vorhandene Dokumentation die Funktionalität bzw.
> den Schaltplan dieser Platine abzuleiten, dann ist eine Software, die
> dieses Ziel erreichbarer macht Gold wert!

Geht mit KiCad.
BTDT.
Das Originallayout wurde mit der Bitmap-zu-Bauteil-Umwandlung zu einem 
Footprint konvertiert und so als Vorlage für das Platzieren von 
Bauteilen und Leiterbahnen genommen.

Für das Hinzufügen von Bauteilen und Netzen geht man kurz in den 
Schaltplaneditor, gibt dort das Gewünschte ein und macht ein Update 
auf's PCB...

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.