KiCad

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. November 2019 um 20:20 Uhr durch 2003:ef:3d0:c800:8c30:f85f:d5d4:be2 (Diskussion) („GP-Lizenz“ zu „GPL-Lizenz“ geändert). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
KiCad


Screenshot der Version 4.0.0
Basisdaten

Entwickler Jean-Pierre Charras
Erscheinungsjahr 1992[1]
Aktuelle Version 8.0.2[2]
(28. April 2024)
Betriebssystem Linux, Windows ab 2000, macOS
Programmiersprache C++
Kategorie EDA
Lizenz GPL
deutschsprachig ja
KiCad

KiCad ist ein freies ECAD-Programmpaket zur Erstellung von elektronischen Leiterplatten. Es wird von einer Gruppe von freiwilligen Entwicklern und zwei Wissenschaftlern des CERN entwickelt und steht unter GPL-Lizenz. Neben dem Quellcode wird KiCad als vorkompiliertes Paket für Linux, Microsoft Windows und OS X angeboten.

Beispiel für die 3D-Ansicht einer erstellten Leiterplatte

Allgemein

Der Initiator des Projektes, Jean-Pierre Charras, ist Wissenschaftler am Laboratoire des Images et des Signaux (LIS) in Grenoble, Frankreich und Lehrer am IUT de Saint-Martin-d’Hères. Derzeitiger Projektleiter (Maintainer) ist Wayne Stambaugh.[3]

KiCad beinhaltet die folgenden Programmteile:

  • KiCad – Grundmodul mit integrierter Projektverwaltung
  • EESchema – Schaltplan-Editor
  • Schematic library editor – Ein Editor, um Schaltplansymbole zu erstellen. Diese Komponente war in älteren KiCad-Versionen ein Teil von EESchema.
  • CVpcb – Tool für die Verbindung eines Schaltplansymboles mit einem oder mehreren Bauteil-Footprints. Dieser Teil ist in neueren Versionen in EEschema integriert.
  • PCBnew – Layout-Editor für Leiterplatten mit integriertem Footprint/Modul-Editor
  • PCB footprint editor – Ein Editor, um Bauteil-Footprints zu erstellen. Diese Komponente war in älteren KiCad-Versionen ein Teil von PCBnew.
  • Gerbview – Programm zum Datenaustausch im Gerber-Format, z. B. für Plotter oder Leiterplattenhersteller
  • Bitmap2component – (experimentell) Werkzeuge zur Erstellung von Symbolen und Footprints aus Bitmaps (z. B. um Logos zu importieren)
  • PCB Calculator – ein „Taschenrechner“ und Formelsammlung für einige Berechnungen rund um die Entwicklung von Schaltungen und Leiterplatten. Enthält z. B. auch Möglichkeiten, den Wellenwiderstand von Leitungen zu berechnen
  • PL-Editor – ein Editor, um den in KiCad üblichen Zeichnungsrahmen zu editieren

KiCad basiert auf dem WxWidgets-Framework. Erhältlich ist es für die Plattformen Linux und Windows (ab 2000). Auf Solaris und FreeBSD ist es ebenfalls einsetzbar.

Mit KiCad können Leiterplatten mit bis zu 32 Ebenen erstellt werden.[4] Die Schaltpläne können an Spice weitergegeben werden.

Arbeitsablauf

Zuerst wird mit EESchema (dem Schaltplanmodul von KiCad) ein Schaltbild der zu entwickelnden Platine unter Verwendung der Schaltplansymbole aus der Symbolbibliothek erstellt. Dabei unterstützt EEschema sogenannte hierarchische Schaltpläne, das heißt, ein Schaltplan kann als „Blackbox“ Unterschaltpläne enthalten, die wiederum weitere Unterschaltpläne enthalten können. Umgekehrt kann auch aus vorhandenen Unterschaltplänen durch passendes Einbinden in übergeordnete Schaltpläne sehr schnell ein Schaltplan modular aufgebaut werden.

Schaltplansymbole können mit dem in EESchema enthaltenen Symboleditor angepasst oder komplett neu erstellt werden. Des Weiteren enthält EESchema ein Tool für Annotation (Automatisches Vergeben von Referenzbezeichnern für die verwendeten Bauteile) und für einen ERC (Electrical rule check), der den Schaltplan grob auf Fehler untersucht, zum Beispiel, ob alle Pins angeschlossen sind, mit Ausnahme derer, bei denen ausdrücklich kein Anschluss gewollt ist. Des Weiteren kann eine Netzliste erstellt werden, die in verschiedenen Formaten, wie für Spice oder den Specctra Autorouter, exportiert werden kann.

