Open Source im professionellen Einsatz

Workshop: Schaltungssimulation mit der GPL'd Suite of Electronic Design Automation

Schalte und walte

Warum Versuchsschaltungen löten, wenn es auch in Software geht? Mit der Geda-Toolsuite halten Sie ein mächtiges Werkzeug für die Simulation elektronischer Schaltungen in der Hand. Der Workshop erklärt die Analog-Analyse anhand einer Verstärkerschaltung.

Des Menschen Hirn ist nicht sonderlich gut geeignet, um eine umfangreiche elektronische Schaltung auf dem Papier zu verstehen, zu komplex ist das Zusammenspiel der Bauelemente, zu tückisch mancher Seiteneffekt. Elektroniker arbeiten darum mit Versuchsaufbauten und Messtechnik - was dauert und Kosten erzeugt. Besser ist, die Schaltung am PC zu simulieren. Unzulänglichkeiten im Design fallen frühzeitig auf und Bauteile sind sehr einfach auszutauschen.

Linux-Nutzer finden mit der Geda (GPL\'d Suite of Electronic Design Automation, [1]) eine Toolsuite, die den Vergleich mit kommerzieller Software nicht scheut. Sie beschränkt sich nicht aufs Simulieren, Sie können damit alle Entwicklungsarbeiten für elektronische Schaltungen am PC absolvieren, einschließlich der Simulation von gemischten analog/digitalen Schaltungen, der Konstruktion der Schaltbilder und automatischer Stücklisten [2]. Tabelle 1 gibt einen Überblick.

Tabelle 1: Die
Geda-Tools

 

Tool-Name

Beschreibung

geda

Zentrales Programm zur Projektverwaltung

gschem

Schaltungs- und Bauteile-Editor.

gattrib

Ein tabellarischer Attribute-Editor, der Gschem-Dateien
öffnet.

gnetlist

Erstellt Eingabedateien für die Simulationsprogramme

gsymcheck

Tool zur Verifikation von Gschem-Symboldateien

ngspice

Simulation von gemischten analogen/digitalen Schaltungen

gnucap

Alternativer Schaltungssimulator zu NG Spice

gwave

Betrachter für analoge Simulationsergebnisse

gtkwave

Betrachter für digitale Simulationsergebnisse

iverilog

Icarus-Verilog-Compiler

vbs

Einfacher Verilog-Simulator

pcb

Leiterplatten-Editor, der Gerber-Daten erzeugt.

gsch2pcb

Konverter von Gschem nach PCB

gerbv

Betrachter für Gerber-Daten

gspiceui

Grafisches Frontend für NG Spice und Gnucap

wcalc

Mechanische und physikalische Analyse und Synthese von
Signalübertragern (Koaxialkabel, Streifenleitungen,
Magnetspulen)

mcalc

Browser-basiertes »wcalc«-Äquivalent

Unter [3] stehen die neuesten Sourcen als ISO-Image nebst Anleitung bereit. Für Debian, Fedora, Red Hat, Suse und Mac OS X gibt\'s auch kompilierte Pakete. Der Autor dieses Beitrags entschied sich für das Quellcode-ISO und Open Suse 10.0. Das »installer«-Skript startet grafisch, prüft Systemabhängigkeiten und bietet an, fehlende Software nachzuinstallieren. Nach Angabe der Verzeichnisse für Quellen und Kompilate starten Übersetzung und Installation der Suite. Ist die Installation abgeschlossen, wollen die Umgebungsvariablen aktualisiert sein, beispielsweise in »~/.bashrc«:

PATH=$PATH:/home/User/geda-install/bin
LD_LIBRARY_PATH=/home/User/geda-install/lib

Wenn Sie das Verhalten des Schaltungseditors Gschem sofort oder später feintunen wollen, geht das über Konfigurationsdateien, die das Programm beim Starten in folgender Reihenfolge abarbeitet: »share/gEDA/system-gschemrc« im Installationsverzeichnis, »~/.gEDA/gschemrc« (Benutzer-Einstellungen) und »gschemrc« im Projektverzeichnis (Projekt-Einstellungen). Die Gschem-Hilfe und die Kommentare in der installierten »system-gschemrc« liefern Details. Nach Studium der ebenso umfangreichen wie nützlichen Dokumente in »~/geda-install/share/doc« kann es losgehen. Abbildung 1 zeigt die Arbeitsschritte. Dieser Artikel geht den braun markierten Weg.

Abbildung 1: Von der Idee über Schaltplan und Simulation zur fertigen Leiterplatte - die grundlegenden Arbeitsschritte in Geda.

Abbildung 1: Von der Idee über Schaltplan und Simulation zur fertigen Leiterplatte - die grundlegenden Arbeitsschritte in Geda.

Schaltung aus der Praxis

Als Beispiel dient eine einfache Verstärkerschaltung, wie sie zum Beispiel als Mikrofonverstärker oder in einer Datenübertragungsstrecke als Signalverstärker vorkommt. Die Spannungsquelle Vvin repräsentiert das Eingangssignal. Das R1-C1-Hochpassfilter am Eingang dient zur Gleichspannungsentkopplung von der Signalquelle und schützt den Eingang des Operationsverstärkers vor statischen Aufladungen.

Die Widerstände geben den Verstärkungsfaktor der Schaltung vor: v=R2/(R2+R3)=2. Wer ihn variieren will, verwendet statt R2 und R3 ein Potenziometer. Der Kondensator C2 entkoppelt den Ausgang gegenüber nachfolgenden Schaltungen. R4 repräsentiert deren Eingangswiderstand. Die Spannungsquellen Vvcc und Vncc versorgen den Operationsverstärker mit +5 Volt und -5 Volt.

Schaltpan per Gschem

Im Folgenden werden Sie die in Abbildung 2 dargestellte Schaltung schrittweise mit Gschem erstellen. Hierzu legen Sie den Ordner »~/opamplifier« für das Projekt an, wechseln dorthin und starten »gschem«. Das Programm erstellt eine Datei, die Sie gleich im Projektordner als »opamplifier.sch« speichern.

Abbildung 2: Der mit Gschem erstellte Beispiel-Schaltplan eines nicht-invertierenden Verstärkers. Ein- und Ausgänge sind galvanisch entkoppelt.

Abbildung 2: Der mit Gschem erstellte Beispiel-Schaltplan eines nicht-invertierenden Verstärkers. Ein- und Ausgänge sind galvanisch entkoppelt.

Gschem kennt drei Modi: Auswahlmodus (Standard), Kopier- und Verschiebemodus. Je nach Aktion wechseln die Modi teils automatisch. Tabelle 2 gibt einen Überblick über wichtige Befehle, Abbildung 3 über Gschems Tool-Leiste. Als Erstes erstellen Sie die beiden Spannungsquellen. Der Klick auf den Button »Bauteile auswählen« öffnet ein Fenster, in dem Sie Schaltsymbole aussuchen. Sie nehmen »vdc-1.sym« aus der Bibliothek »spice«. Nach einem Klick auf den Button »Anwenden« lässt sich das Symbol im Hauptfenster platzieren.

Abbildung 3: Ein Abschnitt der Tool-Leiste mit der Bezeichnung der darin enthaltenen Buttons.

Abbildung 3: Ein Abschnitt der Tool-Leiste mit der Bezeichnung der darin enthaltenen Buttons.

Tabelle 2: Wichtige
Gschem-Befehle

 

Menübefehl

Alternative Tastenfolge

Beschreibung

Bearbeiten | Auswahl Modus

[S]

Auswahlmodus zum Auswählen von Symbolen

Bearbeiten | Bearbeiten

[E][E]

Editieren von Symbolattributen

Bearbeiten | Text bearbeiten

[E][X]

Editieren der gewählten Beschriftungen

Bearbeiten | Kopiermodus

[E][C]

Das zuvor gewählte Symbol anschließend mit der
linken Maustaste als Kopie abziehen

Bearbeiten | Verschiebemodus

[M]

Verschieben der gewählten Symbole

Bearbeiten | Löschen

[Entf]

Ausgewähltes Symbol löschen

Bearbeiten | Dreh Modus 90°

[E][R]

Gewähltes Symbol um 90° drehen

Bearbeiten | Spiegel Modus

[E][I]

Gewähltes Symbol spiegeln

An dieser Stelle tritt ein kleiner Bug zutage: Das Symbol ist nur Stecknadelkopf-groß - das Symbolleistenmenü »Ansicht | Automatisch« sorgt für Abhilfe. Ein Doppelklick auf das Symbol öffnet das Attribute-Fenster (Abbildung 4). Dem Attribut »refdes« weisen Sie den Wert »Vvcc« und dem »value«-Attribut eine Gleichspannung von 5 Volt zu.

Abbildung 4: Das Attribute-Fenster öffnet sich durch einen Doppelklick auf das betreffende Bauteilsymbol.

Abbildung 4: Das Attribute-Fenster öffnet sich durch einen Doppelklick auf das betreffende Bauteilsymbol.

Die Spalte »Sichtbar?« gibt an, ob das Hauptfenster das Attribut zeigt oder nicht. Nach dem Schließen des Fensters ist das Symbol beschriftet. Beschriftungen und Symbole verrücken Sie im »Bearbeiten | Verschiebemodus«. Nun positionieren Sie das Symbol »Vcc« am Pin 1 der Spannungsquelle und GND am Pin 2. Sie finden beide in der Bibliothek »power« als »vcc-1.sym« und »gnd-1.sym«.

Für die negative Spannung Vnvcc kopieren Sie »Vvcc« zusammen mit GND, indem Sie einen Rahmen um beide ziehen. Das Betätigen der rechten Maustaste öffnet ein Pull-down-Menü, durch »Kopieren« gelangen Sie in den Kopiermodus, dort ziehen Sie das Duo ab. Das Symbol für »-Vcc« befindet sich in »vcc-minus.sym« der Bibliothek »power«. Die Tasten [E][R] drehen das Bauteil.

Nun verdrahten Sie es mit Pin 1 von Vnvcc, indem Sie mit dem Button »Netz einfügen« das richtige Werkzeug zur Hand nehmen. Die Verdrahtung startet an geeigneter Stelle mit Linksklick. Weitere Klicks fixieren Zwischenpunkte, bis Sie das Ziel erreichen. Die rechte Maustaste beendet das Manöver.

Das Symbol für die Signalquelle Vvin liegt in der Bibliothek »spice« unter »vsin.sym«. Seinem »refdes«-Attribut weisen Sie »Vvin« zu und »value« erhält »sin 0 2.3 1k«. Die Quelle liefert dadurch ein gleichspannungsfreies 1-kHz-Sinussignal mit 2,3 Volt Amplitude. Nun der erste Kondensator: Dessen Symbol »capacitor1.sym« liegt in der Bibliothek »analog«. Dem Attribut »refdes« geben Sie den Wert »C1«, »value« erhält »200n« (Nanofarad). Danach verbinden Sie das Bauteil mit der Signalquelle Vvin.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook