EDA mit OpenSource - Xcircuit, spice und pcb

+A -A
Autor
Beitrag
Cpt._Baseballbatboy
Inventar
#1 erstellt: 16. Okt 2008, 19:04
Moin,

die Tage ist mir was aufgefallen: es gibt hier eine Menge Beschreibungen zu tollen Programmen wie EAGLE, LTSpice/PSpice etc. pp. Aber mit OpenSource Software beschäftigt sich hier kaum jemand. Dabei bietet das doch die Möglichkeit, über die Limitierungen (entweder persönlicher, d. h. finanzieller, oder technischer, z. B. Einschränkungen der Layer oder Platinengrößen) der kommerziellen Software hinaus zu gehen.

Zuerst mal ne kleine Aufstellung von den Programmen, die mir bekannt sind:

gEDA, zahlreiche Tools, darunter pcb: http://www.geda.seul.org/
xcircuit: http://opencircuitdesign.com/xcircuit/
kicad: http://www.lis.inpg.fr/realise_au_lis/kicad/
Und natürlich The Original Spice: http://bwrc.eecs.berkeley.edu/Classes/icbook/SPICE/

Für mich persönlich nutze (oder besser: arbeite mich rein) XCircuit, spice und pcb. Hat verschiedene Gründe:

- ich benutze als Betriebssystem OpenBSD, da sind einige Sachen von gEDA (unter anderem das Schematics-Programm) nicht verfügbar
- kicad kommt zwar einer integrierten Umgebung wie EAGLE am nächsten, aber schon alleine die Erstellung eines Schaltplans finde ich eine Katastrophe.

Insgesamt soll es darum gehen, eine Schaltung mit XCircuit zu erstellen und in Spice zu simulieren. Ich nehme die Kollektorschaltung, einfach weil sie komplex genug ist, um die Bedienung von XCircuit zu erklären, andererseits einfach genug, um innerhalb weniger Minuten auf das Papier gebracht worden zu sein.

Schritt 1: Eigene Bauteile erstellen

Ein großer Vorteil der kommerziellen Programme sind ihre mitgelieferten Bauteilebibliotheken. So einen Service kann man sich bei OpenSource natürlich getrost in die Haare schmieren, obwohl schon einiges dabei ist.

Für die Kollektorschaltung reicht ein einziges selbst erstelltes, und zwar der Transistor. Es soll hier einfach mal ein Standard-BJT sein, der BC547. Eigentlich müsste man auch die Widerstände und Kondensatoren sich selber erstellen, von wegen Bauform, Typ, Spannungsfestigkeit, etc., aber darüber sehe ich heute mal hinweg. Kann ja jeder halten wie er lustig ist.

Zuerst startet man XCircuit. Es begrüßt einen mit einer leeren Seite, in die die man "Z" raus und mit "Shift+Z" reinzoomen kann. Wir wollen uns aber als erstes das passende Bauteil erstellen. Dazu geht man mit "l" in die standardmäßig geladenen Bibliotheken. Durch mehrmaliges Drücken schaltet man zwischen den einzelnen Bibs durch. Mit "L" kommt man zu einer Übersichtsseite. Wir gehen zu "analoglib2" und wählen den NPN-Transistor. Den kann man dann mit dem Mauszeiger auf der bisher blanken Seite platzieren. Mit der mittleren Maustaste kann man ihn wieder auswählen, und dann im Menü "Edit -> Make User Object" klicken um ihn in die Bibliothek "user" zu setzen. Erst soll noch ein Name gewählt werden, der sollte natürlich sinnvoll sein, also BC547.

Jetzt gehen wir wieder mit "l" oder "L" zu der "user"-Bib. Das Bauteil dort wieder mit der mittleren Maustaste auswählen, und dann mit ">" in den Editiermodus wechseln. Dort sollte jetzt nur das einfach Symbol zu sehen sein. Als nächstes müssen wir ein paar Parameter schaffen. Parameter können sein Modell, Index (Nummer auf dem Schaltplan), Footprint, Hersteller, usw. Dazu klickt man im Menü auf "Text -> Parameterize". Es erscheint ein Dialog, indem man Name und Wert des Parameters durch Leerzeichen getrennt eingibt, also z. B. "model BC547" und "idx ?". Das Fragezeichen ist an der Stelle ziemlich spannend. Es ist ein Platzhalter, den XCircuit bei Erzeugung einer Netlist fortlaufend durchnummeriert. Für einen ordentlichen Schaltplan gehört es sich jedoch, das der Ersteller das selber macht. Dazu noch später.

