Moin liebe Freunde des FR4, ich arbeite gerade an einer Platine mit 20 ADC-Kanälen. D.h. 20 identische Sub-Schaltungen im Schaltplan mit jeweils unterschiedlicher Führung der Ein- und Ausgänge. Im Schaltplan war das kein Problem: - Ersten Kanal entworfen - Mit 'Copy Block' den Kanal vervielfältigt - Netznamen der Eingänge und Ausgänge angepasst - Annotation laufen lassen Meine A3-Schaltplanseite ist nun vollgepackt mit den 20 Kanälen. 1. Frage: Wie kann man diese Redundanz im Schaltplan loswerden und trotzdem die komplette Netzliste und Bauteil-Referenzen in KiCAD erhalten? (Natürlich könnte ich für den menschlichen Leser den Kanal nur einmal im Schaltplan zeichnen und ein entsprechendes Kommentar schreiben inkl. Angabe der Nummerierung der Bauteil-Referenzen, Ein- und Ausgänge.) 2. Frage: Wie erstellt man so ein Layout ähnlich dem Copy Block Ansatz wie ich es im Schaltplan gemacht habe? Erster Ansatz: - Netzliste komplett Einlesen - Pcbnew haut alle Bauteile auf einen Haufen. Diese kann man zwar flächig verteilen lassen oder gleich platzieren lassen aber das ergibt ein Konvolut aus allen Bauteilen der 20 Kanäle ohne Anordnung gemäß der Kanäle. - Man müsste also jedes Bauteil im kompletten Haufen suchen und für jeden Kanal erneut anordnen - Copy Block ist dann nur noch bei den Tracks und Planes verwendbar. Zweiter Ansatz - Im Schaltplan alle bis auf den ersten Kanal löschen und Netzliste neu erstellen - In Pcbnew Netzliste einlesen und den ersten Kanal fertig designen - Ersten Kanal mit Copy Block im Schaltplan vervielfältigen - Ersten Kanal mit Copy Block in Pcbnew vervielfältigen - Annotation im Schaltplan laufen lassen sowie Netzliste neu erstellen - In Pcbnew, für alle Kanäle ausser dem ersten, jede Bauteil-Referenz manuell umbenennen, so dass die Referenzen jedes Kanal mit denen im Schaltplan übereinstimmen - Erst jetzt in Pcbnew die Netzliste erneut einlesen Nachteil Ansatz 1: Alle Bauteile müssten manuell platziert werden. Ansatz gestrichen! Nachteil Ansatz 2: Alle Bauteile müssten manuell referenziert werden. Das ist zwar auch nervig aber schon viel besser als Ansatz 1. Was sagt Ihr dazu? Was wäre Euer Ansatz? Gruß Jens
Hallo Jens. Jens .. schrieb: > Im Schaltplan war das kein Problem: > - Ersten Kanal entworfen > - Mit 'Copy Block' den Kanal vervielfältigt > - Netznamen der Eingänge und Ausgänge angepasst > - Annotation laufen lassen Bessere Idee: Den Kanal in einen Subschaltplan einfügen, und den Subschaltplan entweder mehrmals einfügen, oder Kopieren (als Datei) und die Kopien als Subschaltplan einfügen. > > Meine A3-Schaltplanseite ist nun vollgepackt mit den 20 Kanälen. > Darum macht man ja Subschaltpläne/hierarschiche Schaltpläne. ;O) > 1. Frage: Wie kann man diese Redundanz im Schaltplan loswerden und > trotzdem die komplette Netzliste und Bauteil-Referenzen in KiCAD > erhalten? Darum macht man ja Subschaltpläne/hierarschiche Schaltpläne. ;O) Näheres ist hier beschrieben: https://www.mikrocontroller.net/wikifiles/7/79/HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf > > 2. Frage: Wie erstellt man so ein Layout ähnlich dem Copy Block Ansatz > wie ich es im Schaltplan gemacht habe? > > Erster Ansatz: > - Netzliste komplett Einlesen > - Pcbnew haut alle Bauteile auf einen Haufen. Diese kann man zwar > flächig verteilen lassen oder gleich platzieren lassen aber das ergibt > ein Konvolut aus allen Bauteilen der 20 Kanäle ohne Anordnung gemäß der > Kanäle. > - Man müsste also jedes Bauteil im kompletten Haufen suchen und für > jeden Kanal erneut anordnen Nein. n PCBnew "T" drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das "m" und die Komandozeile in Eagle. Noch ein Ansatz: ersten Kanal in PCBnew erstellen > Block Copy past > von Hand neue Referenzen vergeben. noch einer: ersten kanal auf separater Platine layouten, und dann per append board einfügen....von Hand neue Referenzen vergeben. Mit freundlichem Gruß:Bernd Wiebus alias dl1eic http://www.l02.de
Hallo Bernd, vielen Dank für Deine Antwort. Ich hab da noch ein Frage bzgl. der Skalierbarkeit Deines Vorschlags. Bernd W. schrieb: >> 1. Frage: Wie kann man diese Redundanz im Schaltplan loswerden und >> trotzdem die komplette Netzliste und Bauteil-Referenzen in KiCAD >> erhalten? > > Darum macht man ja Subschaltpläne/hierarschiche Schaltpläne. ;O) > > Näheres ist hier beschrieben: > https://www.mikrocontroller.net/wikifiles/7/79/HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf Danke für die gute Erklärung, das ist sehr hilfreich für mich. Aber zu meiner Frage bzgl. der Redundanz sind Subschaltpläne/hierarschiche Schaltpläne doch IMHO keine Lösung. Es sind dann halt 20 Subschaltplan-Blöcke anstatt 20 komplette Schaltungen. Das ist zwar definitiv ordentlicher und übersichtlicher aber die Lösung ist m.E. nicht skalierbar. Nehmen wir mal an, ich müsste 200 anstatt 20 Kanäle unterbringen. Wie würdest Du da vorgehen? Diese Problemstellung klingt so, als müssten diese schon viele vor mir gehabt haben. Für mich wäre am logischsten: Die Schaltung einmal komplett zeichnen und im Kommentar daneben eine Formel für die Bauteile definieren, so dass man sich jede Referenz anhand der Kanalnummer ausrechnen kann... Quasi wie bei Iterationen einer for-Schleife beim Programmieren. DAS wäre keine Redundanz ...wie man sieht bin ich bin mit Softwareentwicklung mehr vertraut als mit ECAD. :-) > Noch ein Ansatz: > ersten Kanal in PCBnew erstellen > Block Copy past > von Hand neue > Referenzen vergeben. > > noch einer: ersten kanal auf separater Platine layouten, und dann per > append board einfügen....von Hand neue Referenzen vergeben. Ich erkenne hier prinzipiell keinen Unterschied zu meinem zweitem Ansatz. Vielleicht war mein Posting auch zu lang und Du hast nicht alles gelesen :-) Fazit ist, man kommt nicht um die manuelle Vergabe der Referenzen herum? Bei 20 Kanälen mit je 12 Bauteilen heisst das für mich 228 mal manuell Referenzieren. OK, kann ich machen. Und nun wieder mein fiktives Beispiel von oben mit den 200 Kanälen.... 2338 mal manuell Referenzieren? :-/ Gruß Jens
Hallo Jens. Jens .. schrieb: > Hallo Bernd, > Nehmen wir mal an, ich müsste 200 anstatt 20 Kanäle > unterbringen. Wie würdest Du da vorgehen? Diese Problemstellung klingt > so, als müssten diese schon viele vor mir gehabt haben. Naja. Bei solchen Schaltungen ist es im dann eher üblich, tatsächlich statt einer Riesenschaltung auf einer Platine dann auch komplette Subplatinen zu verwenden. Erleichtert auch Reperatur und Fehlersuche. In Deinem Beispiel würde man z.B 10 gruppige Platinen aufbauen, die in Backplanes stecken, die 20 Steckplätze haben. Dann hätte man die 200 Gruppen beisammen. Du würdest aber nur ein Layout für die Steckkarte machen, und eins für die Backplane und natürlich noch Stromversorgung und dass, was diese Gruppen ansprechen soll. z.B. Rechner (der auf einer extra Steckkarte sitzen könnte, aber nicht muss) oder ein Netzwerkinterface, das ebenfalls auf einer extra Steckkarte aufgebaut sein könnte. > Für mich wäre am logischsten: Die Schaltung einmal komplett zeichnen und > im Kommentar daneben eine Formel für die Bauteile definieren, so dass > man sich jede Referenz anhand der Kanalnummer ausrechnen kann... Quasi > wie bei Iterationen einer for-Schleife beim Programmieren. DAS wäre > keine Redundanz ...wie man sieht bin ich bin mit Softwareentwicklung > mehr vertraut als mit ECAD. :-) Ja. Aber da in der Realität alle Bauteile einer solchen Gruppe tatsächlich vorhanden sind (auch da gibt es Ausnahmen, z.B. Bestückungsvarianten), benötigen sie echten Platz auf der Platine. Und Du solltest Dir, auch wenn alle Gruppen gleich aufgebaut sind, trozdem ansehen, wie sie ALLE ins Gehäuse passen. Es langt ja eine Ecke von z.B. einem Netzteil, einer anderen Platine oder die Mutter für die Verschraubung eines Tragegriffes, die mit einem einzelnen Bauteil deiner Platine kollidiert, um Ärger zu haben. Möglich, dass Du aus Platz oder Temperaturgründen einzelne Gruppen anders Layouten musst. D.h. für das Layout selber kannst Du das nicht machen, da solltest Du wirklich alles "plazieren". Im Schaltplan sieht das möglicherweise anders aus. Schaltpläne sind viel abstrakter. Aber nicht jeder hat einen Viewer oder durchsuchbares PDF, um sich den Schaltplan anzusehen. Leider, leider, ist es immer noch der Fall, dass Du mit einem klassischen Papierschaltplan auf Fehlersuche und Reparatur bist (und für Notfälle solltest Du diese Option auch immer noch haben). In dem Falle ist es besser, auch im Schaltplan die Komponenten explizit dargestellt zu bekommen, statt sie sich selber rekursiv aus einer Formel zu überlegen. ;O) Das gilt auch für PDF oder andere grafische Formate. Die Netzliste ist eine andere Nummer..... Es gibt allerdings nach meiner Ansichts bessere Verfahren, um Bauteile in Unterschaltplänen zu Referenzieren. Und zwar nicht rein über Nummern, sondern über Prefixe und Suffixe, die den speziellen Unterschaltplan direkt beim Namen nennen. Wenn es Menschen lesen sollen, ist ausser in ganz einfach gestrickten Fällen klarlesbarer Text oder eine Kombination aus klarlesbarem Text und Zahlen besser als nur Zahlen. > >> Noch ein Ansatz: >> ersten Kanal in PCBnew erstellen > Block Copy past > von Hand neue >> Referenzen vergeben. >> >> noch einer: ersten kanal auf separater Platine layouten, und dann per >> append board einfügen....von Hand neue Referenzen vergeben. > > Ich erkenne hier prinzipiell keinen Unterschied zu meinem zweitem > Ansatz. Vielleicht war mein Posting auch zu lang und Du hast nicht alles > gelesen :-) Fazit ist, man kommt nicht um die manuelle Vergabe der > Referenzen herum? Richtig. Er ist nicht prinzipiell anders, er nutzt lediglich andere Methoden, wie zum einen copy¬paste, und zum anderen die "Append Board" Funktion. Das manuelle Vergeben der Referenz bleibt leider. > > Bei 20 Kanälen mit je 12 Bauteilen heisst das für mich 228 mal manuell > Referenzieren. OK, kann ich machen. > > Und nun wieder mein fiktives Beispiel von oben mit den 200 Kanälen.... > 2338 mal manuell Referenzieren? :-/ Praktisch wirst Du nur sehr selten Platinen finden, wo komplette Baugruppen mehr als 16-20 mal auftreten. Aber es gibt halt doch so Fälle, und dann hast Du recht. Auf der anderen Seite: Die Dateiformate von KiCad sind textbasiert und offen. Die Boarddaten enthalten sogar in erster Linie S-Expressions. Was spricht dagegen, Dir ein Skript einfallen zu lassen, dass die Referenzierung macht? > ...wie man sieht bin ich bin mit Softwareentwicklung > mehr vertraut als mit ECAD. :-) Daher wirst Du das vermutlich besser machen als ich es könnte. Beispiele für so etwas findest Du hier: https://www.mikrocontroller.net/articles/KiCAD#Tools und ein konkretes Beispiel: Beitrag "Re: KiCAD: Baugruppen im PcB editor getrennt gruppieren" Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
:
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.