Danach wird diese Netzliste in CVpcb eingelesen. Dort kann jedem Bauteil ein Footprint (in KiCad Module genannt) zugewiesen werden. Bei einem Technologiewechsel (z. B. beim Übergang von Through hole- auf SMD-Technik) können hier auch nachträglich andere Footprints eingetragen werden. Nach erneutem Abspeichern der Netzliste kann diese nun in das Platinenlayoutmodul von KiCad, PCBnew, eingelesen werden. Ein anderer Ansatz ist der direkte Verweis auf Footprints, der in ein Feld des Symbols eingetragen wird. Diese Footprints erscheinen dann als Voreintrag in CVpcb, wo sie auch noch editiert werden können. Fehlt der Verweis auf den Footprint im Symbol, bleibt die Liste in CVpcb an der Stelle leer, und muss dort editiert werden.

In PCBnew können die Bauteile auf der Platine verteilt und verbunden werden. Auch können Netzklassen definiert werden, die z. B. Leiterbahnbreiten und Isolationsabstände festlegen. Das Verbinden kann manuell oder über den mitgebrachten Autorouter erfolgen. Auch ein externer Autorouter, der irgendwo auf einem Server läuft oder ganz fremde Software, wie z. B. der Specctra Autorouter, kann verwendet werden.

Das manuelle Routen wird von einem abschaltbaren permanenten DRC (design rule check, überprüft, ob Leiterbahnbreiten und Abstände gemäß der Netzlistendefinition eingehalten werden) unterstützt, der das Platzieren nicht DRC-konformer Leiterbahnen unterbindet. Der DRC kann auch nach Abschluss der Arbeit extra gestartet werden, falls man ihn z. B. abgeschaltet hatte, um Ausnahmen durchzuführen. In diesem Fall werden Ausnahmen und alle anderen DRC-Verletzungen gemeldet, so dass man entscheiden kann, ob man die Regelverletzung beseitigt oder als Ausnahme zulässt. Die Ausgabe der Platine kann als Extended Gerber, PostScript, DXF, HPGL, SVG oder direkt auf einen Drucker erfolgen. Bohrdatenfiles, Pick+Place-Daten für SMD-Bestückungsroboter und eine Stückliste (BOM) können erstellt werden. Die Stückliste kann als klassische Textliste oder als CSV-Datei erzeugt werden.

Des Weiteren beherrscht PCBnew „Push and Shove“ sowie "matched pair", was das manuelle Routen sehr erleichtert. Allerdings basiert dieses auf der Hardwareunterstützung durch die Grafikkarte mit openGL, so dass es auf älteren Rechnern oder bei nicht unterstützter Hardware nicht verwendet werden kann. Gewöhnliches manuelles Routen funktioniert aber dann noch.[5][6] Der interaktive Push & Shove-Router ist eine gute Alternative zu Autoroutern, besonders wenn man bedenkt, dass die Ergebnisse von Autoroutern ja im Allgemeinen auch noch manuell überarbeitet werden müssen.

PCBnew unterstützt auch das Einbinden schon vorhandener gerouteter Platinen, so dass aus verschiedenen Platinen Ausschnitte entnommen und zu einer neuen verbunden werden können. Allerdings müssen alle dafür nötigen Annotationen von Hand vorgenommen werden.

PCBnew enthält weiter ein HF-Tool, mit dem bequem Stubs und Gaps definierter Abmessung erzeugt werden können. Des Weiteren können Polygone eingelesen werden, die als Shapefile (eine Liste von Koordinaten) vorliegen. Auf die Art und Weise lassen sich HF-Filterstrukturen und Antennen erzeugen, aber auch andere Kupferstrukturen wie Sensorflächen oder „Lötjumper“.

Eine Besonderheit stellt die Fähigkeit von KiCad dar, „Extended Gerber“ mit dem mitgebrachten Gerberviewer „Gerbview“ nicht nur anzusehen, sondern auch als Layout in PCBnew importieren zu können.

Dort kann man die Platine bearbeiten, z. B. zu größeren Nutzen vervielfachen, und wieder als Extended Gerber exportieren. Eine weitergehende Bearbeitung ist aber nur möglich, wenn eine Netzliste besteht. Diese könnte durchaus von Hand unter Benutzung von Gerbview und PCBnew erstellt werden. Insofern ist KiCad für reverse engineering geeignet.

Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-Anwendungen in KiCad importiert werden, sofern sie als Bitmap vorliegen. Diese Funktion ist allerdings sehr neu (im Frühjahr 2011 eingefügt) und eher als experimentell zu bezeichnen.