Das Kind braucht natürlich noch einen Namen, sprich eine Beschriftung im Schaltplan. Dazu drückt man die Taste "t" und kann nun Text eingeben. Es ist möglich, in diesen Text die Parameter einzubauen. Dazu drückt man "Alt+p" und kann dann den Parameter auswählen. Wir machen das hier folgendermaßen: Die Bezeichnung startet mit "Q", dahinter wird dann "idx" als Parameter eingefügt. Dann mit Menü "Text -> Insert -> Carriage Return" kommt ein Zeilenumbruch, und dann fügt man noch den Parameter "model" ein.

Als nächstes müssen die Pins gekennzeichnet werden. Dazu geht man mit der Maus ans Ende der jeweiligen Zuleitung, drückt "T" (Shift+t) und gibt wieder einen Text ein (sollte rot erscheinen). Wie man die Pins bezeichnet ist eigentlich scheißegal, es sollte nur genauso wie im Layout-Programm sein, dann erspart man sich ne Menge Arbeit. Wir nehmen B, C und E, wie sich das gehört. Mit "f" und "F" kann man die Bezeichner ein wenig herumschleudern, damit es einigermaßen erträglich aussieht.

Zuletzt kommt noch eine Anweisung mit hinein, wie das Programm die Spice-Netlist erstellen soll. Das geht folgendermaßen: Einen Text an beliebiger Stelle einfügen ("t"), und dann muss dieses Statement da stehen:
"Q? %pC %pB %pE BC547"
Das "?" und "BC547" sind natürlich wieder wie oben als Parameter einzufügen. Für Spice-Enthusiasten sieht das schon fast so aus wie eine ganz normale Zeile in einer Netlist. Es gibt halt nur ein paar Variablen. "%pB" bedeutet z. B., dass an dieser Stelle die Knoten-Nummer eingefügt werden soll, an der Pin "B" hängt. Die Reihenfolge ist für Spice wichtig. Ganz zum Schluss kommt das Modell.

Jetzt ist das Bauteil fertig. Den Editiermodus verlässt man mit "<". Man kommt wieder auf die Bib-Seite. Die sollte gespeichert und für spätere Zwecke aufbewahrt werden (Menü "File -> Save Library Page").

Mit "Esc" kommt man wieder in den eigentlichen Schaltplan, und sieht, dass sich auf wundersame Weise der ursprünglich eingefügte Transistor etwas verändert hat. Was natürlich jetzt noch fehlt ist ein korrekter Index des Bauteils. Dazu markiert man den Transistor (mittlere Maustaste), drückt "Strg+p", es öffnet sich der Parameter-Dialog, man klickt auf das Fragezeichen hinter "idx" und gibt stattdessen einen Wert ein, z. B. "100". Und schon ist das Bauteil mit "Q100" sauber gekennzeichnet.

Man könnte jetzt auch ganz einfach aus dem 547 einen 546 machen: einfach den Parameter "model" anpassen. Der BC546 in der Bibliothek bleibt davon unberührt.

Für heute reicht es erstmal. Es wurde genug geschrieben. Viel Spaß beim Experimentieren.

Cpt.
Suche:
Das könnte Dich auch interessieren:
Software (LT-)Spice
mergan am 03.12.2012  –  Letzte Antwort am 18.12.2012  –  8 Beiträge
UL-Gegentaktübertrager in Spice
GüntherGünther am 21.01.2014  –  Letzte Antwort am 31.01.2014  –  9 Beiträge
suche Spice models...
Wuermchen am 29.08.2005  –  Letzte Antwort am 29.08.2005  –  3 Beiträge
Spice Modelle von Transistoren
gandalf391 am 16.01.2014  –  Letzte Antwort am 17.01.2014  –  2 Beiträge
PCB - Layout
fku am 02.08.2004  –  Letzte Antwort am 02.08.2004  –  2 Beiträge
PCB - ThreeResAmp von Mick_F
aloa am 09.05.2009  –  Letzte Antwort am 10.05.2009  –  3 Beiträge
PCB Leistungs-Verbinder ?
Mauby am 07.07.2015  –  Letzte Antwort am 09.07.2015  –  14 Beiträge
Pierce Schaltung in LT spice
leon2011 am 14.08.2011  –  Letzte Antwort am 15.08.2011  –  4 Beiträge
Festplatten PCB Board
crimsonidol7 am 08.03.2015  –  Letzte Antwort am 10.03.2015  –  29 Beiträge
pcb oder umständlich verdrahten?
Filzlöckchen am 21.07.2010  –  Letzte Antwort am 21.07.2010  –  8 Beiträge
Foren Archiv
2008

Anzeige

Produkte in diesem Thread Widget schließen

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.778 ( Heute: 1 )
  • Neuestes MitgliedCesarpoile
  • Gesamtzahl an Themen1.551.194
  • Gesamtzahl an Beiträgen21.540.494

Hersteller in diesem Thread Widget schließen