Forum: Platinen KiCad: Frage zu Masseflächen & gerouteten Block kopieren


von klayouter (Gast)


Lesenswert?

Hallo

Ich möchte ein erstes Layout mit KiCad erstellen und habe in 
verschiedenen Tutorials die Info gefunden, sämtliche Gnd Pads nicht zu 
routen, sondern diese nach dem Routing Prozess über eine Massefläche 
automatisch verbinden zu lassen.

Das funktioniert zwar eingeschränkt, allerdings können aufgrund der 
vorgegebenen Abstände sowie bei Inseln nicht alle Gnd Pads verbunden 
werden. Außerdem meckert der DRC nach wie vor alle GND Pads an. Wäre es 
hier also sinnvoller, auch alle GND Pads zu routen und erst am Schluss 
die Massefläche einzufügen?

Als Leiterbahnbreite habe ich die Voreinstellung (8mil) für Signale 
belassen, für die Stromversorgung (max 500mA) habe ich 16mil gewählt. 
Welche Einstellungen sind nun für die Zone Properties sinnvoll? Ich habe 
dort für Clearance und Minimum Width ebenfalls 8mil gewählt.


Weiterhin wäre noch interessant, ob es möglich ist, in ESchema ein 
vorhandenes Subsheet ein zweites Mal einzufügen und in PcbNew den 
bereits gerouteten Block des ersten Subsheets zu kopieren und 
unter/neben dem Ursprungsblock einzufügen. Andernfalls müsste zweimal 
der gleiche Part exakt gleich positioniert und geroutet werden, was 
sicherlich schwierig ist, möchte man es wirklich identisch haben.

Bin für alle Tipps dankbar!

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo klayouter.


> und habe in
> verschiedenen Tutorials die Info gefunden, sämtliche Gnd Pads nicht zu
> routen, sondern diese nach dem Routing Prozess über eine Massefläche
> automatisch verbinden zu lassen.

Mmmmh ja, das hängt auch etwas von Deinem Routing Stil ab. So richtig 
sinnvoll wird das erst, wenn Du von Vorneherein diese Massefläche für 
(fast) nichts anderes verwendest. Das ist aber bei zweilagig nur 
eingeschränkt machbar.-

>
> Das funktioniert zwar eingeschränkt, allerdings können aufgrund der
> vorgegebenen Abstände sowie bei Inseln nicht alle Gnd Pads verbunden
> werden. Außerdem meckert der DRC nach wie vor alle GND Pads an. Wäre es
> hier also sinnvoller, auch alle GND Pads zu routen und erst am Schluss
> die Massefläche einzufügen?

Genau so mache ich das auch. Ich route alle GNDs, und lege anschliessend 
die Masseflächen.

>
> Als Leiterbahnbreite habe ich die Voreinstellung (8mil) für Signale
> belassen, für die Stromversorgung (max 500mA) habe ich 16mil gewählt.
> Welche Einstellungen sind nun für die Zone Properties sinnvoll? Ich habe
> dort für Clearance und Minimum Width ebenfalls 8mil gewählt.

Hängt von Deinen Spannungen ab. Und von sonstigen Randbedingungen. Ich 
sage immer, so grob wie möglich, so fein wie nötig.....


> Weiterhin wäre noch interessant, ob es möglich ist, in ESchema ein
> vorhandenes Subsheet ein zweites Mal einzufügen

Ja. Das ist möglich, wenn Du gewisse Sachen berücksichtigst.
Ich habe dazu mal etwas geschrieben: 
http://www.mikrocontroller.net/articles/KiCAD#Tipps.26Tricks:_Building_Blocks
Die Sache ist schon was älter, klappt aber immer noch so. Ich habe in 
den aktuellen kicad releases Hinweise gefunden, daß das noch einfacher 
geworden sein könnte, aber hatte bisher keine Zeit, das auszutesten.


> und in PcbNew den
> bereits gerouteten Block des ersten Subsheets zu kopieren und
> unter/neben dem Ursprungsblock einzufügen.

Auch das ist möglich. Wenn Du eine schon einmal geroutete Subplatine 
hast, kannst Du diese mit "PCBnew Pulldownmenue Leiste: Datei > Platine 
hinzufügen" einbinden. Leider musst Du zur Zeit dann die 
Bauteilreferenzen noch von Hand eintragen. Sonst setzt Dir PCBnew beim 
Einlesen der Netzliste die einträge in der Netzliste auf die Platine, 
und schmeisst dir das Eingebundene Weg, wenn Du unvorsichtig mit den 
Schaltern bist.

> Andernfalls müsste zweimal
> der gleiche Part exakt gleich positioniert und geroutet werden, was
> sicherlich schwierig ist, möchte man es wirklich identisch haben.

Das ginge auch noch per Kopieren. Mit der linken Maustaste gedrückt ein 
Rechteck aufziehen. Beim loslassen der linken Maustasste poppt ein 
Fenster auf, und fragt, ob gruppiert werden soll. Dieses bestätigen. 
Dann hast du anschliessend einen Rahmen, der an der Maus hängt und 
verschoben werden kann. Wenn Du die Gruppe verschoben hast, rechts 
klicken. Es poppt ein Fenster auf, und dort wählst Du "Gruppe kopieren". 
Eine Kopie der Gruppe ist jetzt am verschobenen Platz.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic

http://www.dl0dg.de

von klayouter (Gast)


Lesenswert?

Vielen Dank für die ausführliche Antwort.

Ich bin derzeit dabei, das Problem mit den nicht verbunden Masseflächen 
zu lösen. Ich hatte dazu Infos gefunden, dass man einfach innerhalb der 
Massefläche eine Via setzen kann, um dann über den Bottomlayer eine 
Masse-Insel anzubinden.

Das klappt auch zunächst und den beiden Vias sowie der dazwischen 
liegenden Leiterbahn wird Gnd als Netz zugewiesen. Wenn ich nun jedoch 
ein Zone Refill veranlasse, verlieren die beiden Vias sowie deren 
Verbindung das Gnd Netz und sind anscheinend keinem Netz mehr 
zugeordnet, womit auch die Verbindung der Masseflächen nicht mehr 
vorhanden ist.

Ist das ein bekanntest Problem oder ist es eine falsche Vorgehensweise?

Den zweimal vorkommenden Part werde ich anschließend mit der 
beschriebenen Vorgehensweise versuchen, zu duplizieren.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo klayouter.


> Ist das ein bekanntest Problem oder ist es eine falsche Vorgehensweise?

Das ist ein bekanntes "Problem".

Manchmal gehe ich so vor, das ich, weil ich eh meist ein Subschematic 
habe, wo ich Texte, Leiterplattenumrisse und anderen Kram unterbringe, 
dort (oder in einem weiteren Subschematic ein Schematic habe, wo einfach 
nur durchkontaktierte Bohrungen (die ich als Symbol und Footprint 
angelegt habe) mit GND (oder einem anderen Netz, abhängig davon, auf 
welchem Potential die Fläche nun liegen soll), verbinde.

Beim einlesen der Netzliste werden diese Vias nun wie Bauteile 
behandelt, und können zum "stitching" verteilt werden.

>
> Den zweimal vorkommenden Part werde ich anschließend mit der
> beschriebenen Vorgehensweise versuchen, zu duplizieren.

Gut. vieleicht findest Du auch noch ein vereinfachtes Vorgehen.
Viel Erfolg.

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

von klayouter (Gast)


Lesenswert?

Bernd Wiebus schrieb:
> Gut. vieleicht findest Du auch noch ein vereinfachtes Vorgehen.
> Viel Erfolg.

Es hat letztendlich so funktioniert, wie von dir beschrieben. Zuerst im 
Schaltplan das Subsheet ein zweites Mal einfügen (wie im Building Blocks 
Pdf beschrieben) und annotieren, dann im Layout den zu duplizierenden 
Part kopieren und im kopierten Teil alle Referenzen anpassen und zuletzt 
die Netzliste einlesen.

Das Anpassen der Referenzen jedes einzelnen Bauteils war der 
zeitaufwendigste Teil aber es ging sicher schneller, als den Part 
nochmal zu routen und es sieht eben auch schön symmetrisch aus :)

Das einzige, wo ich noch keine Lösung finden konnte, ist die Anpassung 
aller Reference Labels auf eine einheitliche Schriftgröße. Gibt es dafür 
eine versteckte Funktion oder auch einen "Trick"?

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo klayouter.


> Das Anpassen der Referenzen jedes einzelnen Bauteils war der
> zeitaufwendigste Teil aber es ging sicher schneller,

> Das einzige, wo ich noch keine Lösung finden konnte, ist die Anpassung
> aller Reference Labels auf eine einheitliche Schriftgröße. Gibt es dafür
> eine versteckte Funktion oder auch einen "Trick"?

Für beide Teile zusammen eine Antwort:

Jain. Meines Wissens gibt es keine versteckte Funktion (ist für open 
source auch eher untypisch), und auch keinen geschickten Workaround.

Aber: In Eagel würde man dafür ein ULP verwenden. In Kicad geht das 
grundsätzlich auch. Die Fileformate sind offen und in "Klartext". Du 
kannst Dir nun in einer Dir persönlich handlichen aber ansonsten 
x-beliebigen Programmiersprache, mit der Du Text-Files manipulieren 
kannst, ein "ULP" für Kicad schreiben. Einziger Hinkefuß: Du müsstest 
die zu bearbeitende Datei erst aus den Kicad Klauen lösen, indem Du bei 
.brd Dateien z.B. PCBnew schliesst, dann .brd wie gewünscht 
manipulierst, und PCBnew wieder öffnest.

Als ein Beispiel (für Windows) schau mal in das File Repository auf der 
Kicad user Seite ( http://tech.groups.yahoo.com/group/kicad-users/ )nach 
VaR_Manager_100.zip von sp7dqr. Da ist ein Programm enthalten, mit dem 
Du die Sichtbarkeit und die Schriftgröße manipulieren kannst. (Program 
to manage Value and Reference of Elements. It is possible to switch 
on/off visibility of Value or/and Reference for all elements on the PCB 
and change size and thickness of characters (/10 or x10). Do not forget 
to make a copy of BRD file!)
Als ich noch einen Windows-Dienstrechner hatte, hatte ich das mal 
benutzt, um die Sichtbarkeiten an- und abzuschalten.

Das ganze ist aber schon ein paar Jahre her. Ob das aktuell noch so 
geht, weiß ich nicht....und mit den Größen habe ich das nie gemacht. Ich 
stehe bei den Schriftgrößen auf dem Standpunkt: So groß wie möglich, so 
klein wie nötig. Das heisst aber, daß ich meine Schrift immer an die 
örtlichen Gegebenheiten anpassen muss.

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

von klayouter (Gast)


Lesenswert?

> Das ganze ist aber schon ein paar Jahre her. Ob das aktuell noch so
> geht, weiß ich nicht....und mit den Größen habe ich das nie gemacht. Ich
> stehe bei den Schriftgrößen auf dem Standpunkt: So groß wie möglich, so
> klein wie nötig. Das heisst aber, daß ich meine Schrift immer an die
> örtlichen Gegebenheiten anpassen muss.

Ich werde mir das Tool mal anschauen. Die Schriftgröße ist sicher auch 
eine Frage des persönlichen Geschmacks. Ich hätte gerne für alle 
Schriften eine Standardgröße und wenn irgendwo wenig Platz sein sollte, 
kann ich an dieser Stelle die Schrift immer noch verkleinern.

Danke für die Tipps.

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.