Der Programmteil PCB Calculator enthält einige kleine Berechnungsprogramme bzw. Tabellen. Z. B. können die Dimensionierungswiderstände von Spannungsreglern berechnet werden, die ähnlich dem LM317 arbeiten, dazu die Wellenwiderstände diverser Leitungen, Leiterbahnbreiten, Leiterbahnwiderstände etc.

KiCad ermöglicht auch die 3D-Vorschau der erstellten Leiterplatten sowie einen Export des mechanischen Leiterplattenmodels (mit Bauteilen) im VRML- oder STEP-Format. Voraussetzung ist, dass für die verwendeten Bauteile nicht nur Footprints (in KiCad Module genannt), sondern auch 3D-Modelle als WRL- (VRML) oder STEP-Dateien hinterlegt wurden. KiCad bindet diese Dateien lediglich ein. Zum Bearbeiten bzw. Erstellen der 3D-Modelle der Bauteile ist externe Software (Wings 3D, FreeCAD oder Blender (ebenfalls open source)) erforderlich.

Mit dem externen Werkzeug TTConv können AutoCAD-dxf-Dateien im- und exportiert werden.

Durch die Arbeit einer aktiven Community rund um KiCad stehen viele Bauteilbibliotheken zur Verfügung, die aus einem Repository heruntergeladen werden können. Des Weiteren können EAGLE-Bibliotheken direkt importiert werden. Mittlerweile gibt es auch externe Anbieter von Bibliotheken, wie z. B. SnapEDA, die einen Export ihrer Bibliotheken auch für KiCad ermöglichen, oder der Bauteilehändler Digi-Key, der ebenfalls Footprints und 3D-Modelle zu seinem Bauteilangebot zum Download auch für KiCad anbietet.[7]

KiCad besitzt eine Python-Schnittstelle (Python 2.6) die aber zurzeit nur für das Board implementiert ist. Geplant ist etwas Ähnliches, wie Eagle es mit den ULPs bereits eingeführt hat. Zusätzlich kann durch das offene, klarschriftartig lesbare Dateiformat jede beliebige Programmiersprache herangezogen werden, um die Dateien extern zu manipulieren.

Im Laufe des Jahres 2012 wurde das Dateiformat für Boards umgestellt. Die Dateien endeten im alten (Legacy) Format auf „.brd“ und im neuen auf „.kicad_pcb“. Aktuelle Kicad-Versionen können beide Formate einlesen und beide nach Wahl abspeichern.

Entwicklungsversionen von KiCad hatten im Herbst 2016 eine Schnittstelle zum Schaltplansimulationstool Ngspice.[8]

Aktuelle Entwicklung

Ende des Jahres 2015 veränderte das KiCad-Team mit Version 4.0.0 den Release-Mechanismus. Zuvor gab es keine offizielle Installationsdatei zum Download und Nutzer mussten sich behelfen, indem sie den Quellcode selbst kompilierten. In Zukunft sollen regelmäßig neue Versionen erscheinen, des Weiteren sollen Patches für Bugs zur Verfügung gestellt werden, sofern diese das Programm zum Absturz bringen.[9]

Dokumentation

Für das KiCad-Projekt existieren umfangreiche offizielle Dokumentationen und Tutorials in verschiedenen Sprachen.[10][11] Auf GitHub gibt es das offizielle KiCad documentation project.[12]

Weblinks

Allgemein
Commons: KiCAD – Sammlung von Bildern, Videos und Audiodateien
Symbol- und Bauteil-Bibliotheken

Einzelnachweise

  1. www.mail-archive.com.
  2. KiCad 8.0.2 Release. 28. April 2024 (englisch, abgerufen am 29. April 2024).
  3. About KiCad In: Kicad, Abgerufen am 23. Mai 2019
  4. KiCad Dokumentation. Abgerufen am 23. Juli 2018.
  5. Kicad Interactive router(release version) In: YouTube, Abgerufen am 23. Mai 2019
  6. Kicad - Differential pair routing and trace length matching In: YouTube, Abgerufen am 23. Mai 2019
  7. Digi-Key bietet jetzt Downloads für KiCad-Bauteilmodelle an In: Digi-Key ELECTRONICS, Abgerufen am 23. Mai 2019
  8. KiCad, Eeschema mit NGSpice ( nightly builds ) In: mikrocontroller.net, Abgerufen am 23. Mai 2019
  9. kicad-source-mirror: Stable Release Policy In: github.com, Abgerufen am 23. Mai 2019
  10. http://kicad-pcb.org/help/documentation/ Offizielle Dokumentation zu KiCad in verschiedenen Sprachen
  11. Tutorials In: KiCad, Abgerufen am 23. Mai 2019
  12. KiCad documentation repository. KiCad EDA, 17. Mai 2019, abgerufen am 27. Mai 2019 (englisch).