mikrocontroller.net

Forum: Platinen [KiCAD] Ground Stitching


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Dennis X. (debegr92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
für ein zwei neue Projekte habe ich mal begonnen KiCAD zu benutzen. Die 
letzten Jahre habe ich alles mit Eagle gemacht und möchte meinen alle 
Tricks und Hacks raus zu haben.
In KiCAD war der Einstieg etwas schwerer aber der Router ist halt schon 
etwas besser als der von Eagle. Auch die 3D Anzeige ist ziemlich chic.

Jetzt komme ich an den Punkt, dass meine Projekte fertig geroutet sind 
und ich einige abschließende Sachen bearbeiten möchte.

1. Ist es möglich einfach ein einzelnes Via in eine Ground Plane zu 
legen? Also TOP Kupfer GND, Bottom Kupfer GND und jetzt einfach das 
ganze zu verbinden. Erster Ansatz: Via kopieren, Netzname genau so 
nennen und auf Verbindung hoffen. Dies schlägt leider fehl. Ein 
Workaround aus dem Internet besagt, von einem GND Pad weg routen und 
dann ein Via setzen. Leider hab ich nicht überall Pads und das will auch 
kein Mensch wirklich ernsthaft machen...
Zweiter Ansatz: Das ganze etwas abstrakt im Text Editor machen. Eine 
Zeile mit einem Segment von x->y; Dann ein Via direkt bei y; und ein 
zweites Segment von y->x. Aber selbst hier zeichnet er alles genau so 
ins Layout, aber verbindet es einfach nicht mit GND!!! Das ist alles das 
Selbe Netz, er macht es einfach nicht!

2. Ist es möglich eizelne Signale von den Airwires auszublenden? GND 
hatte ich in Eagle immer am Anfang komplett weg gelassen -> Hide 
Airwires.
Zum Schluss dann alles über Polygone füllen.

Das wären in meinem Workflow zwei absolute K.O. Kriterien.
Wo sind hier die KiCAD Liebhaber, es sind ja doch einige wenn man eine 
Weile mitliest. Wie macht man sowas?

8-D

: Verschoben durch Moderator
Autor: Max D. (max_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis X. schrieb:
> 1. Ist es möglich einfach ein einzelnes Via in eine Ground Plane zu
> legen? Also TOP Kupfer GND, Bottom Kupfer GND und jetzt einfach das
> ganze zu verbinden. Erster Ansatz: Via kopieren, Netzname genau so
> nennen und auf Verbindung hoffen. Dies schlägt leider fehl. Ein
> Workaround aus dem Internet besagt, von einem GND Pad weg routen und
> dann ein Via setzen. Leider hab ich nicht überall Pads und das will auch
> kein Mensch wirklich ernsthaft machen...
> Zweiter Ansatz: Das ganze etwas abstrakt im Text Editor machen. Eine
> Zeile mit einem Segment von x->y; Dann ein Via direkt bei y; und ein
> zweites Segment von y->x. Aber selbst hier zeichnet er alles genau so
> ins Layout, aber verbindet es einfach nicht mit GND!!! Das ist alles das
> Selbe Netz, er macht es einfach nicht!

Footprint-Editor auf, einzelnes THT-Pad reinmalen -> In Board einfügen 
klicken.
Auf dem Board dann Netzname auf Gnd setzen. Vervielfältigen via 
"Footprint array". Standardmäßig hat das so noch thermals, die kann man 
aber in den Eigenschaften von dem Pad abschalten.

Autor: Guido B. (guido-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis X. schrieb:
> 1. Ist es möglich einfach ein einzelnes Via in eine Ground Plane zu
> legen?

Ja, klicke auf das Leiterbahnsymbol, wie zum Verlegen. Dann auf die
Leiterbahn, die du mit dem Layer verbinden willst und dann machst du
einen Layerwechsel.

Dennis X. schrieb:
> 2. Ist es möglich eizelne Signale von den Airwires auszublenden?

Die zeigt Kicad doch nur, wenn du die entsprechenden Anschlüsse
anklickst? Rechte Maustaste, deselektieren, wieder weg.

Autor: Lutz H. (luhe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Einfach Regeln ausschalten und malen geht das noch?

Autor: Dennis X. (debegr92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido B. schrieb:
> Ja, klicke auf das Leiterbahnsymbol, wie zum Verlegen. Dann auf die
> Leiterbahn, die du mit dem Layer verbinden willst und dann machst du
> einen Layerwechsel.

Der Klick auf welche Leiterbahn? Ich will von einer Ground Plane auf die 
andere. Da hab ich doch keine Leiterbahnen. Ich kann mir natürlich ein 
Ground Pad schnappen aber das ist nicht Sinn der Sache.

Guido B. schrieb:
> Dennis X. schrieb:
>> 2. Ist es möglich eizelne Signale von den Airwires auszublenden?
>
> Die zeigt Kicad doch nur, wenn du die entsprechenden Anschlüsse
> anklickst? Rechte Maustaste, deselektieren, wieder weg.

Ähh nein in der OpenGL Ansicht sind immer alle Air Wires aktiv und von 
denen allen möchte ich jetzt nur ein Signal ausblenden. Bei mir wäre das 
dann GND aber prinzipiell will ich frei bestimmen welche angezeigt 
werden und welche nicht.

Lutz H. schrieb:
> Einfach Regeln ausschalten und malen geht das noch?

Ich versuche das morgen nochmal herauszufinden. Die Sache mit remove 
unused wires könnte es noch sein.

Auf der anderen Seite kann ich ja ein einzelnes Via kopieren und wo 
anders einfügen. Auch im Text-Editor sehe ich, dass das Via genau den 
gleichen Signalnamen hat wie die Massefläche und dennoch wird das Via 
oben und unten von der Massefläche "frei" gehalten. Die Flächen umfahren 
das Via und binden es nicht ein.

Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Dennis.

Dennis X. schrieb:

>> Ja, klicke auf das Leiterbahnsymbol, wie zum Verlegen. Dann auf die
>> Leiterbahn, die du mit dem Layer verbinden willst und dann machst du
>> einen Layerwechsel.
>
> Der Klick auf welche Leiterbahn? Ich will von einer Ground Plane auf die
> andere. Da hab ich doch keine Leiterbahnen. Ich kann mir natürlich ein
> Ground Pad schnappen aber das ist nicht Sinn der Sache.


Wenn Du zwei Ground Planes miteinander verbinden willst, so route 
einfach eine Leiterbahn von einem GND Pad oder von einer 
GND-Leiterbahn durch diese Planes. Das hat auch den Charm, dass Du einen 
kleinen Stups in die Richtung bekommst, Dir über das GND-Netz Gedanken 
zu machen.

Das Argument: "Da hab ich doch keine Leiterbahnen." zieht nicht, weil Du 
eine GND Plane irgendwo auch mit dem GND der Schaltung verbinden 
solltest, damit es eine solche ist. Wenn das nicht gehen sollte oder zu 
kompliziert wird, hast Du ein anderes Problem. ;O)

> Auch im Text-Editor sehe ich, dass das Via genau den
> gleichen Signalnamen hat wie die Massefläche und dennoch wird das Via
> oben und unten von der Massefläche "frei" gehalten. Die Flächen umfahren
> das Via und binden es nicht ein.

Weil das aus der Netzliste kommt, und nicht aus dem Board.
Daher mein bevorzugter Weg: Ich lege die Vias (in 5er oder 10er Gruppen) 
als Symbole mit einem Pin an, trage sie im Schaltplan ein und verbinde 
sie mit GND. Dann erzeuge ich die Netzliste und lese sie im Board ein.
Ich habe meistens eine extra Schaltplanhierarchie, in die ich solche 
Dummys stecke, zusammen mit Symbolen für den Platinenumriss (wenn ich 
einen Standard verwende), nur mechanischen Bauteilen wie z.B. Card 
Guides  oder Logos.

Manuell in die Netzliste eintragen ginge auch, aber dann wären die Vias 
nicht im Schaltplan dokumentiert, und die Prozedur müsste bei jeder 
Schaltplanänderung wiederholt werden.

Diese GND Pads dann als Vias zum Stitching verteilen.

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

: Bearbeitet durch User
Autor: Dennis X. (debegr92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
auf dich hatte ich ehrlich gesagt gehofft in diesem Beitrag! ;-)

Bernd W. schrieb:
> Manuell in die Netzliste eintragen ginge auch, aber dann wären die Vias
> nicht im Schaltplan dokumentiert, und die Prozedur müsste bei jeder
> Schaltplanänderung wiederholt werden.

Müssen Vias wirklich einzeln in einem Schaltplan dokumentiert werden? 
Meines Wissens wäre KiCAD damit das einzige Programm was das benötigt.
Ich kann dir natürlich folgen in deinem Workflow und mir bleibt jetzt 
wahrscheinlich auch nix anderes übrig als das so zu machen.
Ein extra Blatt für mechanische Sachen ist ziemlich clever, das führe 
ich auch ein.
Über den Verlauf meiner Ground Verbindungen mache ich mir natürlich 
Gedanken, ich möchte halt einfach schnell einige Vias Setzen um an 
bestimmten Verbindungen die Impedanz zu GND gering zu halten.

8-D

P.S.: Hast du dann eine "Bibliothek" mit Vias in verschiedenen Größen?

Autor: Lutz H. (luhe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis X. schrieb:
> P.S.: Hast du dann eine "Bibliothek" mit Vias in verschiedenen Größen?

Ist eine gute Idee. Die Leiterplatte ist nicht nur eine mechanische 
Befestigung der Bauteile. Mit einer "Bibliothek" mit Vias  könnte der 
Strom, Wellenwiderstand oder was sonst noch gebraucht wird definiert von 
einer Seite zur anderen geführt werden.

Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dennis.

Dennis X. schrieb:

> Müssen Vias wirklich einzeln in einem Schaltplan dokumentiert werden?

Natürlich nicht. Du kannst auch meinem ersten Vorschlag folgen, und 
einfach GND über die Planes routen. Das ist auch die im allgemeinen 
wesentlicher weiter verbreitete Vorgehensweise.

Die Vias im Schaltplan zu dokumentieren ist eher meine persönliche 
Zwangsvorstellung. Und wenn es schnell gehen muss, mache ich das auch 
nicht. ;O)


> P.S.: Hast du dann eine "Bibliothek" mit Vias in verschiedenen Größen?

Es gibt eine Bibliothek mit "Wire Pads" in verschiedenen Größen und 
Anzahlen, auch einzelne. Die verwende ich dafür.

Siehe: https://github.com/KiCad/Wire_Pads.pretty

Ich gebe zu, 0,8mm sind sehr rustikal für ein Via, aber kein Problem, 
sowas zu verkleinern.

Andere für Dich interessante Bibliotheken könnten sein:
https://github.com/KiCad/Oddities.pretty
Dort sind z.B. "Net ties" um elegant zwei unterschiedliche Netze direkt 
miteinander zu verbinden. z.B. wenn Du ein analog GND und ein digital 
GND hast, die nur an einer Stelle zusammenhängen sollen.
Die Idee dazu kommt aus Altium, wo sie aber eine eigene Bauteilklasse(?) 
sind: 
http://wiki.altium.com/download/attachments/25079430/NetTies-and-How-to-Use-Them.pdf
Dazu sollten sie unterschiedliche Netznamen haben, damit ein "copper 
pour" eines Polygons sie nicht versehentlich anderswo verbindet, und 
wenn Du sie aber dann absichlich in einem Punkt verbindest, meckert ERC 
und DRC.
Und damit das nicht passiert, gibt es die Net ties.

Weiter "Wire bridges" 
https://github.com/KiCad/Wire_Connections_Bridges.pretty
Das sind fertige Footprints für Drahtbrücken. Weil es manchmal ganz 
praktisch ist, eine Drahtbrücke quer über die komplette Platine zu 
machen (Störungsentkopplung), sind das die passenden Footprints dafür.
Es werden einfach die beiden Pads dahin verschoben, wo man sie braucht.

Die passenden Symbole dafür (gerade Drahtbrücken sollten mit 
dokumentiert werden, weil sie in der Fehlersuche praktisch sind), 
findest Du in der Symbolbibliothek 
SymbolsSimilarEN60617+oldDIN617-RevE8.lib
in 
https://github.com/KiCad/kicad-library/tree/master/library/contrib_symbols_dl1eic

In aktuellen KiCad bibliotheksversionen sollte das alles aber enthalten 
sein.

Mit freundlichen Grüßen: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lutz.

Lutz H. schrieb:

> Die Leiterplatte ist nicht nur eine mechanische
> Befestigung der Bauteile.

Sehr richtig.

> Mit einer "Bibliothek" mit Vias  könnte der
> Strom, Wellenwiderstand oder was sonst noch gebraucht wird definiert von
> einer Seite zur anderen geführt werden.

Für Vias geht das aber im allgemeinen besser über die Designregeln, wo 
Du Netzklassenabhängig Leiterbahnbreiten und Viadurchmesser vorgeben 
kannst.

Und die wirken auch wenn Du das Stitchin per Routing machst.

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

Autor: Dennis X. (debegr92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,
also ich habe jetzt ein 1Pin Bauteil mit meinem Via footprint verknüpft 
und das schluckt er jetzt auch richtig. Ich habe die Ground Vias nun 
auch solid gemacht, damit er da nicht bei jedem Via versucht die 
Thermals rein zu zeichnen.
Da hier gerade so viel Kompetenz auf einem Haufen ist, wie kann ich 
einfach Löcher in eine Platine machen? In einem sehr alten Beitrag eines 
anderen Forums hab ich gesehn, dass das ähnlich wie mit den Vias gelöst 
wurde...
Jemand eine Idee?

Mein zweiter Punkt ist: CAM Job. Ein Fertiger benötigt die Gerber Daten 
in genau den Endungen und das würde ich gerne etwas automatisieren. Geht 
das? Schonmal was gemacht?
Mein Workaround hier wäre ein kleines Skript, was die Daten einließt und 
die Endungen dementsprechend ändert und das ganze auch gleich zippt.

Über jegliche Anregung wäre ich sehr dankbar!

8-D

Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dennis.

Dennis X. schrieb:

> wie kann ich
> einfach Löcher in eine Platine machen? In einem sehr alten Beitrag eines
> anderen Forums hab ich gesehn, dass das ähnlich wie mit den Vias gelöst
> wurde...

Ja. Die Bibliothek dazu ist Mounting_Holes.pretty: 
https://github.com/KiCad/Mounting_Holes.pretty

Grundsätzlich werden nichtdurchkontaktierte Befestigungsbohrungen wie 
THT Pads angelegt, nur das als Padtyp "NPTH, mechanisch" gewählt wird.

Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden 
können, und ab 6mm Durchmesser mit hoher Sicherheit auch gefräst werden, 
ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem 
Kreistool in das Layer "edge.cuts" zu zeichnen.

Du kennst http://www.mikrocontroller.net/articles/KiCAD#Layout ?

Die erwähnte Seite ist leider mittlerweile etwas umfangreicher und 
unübersichlich. Daher empfehle ich eine Textsuche. Jeder 
Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, 
mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel 
oben im Pull-down Menue unter "Bearbeiten" > "suchen" oder per Shortcut 
<Strg-F>



> Mein zweiter Punkt ist: CAM Job. Ein Fertiger benötigt die Gerber Daten
> in genau den Endungen und das würde ich gerne etwas automatisieren. Geht
> das? Schonmal was gemacht?
> Mein Workaround hier wäre ein kleines Skript, was die Daten einließt und
> die Endungen dementsprechend ändert und das ganze auch gleich zippt.

Das Skript muss nicht die komplette Datei einlesen sondern nur die 
Dateinamensendung auf den vom Fertiger gewünschten String umwandeln.

Auf der anderen Seite: Einlesen und unter neuem Namen abspeichern erhält 
die Originaldatei als Sicherungskopie. ;O)

Grundsätzlich geht das natürlich auch manuell. Skript ist natürlich 
bequemer und minimiert Fehler.

Die KiCad originalen  Gerberdateinamen sind übrigens sprechend. Du wirst 
Dich leicht zurechtfinden. ;O)

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

: Bearbeitet durch User
Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dennis.

Dennis X. schrieb:

> also ich habe jetzt ein 1Pin Bauteil mit meinem Via footprint verknüpft
> und das schluckt er jetzt auch richtig.

Zum mal Testen und sehen, was passiert ist das ok, und für einige 
Sonderfälle bei HF Anwenden. Da kann ich mir die Stitchings sogar ins 
Footprint packen, um per Airwire daran erinnert zu werden, sie auch ja 
zu setzten.

Aber im Gegensatz z.B. zu Drahtbrücken ist es meist nicht sinnvoll, Vias 
zu dokumentieren.


Bernd W. schrieb:

> Die Vias im Schaltplan zu dokumentieren ist eher meine persönliche
> Zwangsvorstellung. Und wenn es schnell gehen muss, mache ich das auch
> nicht. ;O)

Das impliziert, dass man das nicht in jedem Falle nachmachen sollte. ;O)

Mit freundlichen Grüßen: Bernd Wiebus alias dl1eic
http://www.l02.de

Autor: Dennis X. (debegr92)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerade durch Zufall hier rüber gestolpert, warum mir das nicht früher 
begegnet ist.
So ist es sicherlich die beste Möglichkeit, zumindest aktuell ein 
einfaches Via in die GND Fläche einzubinden.

Youtube-Video "KiCad 4.0 - Via Stitching In KiCad (without traces)"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.