Peter Hofbauer’s private Homepage
Selbstbauprojekte eigene Entwicklungen
Home Kinderauto Heizungssteuerung Netzgeräte Messgeräte Radios/Verstärker Software Maschinen ? ? ? Impressum Letzte Änderung: 08.Juli 2013 Copyright: frei! Impressum Letzte Änderung: 30. April 2017 Copyright: frei!

Meine Erfahrungen mit der Schaltplan/Layout-Software KiCAD.

KiCAD ist kostenlos und ohne Begrenzungen. Ich verwende es seit einigen Jahren. Mein Urteil: KiCAD ist gut!!! Ich betone das hier weil in vielen Foren darüber gestritten wird. Als Hobbyist sollte man sich davon nicht beirren lassen. Es lohnt auf jeden Fall sich in KiCAD einzuarbeiten. KiCAD ist eine freie Software, die in Frankreich entwickelt und gepflegt wird. Der einzige Mangel ist die Bedienungsanleitung. Es gibt zwar ein Handbuch, leider in englisch, aber zum Start reicht es. Es gibt auch eine kurze Anleitung in deutsch. Die sind aber alle etwas dahin geluscht. Leider gilt dies für alle freien (und kostenlosen) Programme. Die Softwareentwickler betrachten Handbücher leider als überflüssig und die Aufforderung eine solche zu verfassen als persönliche Zumutung. Nach Entpacken das Programm irgendwo sichern. Dann mit der normalen WINDOWS-Funktion eine "Verknüpfung erstellen", mit dessen Hilfe man die Programme starten kann. Eine Installationsdatei gibt es nicht, es wird nichts eingetragen. Hinweis: Anwendung natürlich auf eigene Gefahr. Ich verwende die Programme schon länger ohne einen Fehler erkannt zu haben. Mein Betriebssystem: XP. Die Programme Nr.1 und Nr.2 habe ich mit XPROFAN programmiert, den Rest mit Purebasic.

Hilfsprogramm Nr.1 für KiCAD: Bibliotheken aufräumen (Version 1.1 vom Aug.2013)

KiCAD wird mit fertigen Bibliotheken geliefert. Diese sind von vielen Anwendern zusammengestellt und deshalb etwas durcheinander. Weil in KiCAD eigene Symbole einfach kreiert werden können ist das kein wirklicher Nachteil. Ich habe mir eigene Bibliotheken angelegt und nur solche Teile darin aufgenommen, die ich auch brauche. Zum Glück sind alle Dateien für KiCAD lesbare ASCII-Dateien. Deshalb kann man kleine Zusatzprogramme leicht selber entwickeln. Ich habe eine Software für Aufräumarbeiten entwickelt. In zwei Fenstern werden zwei Bibliotheksdateien geladen. Dann kann zwischen beiden kopiert oder gelöscht werden. Das geht in KiCAD zwar auch, aber zu umständlich. Für die beiden Typen von Bibliotheken (Schaltplan-Symbole und Platinen-Bauteile "Footprint" ) je eine getrennte Software Symbol-Sortierer für den Schaltplan = "symbol_HP.exe" Footprint-Sortierer fürs Layout =  "modul_HP.exe” Die Dateien werden komplett in den Arbeitsspeicher geladen und dort bearbeitet. Die Originaldateien bleiben zunächst im Originalzustand. Zum Schluss kann man die Dateien mit “Datei speichern” sichern. Entweder die Originaldatei überschreiben oder unter einen neuen Namen anlegen. Es dürfen auch in beiden Fenstern die selbe Datei geladen werden. Man muß dann aufpassen welches Fenster man zum Schluss sichert. Unterm Fenster ein kleines Kontrollbild des markierten Bauteils. Nicht sehr schön (die Kurven fehlen), aber es dürfte reichen. Die Pfeile zwischen den Fenstern bewirken eine Kopie eines markierten Teiles in der angezeigten Richtung. Der "..löschen" Button löscht ein markiertes Bauteil ohne Rückfrage. Vorm beenden des Programms das sichern der Dateien nicht vergessen, das geht nicht automatisch. Hinweis zum Symbol-Sortierer: KiCAD setzt vorm Symbolname eine Tilde (~) wenn der Name mit “unsichtbar” im Symboleditor gekennzeichnet wurde. Wegen der Tilde erscheinen diese Symbole am Anfang der Liste. Hinweis zum Footprint-Sortierer: Seit der neuen Version 2013-07-07 verwendet PCBNEW ein anderes Dateiformat. Die Maßeinheit wurde von 1/10000tel Inch in mm geändert. Der Footprint-Sortierer arbeitet mit beiden Formaten einwandfrei. Allerdings geht ein Verschieben zwischen verschieden Formaten nicht. Ein entsprechender Hinweis erscheint dann.   So sehen die beiden Programme aus:
Die Programme bestehen aus je einer exe-Datei. Nach dem Entpacken sollten die Programme das jeweilige KiCad-Verzeichnis für die Bibliotheken kopiert werden. Zum Beispiel: "symbol_HP" nach c:\programme\kicad\share\library\ "modul_HP" nach c:\programme\kicad\share\modules\ Download: die beiden Programme (1,2MB)
Home

