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
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.
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.
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.
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
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?
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.
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
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
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
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
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