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.
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.
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.
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 |
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 ;-)
@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.
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
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.
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.
Bauform B. schrieb: > Vielleicht geht es einfacher, wenn man das Wort "Pinswap" wörtlich > nimmt Kicad hat keinen Pinswap
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
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.
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.
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.
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.
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.
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
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
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
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...)
Das ist ein feature für chinesische klinbuden, die Produkte nehmen und als eigen verkaufen. Alle anderen anwendungsszenarien sind selbstverschuldet.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.