GEDA

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

gEDA ist ein Open Source Programmpaket zum Zeichnen von Schaltplänen und zur Entwicklung von Platinen. Es besteht unter anderem aus dem Schaltplaneditor Gschem und dem Platinenlayoutprogramm PCB.

Gschem

Screenshot

gschem ist der Schaltplaneditor aus dem Open Source Projekt gEDA. gschem wird hauptsächlich auf Linux Rechnern entwickelt, läuft aber auch auf anderen Unix-Betriebssystemen und unter Windows. gschem ist für die Linuxdistributionen RedHat und Debian als Paket verfügbar, für Windows ist nur eine ältere Version erhältlich und für alle anderen ist selber kompilieren angesagt.

Die Bedienung ist nicht sonderlich anfängerfreundlich. Hat man sich aber mal daran gewöhnt, dass jeder Menupunkt mit 1 oder 2 Tasten erreichbar ist, läßt sich's mit gschem prima arbeiten.

In der Symbolbibliothek (die auch online betrachtet werden kann) sind etwas mehr als 1000 Symbole; das Selbsterzeugen von Symbolen ist jedoch problemlos möglich. Insbesondere ist es aufgrund des gut dokumentierten und einfachen Datei-Formates möglich, mit einfachen Perl-Programmen z. B. aus Reports von Xilinx ISE Symbole zu erzeugen und automatisch zu aktualisieren, wenn sich die Pinzuordnung ändert. Das fehlerhafte Eingeben der Pinbelegung von CPLDs und FPGAs von Hand und die Änderung derselben ist damit für gschem User Geschichte.

Die Schaltpläne lassen sich als png und als Postscript exportieren.

Netzlisten (insgesamt über 20 Formate für PCB, Protel, Eagle, BAE, spice, pads, ... ) lassen sich mit dem Programm gnetlist generieren. Aus diesem Grund ist man (bis auf die Namen der Footprints) unabhängig von der verwendeten Layout-Software und kann diese auch sehr leicht wechseln.

Ein großer Vorteil der gEDA-Suite sind die Dateiformate, welche alle reiner ASCII-Text sind. Dies macht die Entwicklung von Helper-Tools zur Lösung von speziellen Aufgaben sehr leicht. Außerdem können die Dateien deswegen sehr einfach in Versionsverwaltungssystemen wie CVS verwaltet werden, was insbesondere die Entwickler größerer Projekte zu schätzen wissen.

