Nixie-Treiber-Charlieplexing
Nur schwer lässt sich der Charme von Nixies ersetzen. Das einfache Funktionsprinzip und die nötigen Spannungen sorgen allerdings auch dafür, dass die Ansteuerung für moderne Elektronik etwas unpraktisch ist. Man könnte aber sagen, dass Nixie-Treiber ein gelöstes Problem sind, es gibt schließlich genügend Varianten: Klassisch mit einem 74141, mit einzelnen Hochspannungstransistoren und Schieberegistern, oder mit Multiplexing für mehrere Röhren. Multiplexing ist teilweise umstritten: Während man sich eindeutig Pins spart, wird vielfach angeführt, dass sich die notwendigerweise höheren Spitzenströme negativ auf die Lebensdauer der Nixies auswirken.
Dieser Beitrag dreht sich aber nicht ums Multiplexen von Nixies.
In der Theorie
Vielmehr geht es um die Treibertransistoren.
Vergleicht man mit der üblichen Treiberschaltung, fallen einige Merkwürdigkeiten auf:
- Die Emitter der Transistoren sind nicht mit Masse verbunden; es gibt nicht mal eine Masse im Schaltplan. Die Emitter sind auch nicht direkt, sondern über einen Serienwiderstand, mit den Mikrocontroller-Pins verbunden, die als Masse fungieren könnten.
- Die Anode ist direkt mit der Hochspannungsversorgung verbunden und nicht über einen Serienwiderstand, wie üblich.
- Generell sieht es eher so aus als wären zu viele Transistoren mit zu wenigen Signalen verbunden.
Beschränken wir uns auf eine Kathode, sagen wir die Null, um die Funktionsweise nachzuvollziehen. Wenn man für eine Sekunde alles andere ignoriert, ist offensichtlich, dass der Transistor ganz links nur dann leiten wird, wenn Leitung A positiv gegenüber Leitung B ist, also wenn der Mikrocontroller diese auf high respektive low setzt und ein Basisstrom fließen kann. Letzterer hat einen Kollektorstrom und somit einen Spannungsabfall über der Nixie-Röhre (Anode zu Kathode 0) zur Folge, wodurch die Gasentladung zünden kann. Der Strom fließt nun von der 170 V-Versorgung über die Gasentladung in der Nixe, den Transistor und einen 1 kΩ-Widerstand in den Mikrocontroller-Pin.
Sobald die Gasentladung gezündet wurde, bricht der Spannungsabfall über der Nixie ein. Üblicherweise dient der Widerstand in der Anodenleitung zur Strombegrenzung. In unserem Fall allerdings ruft der durch die Gasentladung fließende Kollektorstrom einen Spannungsabfall am Emitterwiderstand hervor, wodurch die Basis-Emitter-Spannung sinkt. Mit anderen Worten, statt eines Anodenwiderstands als Strombegrenzung bildet der Treibertransistor eine Konstantstromsenke. Der Kathodenstrom wird durch den Basis-Emitter-Spannungsabfall, die Spannung der Ausgänge des Mikrocontrollers und den Emitterwiderstand bestimmt (der Basiswiderstand ist nahezu irrelevant). Bei einer Versorgungsspannung von 3,3 V führt der 1 kΩ-Widerstand zu einem Kathodenstrom von ca. 2,6 mA, was sehr gut zu den Nixies passt, für die ich die Schaltung verwenden wollte.
Ziffern 0 und 7 werden beide von den Leitungen A und B gesteuert: Da die Transistoren nur bei positiver Basis-Emitter-Spannung leiten, spricht nichts dagegen, beide Polaritäten zu nutzen. Da der Mikrocontroller seine Pins auch hochohmig schalten kann, kann man die volle Charlieplexing-Konfiguration ausnutzen und N²–N Treibertransistoren und Nixie-Kathoden mit N Mikrocontrollerpins ansteuern. Mit vier Pins wäre das ein Maximum von 12 Kathoden.
Um alle Ziffern abzuschalten, reicht es aus alle Pins hochohmig zu schalten. Die Leckströme fließen dann über die Schutzdioden der Mikrocontrollerpins ab. Alle Pins auf low oder high zu setzen, funktioniert ebenso, da auch dann keiner der Transistoren einschalten kann.
Ein netter Nebeneffekt der Schaltung ist, dass sie nicht nur weniger Mikrocontrollerpins benötigt als eine direkte einzelne Ansteuerung jeder Kathode, sondern auch weniger Bauteile, da man nur einen Widerstand pro Pin braucht. Die Konstantstromsenken könnten auch nützlich sein, falls man eine unregulierte Hochspannungsversorgung hat. Mehr als eine Ziffer kann man allerdings nicht auf einmal treiben, da nur einer der Transistoren in der „Matrix“ auf einmal aktiv sein kann. An sich wäre es möglich, eine größere Charlieplexing-Matrix aus Treibertransistoren zu bauen, die Anoden zu schalten und letztlich die einzelnen Ziffern zu multiplexen, hat aber die zusätzliche Begrenzung, dass jeder Mikrocontroller-Pin den vollen Kathoden-Pulsstrom ableiten können muss. Die sicherste Lösung ist es also, die Schaltung oben für jede Ziffer einzeln aufzubauen.
In der Praxis
Ein simpler Testaufbau verwendet eine QS30-1, einzelne Kontakte (keine Fassung zu Hand) und eine kleine Mikrocontroller-Platine. Wenn die Treibertransistoren direkt an den Kathoden positioniert und der Rest mit Fädeldraht verbunden ist, sieht die Schaltung etwas unwirklich aus, mit ihren zu vielen Transistoren und zu wenigen anderen Bauteilen.
Ein Nachteil wurde sogleich offensichtlich. Da die Transistoren durch hochohmige Mikrocontroller-Pins abgeschaltet werden, sind Leckströme potentiell relevant, besonders wegen der Stromverstärkung der Transistoren. In meinem Fall führten Flussmittelrückstände direkt zu Ghosting, eine Reinigung löste das Problem aber sofort. Die Schaltung ist also nützlich vor allem, wenn Staub und andere Verunreinigungen auf der Platine begrenzt werden können.
Während dieser Beitrag entstand, recherchierte ich nach weiteren Nennungen dieser oder verwandter Schaltungen, es gibt schließlich eine lange Geschichte von Nixie-Treibern. Ein Beitrag aus dem Jahr 2003 (Englisch) beschreibt unter anderem, die Konstantstromsenkenidee und das Charlieplexing von Treibertransistoren (mit Anodenwiderstand). Bisher konnte ich keine Nennung eines praktischen Aufbaus der hier beschriebenen Schaltung finden und bin natürlich interessiert an Erfahrungsberichten.