Software

Hilfsprogramm Nr.2 für KiCAD: Gesamt-Stückliste erzeugen

Wenn man größere Projekte entwickelt, benötigt man meist mehrere Platinen. Dabei muss man die einzelnen Platinen auf mehrere KiCAD- Projekte, also Schaltpläne, verteilen. Ich habe hier ein einfaches Programm zur Addition von mehreren Stücklisten geschrieben. Das geht mit einer normalen Büro-Software auch, aber dies Programm macht noch etwas anderes. Wenn man in KiCAD-Schaltplan bei den Bauteilwerten wie in D üblich ein Komma zur Dezimaltrennung verwenden, erzeugt das in einer csv-Datei ein ungewolltes Trennzeichen. Dies Programm will in der Originalstückliste von KiCAD als Trennzeichen statt Komma ein Semikolon haben. Das muß man in KiCAD beim erzeugen einer Stückliste einstellen. Mein kleines Programm entfernt zunächst alle Kommas und ersetzt diese durch einen Dezimalpunkt. Die Stückzahl gleicher Bauteile wird addiert und die Liste dann mit Komma als Trennzeichen ausgegeben. Das Programm ist also auch nur zum entfernen von Kommas in der Stückliste verwendbar. Die Bedienung: Nach Aufruf erscheint eine kleiner Bedienhinweis. Nach Enter muss man alle Eingangs-Dateien nacheinander angeben. Zum Schluss noch den Dateinamen für die Ausgabe *.csv-Datei. Download:  das Programm GesamtSL.zip (560kB)

Hilfsprogramm Nr.3 für KiCAD: Verdrahtungsliste aus Netzliste konvertieren

Dieses kleine Programm erzeugt aus der Netzliste eine Verdrahtungsliste. Eine solche Liste ist von Nutzen wenn man eine Schaltung von Hand verdrahten muss. Die Verdrahtungsliste (in der Ausgabedatei) ist auf 1000 Zeilen begrenzt. Das Programm wurde mit BureBasic geschrieben.
Die Netzliste aus KiCAD
die erzeugte Verdrahtungsliste
und ..
Die Software “Drahtliste.exe” zeigt nach Aufruf eine Dateiauswahl zur Auswahl der gewünschten Netzliste *.net. Nach “Öffnen” wird sofort ohne Nachfragen die neue Liste intern im Arbeitspeicher erzeugt. Das geht blitzschnell. Dann wird eine Dateiauswahl für Ausgabe einer Verdrahtungsliste im Textformat (”*.txt) gezeigt. Nach “Speichern” ist die Liste fertig und kann mit jeden beliebigen Textprogramm angesehen oder ausgedruckt werden. Mehr als diese beiden Dateiauswahlen sind auch nicht zu sehen. Download: das Programm “Drahtliste.zip” (7,2kB)
CodeNr aus KiCad
Netzname aus KiCAD falls im Schaltplan angegeben

Hilfsprogramm Nr.4 für KiCAD: krumme Bohrergrössen kürzen (Version 1.1 vom Mai 2017)

