KiCad-Tuning

Aus Chaostreff Chemnitz

KiCad ist ein kostenloses opensource CAD-Programm zur erstellung von Schaltplänen und Layouts. [1]

Leider fehlen noch einige nützlichen Features, die die Arbeit erleichtern/beschleunigen könnten.

BOM

Dies betrifft bspw. den Export und Import von Bauteildaten, der Bill-Of-Material. (BOM) Dazu wurden nun einige Verbesserungen vorgenommen. KiCad musste dazu nicht verändert werden. Es handelt sich um Zusatzprogramme und Plugins.

export BOM

Zum Export der BOM existiert dieses XSLT-Skript. [2] Es trennt die einzelnen Einträge mit Tabulatoren. Der Trenner zwischen den Bauteilen ist der Zeilenumbruch. Das Skript kann in KiCad unter Netzliste hinzugefügt werden:

Netzliste:
xsltproc -o "%O.csv" "C:\Program Files (x86)\KiCad\bin\plugins\bom2csv_tab.xsl" "%I"
Titel:
BOM-CSV (tab)

Um die Bauteile gleich bei digikey.de bestellen zu können, wird dieses XSLT-Skript [3] verwendet. Natürlich muss dazu die jeweilige Bestellnummer als Bauteilparameter eingetragen werden. Gleiche Bestellnummern werden zusammengefasst und die Anzahl angegeben. Eine Kundenreferenz wird hinzugefügt. So wird das Skript zu KiCad hinzugefügt:

Netzliste:
xsltproc -o "%O_Digi-Key.csv" "C:\Program Files (x86)\KiCad\bin\plugins\bom2digikey.xsl" "%I"
Titel:
BOM-Digi-Key

import BOM

Das Einlesen einer BOM geht mit der Schwierigkeit einher, dass dem jeweiligen Bauteil der richtige Eintrag zugeordnet werden muss. Es müssen demnach Bauteil-Parameter angegeben werden, woran das Import-Programm erkennt um welches Bauteil es sich handelt, damit es die restlichen Parameter aus einer BOM-Datenbank auslesen und direkt in den Schaltplan eintragen kann.

Das Programm ist in C++ verfasst. Es ist auch auf Github verfügbar. [4]

Selbstverständlich ist es auch möglich bei digikey.de Kataloginhalte als CSV-Datei herunter zu laden. Diese Daten können mit [5] in das Format für das genannte Programm übersetzt werden.

Digikey Katalogdaten verarbeiten

Das Programm zum Einlesen der Digikey-Katalogdaten erfolgt mit folgendem Kommandozeilenbefehl:

digikeycsv2kicadschpatcher configuration.config

Die Konfigurationsdatei beschreibt die Formatierung von Eingabe- und Ausgabedatei.

INPUT, Resistors/Resistors_SMD_2010_StackpoleElectronics_thickfilm_750mW_1perc_100ppm_001.csv
	&R, >Res, >Supp, =Datasheets, >Digi-Key, >Manufacturer Part, =Manufacturer, >Power, >Toler, >Temp, >Unit
INPUT, Resistors/Resistors_SMD_2512_StackpoleElectronics_thickfilm_1W_2W_1perc_100ppm_001.csv
	&R, >Res, >Supp, =Datasheets, >Digi-Key, >Manufacturer Part, =Manufacturer, >Power, >Toler, >Temp, >Unit
OUTPUT, Resistors.csv
	Reference, $Value, Footprint, Datasheets, Digi-Key Part Number, Manufacturer Part Number, Manufacturer, $Power (W), Tolerance, Temperature Coefficent, Price
INPUT, Capacitors/Capacitors_SMD_0201_Samsung_001.csv
	&C, >Cap, >Package, =Datasheets, >Digi-Key, >Manufacturer Part, =Manufacturer, =Applications, >Voltage, >Toler, >Temp, >Unit
OUTPUT, Capacitors.csv
	Reference, $Value, Footprint, Datasheets, Digi-Key Part Number, Manufacturer Part Number, Manufacturer, $Voltage (V), Tolerance, Temperature Coefficent, Price

Die erste Spalte beschreibt die Anweisung: INPUT bedeutet das Einlesen einer Digikey-Katalogdatei und OUTPUT das Abspeichern der konvertierten Einträge. Mehrere INPUTs können zusammengefasst werden und so zu einer großen OUTPUT-Datei beitragen. Nach einem OUTPUT ist der Buffer gelöscht. Die nächsten INPUTs wirken auf das folgende OUTPUT. Mit einer config-Datei kann daher eine Stapelverarbeitung mehrere Datensätze erfolgen.