Hallo, mein folgendes Setup/Problem: Ich habe den Aufbau MCU, mehrere Port-Expander, und mehrere Treiber ICs. Port-Expander und Treiber sind jeweils gleich, von ersteren habe ich drei Stück, von letzteren vier. Expander und Treiber haben jeweils ihren speziellen Aufbau mit eigenen Komponenten (Kondensatoren, Widerständen, etc.) und zumindest der Treiber braucht ein durchdachtes Platinenlayout. Da die Komponenten mehrmals auf der Platine sind, würde ich gerne den Aufbau entsprechend modularisieren, also im Schaltplan eine Expander-Einheit mit passiven Komponenten als eine Bauteilgruppe einfügen, und diese dann entsprechend "verschaltet" als Platinenbauteil als fertiges Footprint in PCBNew haben. Dasselbe mit den Treiber-ICs. Das erspart mir Arbeit, ist organisiert, und die einzelnen Gruppen sehen auch gleich aus. Leider bietet sich für mich in KiCad keine Möglichkeit an das richtig zu machen. Ich habe zwar zumindest im Platinenlayouter die Möglichkeit Komponenten zu gruppieren, allerdings müsste ich dann beim Kopieren die Nets entsprechend anpassen, und Änderungen an einer Gruppe übertragen sich nicht auf andere. Für die MCU-Gruppe habe ich das so gelöst, dass ich mir ein Template erstellt habe, auf dem das Projekt basiert. Das funktioniert da super, aber ich sehe keine Möglichkeit mehrere Templates miteinander (mehrfach) zu kombinieren. Ich glaube das Grundproblem wird auch hier beschrieben: https://forum.kicad.info/t/item-groups-and-copy/24499/4 Hat jemand von euch eine Lösung für sich gefunden um das am zufriedenstellensten umzusetzen? Vielleicht gibt es online auch Beispielprojekte, die das Problem angehen und herunterladbar sind. Vielen Dank und liebe Grüße Matthias
:
Bearbeitet durch User
Hallo, jetzt kann ich endlich eine Frage ohne Antworten beantworten, und so ein bisschen zurückgeben. Ich habe das Problem weitaus zufriedenstellend mit dem Plugin "Replicate Layout" lösen können. Voraussetzung dafür ist, dass man die entsprechende Baugruppe als "hierarchischen Schaltplan" auskoppelt. Grüße
Hallo Keks F. Keks F. schrieb: > Ich habe das Problem weitaus zufriedenstellend mit dem Plugin "Replicate > Layout" lösen können. Danke für diese Mitteilung. Dieses Plugin muss ich mir bei Gelegenheit auch einmal näher ansehen. > Voraussetzung dafür ist, dass man die > entsprechende Baugruppe als "hierarchischen Schaltplan" auskoppelt. So habe ich auch immer angefangen, aber die Umbenennung in PCBnew später dann doch manuell mit einem Texteditor gemacht. Das Auskoppeln als hierarchischen Schaltplan ist ja auch Voraussetzung dafür, die Baugruppe auch wieder mehrmals in EEschema einbinden zu können, mit problemloser automatischer Umbenennung in EEschema. Du kannst allerdings keine Änderungen an einem Bauteil einer dieser Baugruppen vornehmen (z.B. andere Widerstandswerte) weil alle auf diesen einen hierarchischen Schaltplan referenzieren. Ausweg : Den hierarchischen Schaltplan unter anderem Namen Speichern und separat als hierarchischen Schaltplan einbinden. Änderungen dort sind unabhängig vom anderen hierarchischen Schaltplan und vice versa. Tipp : Eine Bibliothek mit hierarchischen Schaltplänen für immer wiederkehrende Aufgaben anlegen. Port Expander, Levelshifter z.B. braucht man ja immer wieder. Wenn Du den hierarchischen Schaltplan grundsätzlich unter anderem Namen im Projektordner speicherst, und darauf referenzierst, musst Du auch keine Angst haben, das Änderungen anderswo auf Deinen aktuellen Schaltplan Einfluss nehmen. Und beim Archivieren geht er auch nicht verloren. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
:
Bearbeitet durch User
Hallo Bernd, vielen Dank für deine Nachricht! Tatsächlich hatte ich vorhin Probleme mit Änderungen an den Schaltplanklonen. Ich wollte eine LED durch eine andere austauschen (generell, also für alle Elemente), scheinbar kam es da zu einem Problem beim automatischen Annotieren und die Referenznamen überlappten sich mit anderen Bauteilen. Das aufzuräumen war ziemlich nervig, ich denke mal es handelt sich um einen Bug. Abseits davon ist es das erste Mal, dass ich mich mit hierarchischen Schaltplänen auseinandersetzen musste, meine Schaltungen waren in der Hinsicht (und wahrscheinlich allgemein) sehr simpel. Glücklicherweise hatte ich jetzt eine direkte praktische Anforderung dafür und werde das jetzt auch in weiterem bisherigen Umfang benutzen. Das Plugin ist echt gut, allerdings kam es mir jetzt regelmäßig vor, dass beim Replizieren einige Elemente nicht selektiert und kopiert worden sind, unabhängig von den Einstellungen. Da würde ich aufpassen. Ich machte dazu auch schon einen BR auf. Grüße Matthias
Hallo Matthias. Keks F. schrieb: > Tatsächlich hatte ich vorhin Probleme mit Änderungen an den > Schaltplanklonen. > Ich wollte eine LED durch eine andere austauschen (generell, also für > alle Elemente), scheinbar kam es da zu einem Problem beim automatischen > Annotieren und die Referenznamen überlappten sich mit anderen Bauteilen. > Das aufzuräumen war ziemlich nervig, ich denke mal es handelt sich um > einen Bug. Beobachte einmal genau was passiert. Eventuell auch mal nicht über KiCad, sondern indem Du Dir die Dateien auch einmal mit einem Editor ansiehst. Wenn Du einen Verdacht hast, versuche den Fehler geziehlt zu produzieren. Wenn das funktioniert, ist das sehr wertvoll in Bug Reports. > > Abseits davon ist es das erste Mal, dass ich mich mit hierarchischen > Schaltplänen auseinandersetzen musste, meine Schaltungen waren in der > Hinsicht (und wahrscheinlich allgemein) sehr simpel. Glücklicherweise > hatte ich jetzt eine direkte praktische Anforderung dafür und werde das > jetzt auch in weiterem bisherigen Umfang benutzen. Ich habe in KiCad 4 einmal sehr ausführlich mit hierarchischen Schaltplänen herungespielt und meine Erfahrungen in einer Anleitung hier zusammengefasst: https://www.mikrocontroller.net/wikifiles/7/79/HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf Das funktionierte exakt noch so in KiCad 5, und funktionierte auch Anfang dieses Jahres noch grundsätzlich von der Struktur und Idee her auch noch in KiCad 6, auch wenn sich das Dateiformat der Schaltplandateien geändert hat. Das muss aber nicht so bleiben.... Das mit "simplen Schaltungen" auszuprobieren ist der richtige Weg. So läßt sich noch einfach nachvollziehen, was da im Hintergrund abläuft. Wenn es einmal klar ist, hat man auch eine Chance, das in komplizierteren Fällen zu erkennen. > > Das Plugin ist echt gut, allerdings kam es mir jetzt regelmäßig vor, > dass beim Replizieren einige Elemente nicht selektiert und kopiert > worden sind, unabhängig von den Einstellungen. > Da würde ich aufpassen. > Ich machte dazu auch schon einen BR auf. Mit Plugins habe ich mich noch nicht auseinander gesetzt. Ich habe allerdings schon Python Skripte geschrieben, die mir KiCad Dateien manipuliert haben. Wie man so etwas schreibt, damit es als Plugin funktioniert, muss ich mir noch näher ansehen. Aber nicht jetzt, ich bin auf der Arbeit zimlich eingespannt...... Für die Phython Skripte war es immer erforderlich, KiCad zu beenden und neu zu starten, damit die geänderte Datei überhaupt eingelesen wurde. Ich stelle mir jetzt einfach naiv einmal vor, ein Plugin wäre ein Programm oder ein Skript, das gestartet wird, die Datei(en) manipuliert und dann eine Rückmeldung gibt, damit KiCad die Dateien neu und aktualisiert einließt. Bug Reports sind extrem wichtig für Programmierer, weil so kriegen sie überhaupt erst einmal mit, wenn was nicht funktioniert. In ihren eigenen Tests hatte wahrscheinlich immer alles funktioniert. Denk aber daran, den Fehler unmittelbar vor der Erstellung eines Bug Reports mit der frischsten Version von KiCad die schon alle aktuellen Bugfixes hat oder einer experimentellen Version zu reproduzieren. Möglicherweise ist der Fehler ja schon behoben..... Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
:
Bearbeitet durch User
Hallo, Bernd W. schrieb: > Bug Reports sind extrem wichtig für Programmierer, weil so kriegen sie > überhaupt erst einmal mit, wenn was nicht funktioniert. In ihren eigenen > Tests hatte wahrscheinlich immer alles funktioniert. > Denk aber daran, den Fehler unmittelbar vor der Erstellung eines Bug > Reports mit der frischsten Version von KiCad die schon alle aktuellen > Bugfixes hat oder einer experimentellen Version zu reproduzieren. > Möglicherweise ist der Fehler ja schon behoben..... danke für die lieben Worte, aber ich bin vom Fach. :) Die Fragen sind für mich fairerweise folgende: -Gerade beim ersten Mal: Bin ich da selber Schuld? -Wie viel Aufwand ist der Report für mich? Gerade an letzterem bin ich jetzt zwei Mal gescheitert. Es ist mir nicht gelungen im Programm selber, oder über Suchen Log-Fenster oder -Dateien zu finden. Entsprechende Anfragen online gehen in die Richtung "Wenn du einen Bug hast, gehe da und da hin um die Versionsinformation zu bekommen". Ja, toll. Merkwürdig. Gerade beim Bugs, die Plugins betreffen, werden irgendwoher Logs gezeigt. Vielleicht weißt du ja aus dem Stehgreif, wo die sind. :) Grüße Kein Funker aber scheinbar fast in Rufweite :) EDIT: Mein Stand jetzt ist, es gibt gar keine Logs, aber einige Plugins schreiben ihre eigenen Logdateien.
:
Bearbeitet durch User
Hallo Matthias. Keks F. schrieb: > danke für die lieben Worte, aber ich bin vom Fach. :) Umso besser! Ich übrigens nicht, und weil ich weiss, dass das auch für andere gilt, die hier mitlesen, halte ich es für besser, solche Themen trotzdem gelegentlich detailiert anzusprechen. Ich denke, dass ich in Foren nicht nur meinem direkten Gegenüber antworte, sondern vielen anderen auch, die ebenfalls mitlesen, und aus eigener Erfahrung weiss ich, das solche Randbemerkungen oft sehr hilfreich sein können, wenn ich wo nicht Bescheid weiss. Beziehe das daher auch nicht so direkt auf Dich. > -Wie viel Aufwand ist der Report für mich? > > Gerade an letzterem bin ich jetzt zwei Mal gescheitert. Es ist mir nicht > gelungen im Programm selber, oder über Suchen Log-Fenster oder -Dateien > zu finden. Entsprechende Anfragen online gehen in die Richtung "Wenn du > einen Bug hast, gehe da und da hin um die Versionsinformation zu > bekommen". > Ja, toll. > Merkwürdig. ~~~~ ~~~ ~~ ~ > Vielleicht weißt du ja aus dem Stehgreif, wo die sind. :) Solange ich mich mit KiCad beschäftige, habe ich nie davon gehört, das KiCad selber Logdateien anlegt. Vieleicht ganz früher mal, vor 2010 oder so...... Die Teile von KiCad, die "Fehler Reporte" erzeugen, wie ERC oder DRC ec. , was man auch als eine Form von "Log" auffassen könnte, fragen explizit nach, wo und unter welchem Namen die gespeichert werden sollen. > Gerade beim Bugs, die Plugins betreffen, werden irgendwoher Logs > gezeigt. > Plugins sind ja auch eigentlich externe Programme, die auf gute Kollaboration mit KiCad gezüchtet sind. > > EDIT: > Mein Stand jetzt ist, es gibt gar keine Logs, aber einige Plugins > schreiben ihre eigenen Logdateien. Das ist die Antwort, denke ich. Das mit dem Aufwand bei Bug Reports kenne ich, und rührt daher, dass ich, um eine aktuelle KiCad Version zu bekommen, diese frisch compilieren muss, da gerade Debian (ausser in Testing) keine aktuellen Versionen im Repository hat. Ich bin aber weder ITler noch Programmierer, und hangele mich halt durch die Computertechnik so durch, wie ich es gerade brauche. C bzw. C++ habe ich ausser ein paar Anfängen nie wirklich gelernt, und eine Compilierung eines Programmes wie KiCad ist jedesmal ein abenteuer für sich, weil sich doch immer viel Neues ergeben hat, in dass ich mich zumindest oberflächlich einlesen muss. Das kann viel Zeit und Aufwand bedeuten. > > Grüße > Kein Funker aber scheinbar fast in Rufweite :) Im Netz spuken mehrere Wohnorte von mir herum. Ich selber habe einen Nebenwohnsitz für die Arbeit, und das Netz hat ein Gedächnis für ehemalige Wohnsitze von mir. Da ich nur ungerne Auto fahre, ziehe ich also bei neuen Arbeitsplätzen auch schon mal öfter um. ;O) Aktuell sitze ich in der Einflugschneise eines Großflughafens. Das ist aber kein Grund, mich zu bedauern, weil ich ein dickes Fell habe. ;O) Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
Bernd W. schrieb: > Für die Python-Skripte war es immer erforderlich, KiCad zu beenden und > neu zu starten, damit die geänderte Datei überhaupt eingelesen wurde. Dachte ich auch. pcbnew.Refresh() löst das Problem.
Max G. schrieb: >> Für die Python-Skripte war es immer erforderlich, KiCad zu beenden und >> neu zu starten, damit die geänderte Datei überhaupt eingelesen wurde. > > Dachte ich auch. pcbnew.Refresh() löst das Problem. Danke für den Tipp. Ich bin mir aber sicher, das zu KiCad 3 und zu anfänglichen KiCad 4 Zeiten, also vor irgendwas 10 Jahren, dieses noch nicht existierte. ;O) Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
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.