Im Laufe der Zeit sind die Bohrdaten in meiner Footprint-Bibliothek unterschiedlich definiert worden. Teilweise in mm, und teilweise in Zoll (mil). Ein Bohrer mit 40mil Durchmesser steht in der Bohrdaten mit 1,024mm und wenn er in mm definiert wurde sind es 1mm. Die Folge: die automatische Bohrmaschine will verschiedene Bohrer haben obwohl die Abweichung wurscht ist. Wenn ich meine Platinen mit der CNC fertige, nervt das unnötige Anhalten der Maschine. Deshalb habe ich dieses einfache Programm geschrieben. Es ändert alle Bohrungen in der *.kicad_pcb Datei auf ein Zeichen hinter dem Komma nach dem gerundet (auf- oder ab) wurde. Aus 1,024mm wird also 1,0mm und aus 1,524mm wird 1,5mm. Die Anzahl der verschiedenen Bohrer wird dadurch gekürzt.
Nach Aufruf des Programms “Bohrdaten” muss in der dann sichtbaren Dateiauswahl die *.kicad_pcd Datei ausgewählt werden. Sofort danach erscheint das obige Fenster “Bohrdaten” mit den vorhandenen und daneben die gekürzten Bohrdaten. Nach “Neue Bohrdaten Übernehmen” wird die alte Datei mit den neuen Daten überschrieben. Das Ergebnis ist nach erneuten Aufruf der selben Datei (zwecks Kontrolle) zu sehen. Es sind nur noch die korregierten Daten wie oben rechts gezeigt in der Datei. Diese Software funktioniert nur mit den PCB-Formaten mit der Erweiterung kicad_pcb. Download: das Programm “Bohrdaten.zip” (21kB)

Hilfsprogramm Nr.5 für KiCAD: Platinenfertigung auf einer CNC-Portalfräse

Metode 1: mit Linegrinder

Die Fertigung von Platinen mit Hilfe einer CNC-Fräse, also “Isolierfräsen”,  ist nur sinnvoll bei groben Strukturen. Leiterbahnen sollten nicht unter 0,4mm und Lötaugen nicht unter 2mm sein. Es gibt allerdings auch Beispiele mit wesentlich kleineren Strukturen, aber das bekommt man nur mit viel Übung und viel neuen Sticheln hin. Ich rate davon ab! Meine Platinen entwerfe ich mit KiCAD. Zum Isolierfräsen ist eine G-Kode-Datei nötig. Die kann KiCad aber nicht erzeugen. Nach einigen Versuchen habe ich es geschafft mit “Linegrinder” und mein kleines Zusatzprogramm “KonvdertLinegrinder” einen für meine CNC-Steuerung lesbaren G-Kode zu erzeugen. Linegrinder ist eine kostenlose Software, kann vom Netz geladen werden. Hinweis: es ist eine neue Version von KiCAD (2015-01-16 BZR 5376 oder neuer) nötig weil Linegrinder in den Gerberdateien mm-Angaben braucht. Die älteren Versionen arbeiten noch mit Zoll. Die Bohrdateien können auch noch mit der Version 4022 verarbeitet werden. Der Ablauf 1.) das fertige Layout mit das Zusatzprogramm “Bohrdaten” bearbeiten um die Anzahl der Bohrungen zu vermindern. 2.) In KiCAD den Ursprung (0,0) auf die obere linke Kante der Platine setzen. Dann die Platine mit ein Fenster markieren und “wenden”. Also die Lötseite nach oben bringen. Das kann man in KiCAD>Plotten und Linegrinder zwar auch, aber dann passen Bohrungen nicht mit den Leiterbahnen zusammen. 3.) Mit hier gezeigten Einstellungen in KiCAD>Plotten die Layout und Bohrdatei erzeugen.
4.) Dann Linegrinder aufrufen und die Einstellungen wie hier gezeigt für *.drl und *.gbr vornehmen
5.) Mit “Open Gerber/Drill File..” die Datei *.gbl laden, dann “Convert to GCode”, zur Kontrolle den G-Code ansehen und mit “Save Iso GCode” speichern
6.) Mit “Open Gerber/Drill File..” die Datei *.drl laden, dann “Convert to GCode”, zur Kontrolle den G-Code ansehen und mit “Save Drill GCode” speichern Linegrinder hängt hinten an den originalen Layout- Dateinamen noch “_ISOLATION_GCODE.nc dran. Die Bohrdatei erhält ein “_Drill_GCODE.nc hinten dran.
7.) Dann kommt mein kleines Zusatzprogramm “KonvertLinegrinder” an die Reihe. Nach dessen Aufruf ist eine Dateiauswahl zu sehen. Dann eine Datei *.nc auswählen. Danach kommt nur noch ein Fenster mit “Fertig”. Jetzt kann die Platine auf einer Fräse bearbeitet werden. LineGrinder erzeugt für einen Vollkreis nur einen G02 (G03) -Code. Weil dann aber Anfang und Ende eines solchen Kreises identisch sind, erzeugt meine Fräse nur einen Punkt. “KonvertLinegrinder” ändert den G02 und G03-Code für einen Vollkreis in 2 Halbkreise. Dann gehts. In eine *.nc-Datei für die Bohrungen setzt KonvertLineGrinder einen Stopp für den Bohrerwechsel. Dazu wird der T?-Code gesucht und daraus eine Stopp-Meldung generiert damit meine Maschine zwecks Bohrerwechsel anhält. Hinweis: meine Fräse arbeitet mit der Steuerung Estlcam+Arduino. Nur an meiner Fräse habe ich das Verfahren getestet. Ob es auch an anderen Fräsen geht? Vermutlich ja! Download: das Programm “KonvertLinegrinder.zip” (7kB)
Die Software wurde mit KiCAD Version: (2013-07-07 BZR 4022)-stable getestet und betrieben. Die neueren Verion ab 4 teste ich zur Zeit noch. Das Hilfsprogramm “Bohrdaten” habe ich überarbeite, es funktioniert jetzt auch mit der KiCAD-Version 4... Die anderen Hilfsprogramme müssen noch warten.