Nähere Informationen über gschem (gEDA) gibt es unter [http://www.geda.seul.org/].


PCB

PCB ist ein freies (open source) Layoutprogramm inklusive Autorouter. Zum Zeichnen der Schaltpläne kann Gschem verwendet werden.

PCB wurde ursprünglich für den Atari ST entwickelt und später nach Unix portiert. PCB läuft meist unter Linux, kann allerdings mit Cygwin auch unter Windows betrieben werden.

Als Ausgabeformate stehen Postscript und Gerber RS-274-X zur Verfügung.

Ein großer Vorteil von PCB ist, dass alle Funktionen auch über Hotkeys gesteuert werden können, was insbesondere nach längerer Einarbeitungszeit ein großer Gewinn gegenüber manchen Windows-Programmen ist.

Zur Einarbeitung ist es meines Erachtens sehr wichtig, sich das Tutorial durchzulesen. PCB und Gschem sind nicht besonders einfach zu benutzen. Gerade am Anfang, wenn man sich versucht damit einzuarbeiten. Aber wenn man einmal mit dem Werkzeug arbeiten kann, wird man es nicht mehr missen wollen.

Wichtige Einstellungen & Tips

Die neue GTK+ Version aus dem CVS Archiv ist der alten, etwas angestaubten Version vorzuziehen. Auch das Kompilieren ist nicht wirklich schwierig. Alles, was dazu notwendig ist (und das Programm hat keine großen Abhängigkeiten), ist in der Readme erklärt. Somit fällt die Kompilierung recht einfach aus.

Auf der linken Seite befindet sich die Auswahl der jeweiligen Layer. Gerade bei Verwendung des Autorouters sollte man hier den 2. Layer deaktivieren. Dies kann ganz einfach mit einem Klick auf die Beschriftung erfolgen (component, GND-comp und VCC-comp). Ebenso sollte man unused (grün) und unused (blau) deaktivieren.

Als Route Style verwende ich den Power Style mit einer Dicke von 25 Mil (0.6 mm). Der Signal Style scheint mir gerade bei schlechten Belichtungsverhältnissen nicht ganz optimal zu sein.

Autorouter

Der Autorouter von PCB hat einige Schwächen, welche allerdings bei Hobby-Projekten völlig belanglos sind: Beispielsweise kann es bei TQFP-Gehäusen mit 100 Pins u. 0.5mm Pinabstand zu Problemen kommen, 64polige TQFP-Gehäuse (z. B. vom ATmega 128) gehen jedoch ohne Probleme.

Hat man sich soweit im Tutorial durchgearbeitet und seine Bauteile positioniert, kann der Autorouter zum Einsatz kommen. Auch hier ist ein wenig Experimentierfreude erforderlich, um zu zufriedenstellenden Ergebnissen zu kommen.

Unter Connects / Optimize routed Tracks / Miter können die gerouteten Linien in 45 Grad Winkel modifiziert werden.

Footprints

Screenshot

Sehr wichtig für das Zusammenspiel zwischen dem Schaltplaneditor Gschem und dem PCB ist die Verwendung der richtigen Footprints.

Mir persönlich ist aufgefallen, daß viele Pads zu klein sind. Gerade im Bereich der Hobbyätzerei könnten sie ruhig größer ausfallen.

Element Footprint Alternativer Footprint Beschreibung
Widerstand 1/4 Watt R0w4 R025 Ich benutze R0w4, weil die Pads größer sind.
Elko CR200 RADIAL_CAN 200 CR200 ist für größere Elkos (Umfang), während bei RADIAL_CAN 200 der Umfang kleiner ist. Leider fehlt die Polarität bei diesem Symbol. Allgemein jedoch sind bei beiden Elementen die Pads zu klein.

Pcb widerstand.png

Mir waren irgendwie alle Widerstände nicht ideal genug. Die Löcher werden ja meist mit 0.8mm gebohrt: (0.8 mm * (1 mil/ 0.0254 mm) = 31 mil. Eine Richtlinie für den gesamten Paddurchmesser habe ich nicht gefunden. Aus einer Elektor Platine habe ich mit Meßschieber ungefähr 2 mm gemessen, also 78 mil.

Element["" "R__0w4_10.16mm" "" "" 0 0 0 -10300 0 100 ""]
(
    Pin[0 0 7800 3100 6100 3500 "" "1" "edge2"]
    Pin[40000 0 7800 3100 6100 3500 "" "2" "edge2"]
    ElementLine [7900 0 4400 0 1000]
    ElementLine [32000 0 35500 0 1000]
    ElementLine [7900 -3300 7900 3300 1000]
    ElementLine [32000 -3300 32000 3300 1000]
    ElementLine [7900 -3300 32000 -3300 1000]
    ElementLine [7900 3300 32000 3300 1000]
)

Für Kapazitäten mit einer Breite von 2.54 mm oder 5.08 mm nutze ich folgendes Element

Element["" "" "" "" 65000 78500 0 0 0 100 ""]
(
    Pin[2000 -2500 7000 3000 4200 2000 "" "cap_2" "edge2"]
    Pin[-8000 -2500 7000 3000 4200 2000 "" "cap_1" "edge2"]
    Pin[-18000 -2500 7000 3000 4200 2000 "" "cap_1" "edge2"]
    Pad[-16000 -2500 -10000 -2500 1000 2000 3000 "" "1" ""]
    ElementLine [-4000 -6500 -4000 2500 1399]
    ElementLine [-2000 -6500 -2000 2500 1399]
)

Siehe auch

  • KiCAD - ein weiteres Open-Source-Paket für Schaltplan- und Layoutentwicklung