Metode 2: mit Visolate

Visolate ist eine kostenloses java-Software zum Erzeugen von G-Code aus einer Gerber-Datei. Visolate erzeugt (im Gegensatz zu LineGrinder) die Gravierspuren nur mit G01- Kommandos. Kreise werden als Vielecke gezeichnet. Visolate kann außer den normalen Outline-Mode noch den  Voronoi-Mode. Wozu ist das Gut? Beim Outline-Mode wird der Umriss der Leiterbahnen mit einer Gravierstichel gefräst. Zwischen den Leiterbahnen bleiben Kupferflächen übrig die eigentlich zu nichts verwendet werden. Bei der Voronoi-Mode wird zwischen den Leiterbahnen gefräst ,so das kaum Restkupfer übrig bleibt. Man kann das Restkupfer auch als GND-Fläche verwenden, siehe weiter unten. 1.) In KiCAD muss die Leiterplatte wie oben beschrieben gewendet werden damit die Lötseite oben ist. Dann den Ursprung auf die obere linke Seite setzen. Dann Plotten: Gerber, F.Cu, Verwende geeignete..., Verwende Hilfsachse als... Bohrdatei erzeugen: Millimeter, Behalte Nullen, Gerber, Hilfsachse 2.) Mit Visolate:  Datei laden: Browse, Load *.gtl, und Anzeigen lassen: fit, Mod (Outline oder Voronoi) auswählen und Taste: Make Toolpaths Dann werden die Fräsbahnen sichtbar und man muss noch die Daten zum Fräsen einstellen: cutting hight (Fräsposition, Z-Achse unten) und travel clearance (Verfahr-Höhe Z-Achse) eingeben cutting feedrate (X und Y-Geschwindigkeit) und plunge feedrate (Z-Geschwindigkeit) eingeben in mm/Minute. 3.) Leider verarbeitet Visolate keine Bohrdaten. Dazu muss man wie oben beschrieben LineGrinder verwenden. Für die Bohrdaten.nc mein kleines Programm “KonvertLineGrinder” verwenden, damit nachträglich Stopp-Code für den Bohrerwechsel in die Datei kommen. Die Leiterbahn-Datei benötigt “KonvertLineGrinder” nicht. 4.) Kontrolle ob Leiterbahnen und Bohrungen zusammenpassen, also die identischen Ursprung haben. Dazu kann das kostenlose Software “NC-Corrector V4.0” verwendet werden. Damit kann man beide G-Code-Dateien gleichzeitig (übereinander) anzeigen lassen.

Hilfsprogramm Nr. 6 für KiCAD: Restkupfer als GND-Fläche verwenden

Dazu darf man in Kicad die GND-Leitungen nicht verlegen. Die GND-Bohrungen werden ins Restkupfer gebohrt. Damit für diese Bohrungen kein Pad gefräst wird, müssen alle GND-Pads auf der Kupferseite verschwinden. Auf die nicht verwendete Bestückungsseite müssen die Pads aber bleiben sonst verschwinden auch die Bohrungen. Dazu habe ich eine kleine Software “GNDpads” geschrieben, die alle GND-Pads auf der Lötseite löscht. Die *.kicad_pcb -Datei laden und “Öffnen”. Die Software meldet dann nur noch “Fertig!” oder eine Fehlermeldung falls die Datei nicht existiert. Download: das Programm “GNDpads.zip” (7kB)
Software Software