Inhaltsverzeichnis:

Arduino gesteuertes Nixie-Röhren-Thermometer - Gunook
Arduino gesteuertes Nixie-Röhren-Thermometer - Gunook

Video: Arduino gesteuertes Nixie-Röhren-Thermometer - Gunook

Video: Arduino gesteuertes Nixie-Röhren-Thermometer - Gunook
Video: Arduino gesteuertes Auto für die Carrera Bahn 2024, November
Anonim
Arduino-gesteuertes Nixie-Röhren-Thermometer
Arduino-gesteuertes Nixie-Röhren-Thermometer

Ich habe vor Jahren ein paar IN-14 Nixie-Röhren aus der Ukraine gekauft und habe sie seitdem herumliegen. Ich wollte sie schon immer für ein benutzerdefiniertes Gerät verwenden und habe mich daher entschlossen, dieses Projekt endlich in Angriff zu nehmen und etwas zu bauen, das diese fast uralte Art der Anzeige von Ziffern nutzt, aber im Moment wollte ich keine Nixie-Röhrenuhr bauen (das dachte ich war ein bisschen klischeehaft und ich habe jetzt genug von ausgefallenen Hipster-Uhren-Projekten), also dachte ich: Warum nicht ein Thermometer für mein Zimmer bauen, das sich durch Klatschen aktivieren lässt? Ich habe es klatschen lassen, damit es nicht die ganze Zeit brennt, weil ich das für eine ziemliche Energieverschwendung hielt und auch nicht wollte, dass es den Raum beleuchtet, vor allem nachts.

Gesteuert werden die Nixie-Röhren von einem Arduino, der auch für das Auslesen der Temperatur vom bekannten DHT-11 Temperatursensor zuständig ist.

Dies ist eine gekürzte Kopie meiner Originalserie, die auf meiner Website veröffentlicht wurde. Schauen Sie es sich an, wenn Sie an anderen technischen Artikeln und Projekten interessiert sind, die ich noch nicht für Instructables bearbeitet habe.

Schritt 1: Nixie-Röhren und Hochspannung

Nixie-Röhren und Hochspannung
Nixie-Röhren und Hochspannung

Nixie-Röhren sind Kaltkathodenröhren, die mit einem bestimmten Gas gefüllt sind. Darüber hinaus enthalten sie eine gemeinsame Anode (oder Kathode) und separate Kathoden (oder Anoden) für jede Ziffer oder jedes Zeichen, das sie anzeigen können (siehe Abb. 1.1).

In meinem Fall haben die Röhren eine gemeinsame Anode und die Ziffern sind separate Kathoden. Im Gegensatz zu anderen Röhren aus dieser Zeit (Transistoren, Dioden, …) müssen Nixie-Röhren normalerweise nicht erhitzt werden, um richtig zu funktionieren (daher der Name: Kaltkathodenröhre).

Das einzige, was sie benötigen, ist eine ziemlich hohe Spannung, typischerweise zwischen 150 und 180 V DC. Dies ist normalerweise das Hauptproblem beim Umgang mit diesen Anzeigegeräten, da Sie eine benutzerdefinierte Stromversorgung oder Aufwärtsschaltung und Controller benötigen, die in der Lage sind, die Kathoden ein- und auszuschalten, ohne zu viele GPIO-Leitungen zu verwenden.

Schritt 2: 12V zu 170V DC Aufwärtswandler

12V zu 170V DC Aufwärtswandler
12V zu 170V DC Aufwärtswandler

Beginnen wir damit, irgendwie die notwendige Spannung zu erzeugen, um die Röhren zum Leuchten zu bringen. Glücklicherweise benötigt die typische Nixie-Röhre eine hohe Spannung, aber einen sehr geringen Strom, was bedeutet, dass es recht einfach und billig ist, einen solchen Wandler zu bauen.

Seien Sie vorsichtig, wenn Sie diese Schaltung und im Allgemeinen hohe Spannungen verwenden. Sie sind kein Spielzeug und ein Zap zu bekommen, tut im besten Fall sehr weh und kann Sie im schlimmsten Fall möglicherweise töten! Schalten Sie immer die Stromversorgung aus, bevor Sie die Schaltung ändern/ warten und verwenden Sie ein geeignetes Gehäuse, damit niemand es während des Betriebs versehentlich berührt!

Für den Aufwärtswandler habe ich den bekannten integrierten Schaltkreis MC34063 verwendet. Dieser kleine IC vereint alles, was Sie für jede Art von Schaltwandler benötigen. Anstatt den eingebauten Transistor des ICs zu verwenden, entschied ich mich jedoch für einen externen Transistor, der dazu beitrug, den IC kühl zu halten und mir auch eine höhere Stromaufnahme am Ausgang ermöglichte. Da es außerdem überraschend schwer war, die richtigen Werte für all diese Komponenten zu finden, um eine Ausgabe von 170 V zu erhalten, gab ich nach einigen Tagen der Berechnungen und Tests auf (das Höchste, das ich von 12 V bekam, waren 100 V) und beschloss, nicht neu zu erfinden das Rad. Stattdessen habe ich einen Bausatz von eBay gekauft, der mit ein paar Anpassungen ziemlich dem Schema aus diesem Datenblatt entspricht (siehe Abb. 2.1. Ich habe auch Beschreibungen zum Bild hinzugefügt).

Schritt 3: Steuern der Röhren mit einem Arduino

Steuerung der Röhren mit einem Arduino
Steuerung der Röhren mit einem Arduino

Wie Sie bereits gesehen haben, benötigen die Röhren also eine hohe Spannung zum Einschalten. „Wie kann man also die Röhren mit einem Mikrocontroller wie einem Arduino ein- und ausschalten?“, könnten Sie sich fragen.

Um dieses Ziel zu erreichen, gibt es einige alternative Wege. Zum Beispiel dedizierte Nixie-Röhrentreiber. Sie können immer noch neue alte Lagerbestände und gebrauchte ICs bekommen, aber sie können schwer zu finden sein und sie können teuer sein und ich erwarte nicht, dass sie in Zukunft leichter zu finden sind, da diese nicht mehr hergestellt werden.

Ich werde also keinen solchen Nixie-Röhrentreiber verwenden. Stattdessen verwende ich Transistoren und Binär-zu-Dezimal-Decoder, damit ich nicht 10 GPIO-Leitungen pro Nixie-Röhre verwenden muss. Bei diesen Decodern benötige ich 4 GPIO-Leitungen pro Röhre und eine Leitung, um zwischen zwei Röhren zu wählen.

Damit ich nicht ständig mit hoher Frequenz zwischen den Röhren wechseln muss, verwende ich Flip-Flops (die eine zusätzliche GPIO-Leitung zum Zurücksetzen benötigen), um den letzten Eingang so lange wie nötig beizubehalten (Siehe Abb. 3.1, klicken Sie hier für den vollständigen Regelkreis in hoher Auflösung).

Schritt 4: Designüberlegungen

Beim Entwerfen dieser Schaltung bin ich auf Decoder mit eingebauten R/S-Flip-Flops gestoßen, die noch produziert werden (zB der CD4514BM96). Aber leider konnte ich diese nicht schnell bekommen, da die Lieferzeit zwei Wochen betrug und ich nicht so lange warten wollte. Wenn Ihr Ziel also darin besteht, eine kleine Leiterplatte herzustellen (oder Sie eine kleine Anzahl verschiedener ICs haben möchten), sollten Sie auf jeden Fall einen solchen Chip verwenden, anstatt externe Flip-Flops zu verwenden.

Es gibt auch invertierte Varianten dieser Decoder. Zum Beispiel ist der CD4514BM965 die invertierte Variante zum oben genannten IC, bei der die gewählte Zahl niedrig statt hoch ist, was in diesem Fall nicht das ist, was wir wollen. Achten Sie daher bei der Bestellung Ihrer Teile auf dieses Detail. (Keine Sorge: Eine vollständige Teileliste wird später in diesem Instructable enthalten sein!)

Sie können jede Art von Transistor für Ihr Array verwenden, solange die Nennwerte der Spannung und Stromaufnahme Ihrer Röhren entsprechen. Es gibt auch Transistor-Array-ICs, aber auch hier konnte ich keine finden, die über 100 V ausgelegt waren oder schnell verfügbar waren.

Schritt 5: Das Transistor-Array

Das Transistor-Array
Das Transistor-Array

In Schritt 3 habe ich das Transistor-Array nicht gezeigt, um die Grafiken einfach und leicht verständlich zu halten. Abbildung 5.1 zeigt das fehlende Transistor-Array im Detail.

Wie Sie sehen, ist jeder Digitalausgang des Decoders über einen Strombegrenzungswiderstand mit der Basis eines npn-Transistors verbunden. Das ist alles, ganz einfach.

Stellen Sie nur sicher, dass die von Ihnen verwendeten Transistoren eine Spannung von 170V und einen Strom von 25mA verarbeiten können. Um herauszufinden, was Ihr Basiswiderstandswert sein muss, verwenden Sie den Rechner, der am Ende dieser Anleitung unter "Weitere Messwerte" verlinkt ist.

Schritt 6: Lesen der Temperatur

Ablesen der Temperatur
Ablesen der Temperatur
Ablesen der Temperatur
Ablesen der Temperatur

Sie haben vielleicht schon von dem kombinierten Temperatur- und Feuchtigkeitssensor DHT-11 (oder DHT-22) gehört (siehe Abb. 6.1). Der einzige Unterschied zwischen diesem Sensor und dem DHT-22 ist die Genauigkeit und der Messbereich. Der 22 hat eine höhere Reichweite und eine bessere Genauigkeit, aber für die Messung der Raumtemperatur ist der DHT-11 mehr als ausreichend und günstiger, auch wenn er nur ganzzahlige Ergebnisse liefern kann.

Der Sensor benötigt drei Anschlüsse: VCC, GND und eine einzelne Leitung für die serielle Kommunikation. Verbinden Sie es einfach mit der Spannungsquelle und verbinden Sie das einzelne Kabel für die Kommunikation mit einem GPIO-Pin des Arduino. Das Datenblatt schlägt vor, einen Pull-Up-Widerstand zwischen der Com-Leitung und VCC hinzuzufügen, damit die Kommunikationsleitung bei Nichtgebrauch im High-Zustand ist (siehe Abb. 6.2).

Glücklicherweise gibt es bereits eine Bibliothek für das DHT-11 (und eine Reihe gut dokumentierter Bibliotheken für das DHT-22), die die Kommunikation zwischen dem Arduino und dem Temperatursensor übernimmt. Eine Testanwendung für diesen Teil ist also recht kurz:

Schritt 7: Vollständige Arduino-Skizze

Nachdem die Sensorauslesungen abgeschlossen waren, bestand der letzte Schritt darin, die Informationen von den Sensoren zu übernehmen und die Temperatur mit den Nixie-Röhren anzuzeigen.

Um eine bestimmte Zahl an einer Röhre einzuschalten, müssen Sie einen 4-Bit-Code an den Decoder senden, der den richtigen Transistor einschaltet. Außerdem müssen Sie noch ein Bit übertragen, das angibt, welche der beiden Röhren Sie gerade setzen möchten.

Ich beschloss, vor jedem Eingang des Decoders einen R/S-Latch hinzuzufügen. Für diejenigen unter Ihnen, die nicht wissen, wie einer dieser Riegel funktioniert, hier eine kurze Erklärung:

Es ermöglicht Ihnen im Grunde, ein Bit an Informationen zu speichern. Der Latch kann SET und RESET sein (daher der Name R/S-Latch, auch bekannt als S/R-Latch oder R/S-Flip-Flop). Durch Aktivieren des SET-Eingangs des Latch wird der Ausgang Q auf 1 gesetzt. Durch Aktivieren des RESET-Eingangs wird Q 0. Sind beide Eingänge nicht aktiv, bleibt der vorherige Zustand von Q erhalten. Wenn beide Eingänge gleichzeitig aktiviert werden, haben Sie ein Problem, da der Latch in einen instabilen Zustand gezwungen wird, was im Grunde bedeutet, dass sein Verhalten unvorhersehbar ist. Vermeiden Sie diesen Zustand also um jeden Preis.

Um also die Nummer 5 auf der ersten (links) und die Nummer 7 auf der zweiten Nixie-Röhre anzuzeigen, müssen Sie:

  • RESET alle Riegel
  • Aktiviere die linke Tube (Sende 0 über die EN-Leitung)
  • Stellen Sie die Eingänge des Decoders (D, C, B und A) ein: 0101
  • D, C, B und A alle auf 0 setzen, damit der letzte Zustand erhalten bleibt (dies muss nicht gemacht werden, wenn beide Röhren die gleiche Nummer anzeigen sollen)
  • Aktiviere die rechte Röhre
  • Stellen Sie die Eingänge des Decoders (D, C, B und A) ein: 0111
  • Setze D, C, B und A alle auf 0, damit der letzte Zustand erhalten bleibt

Um die Röhren auszuschalten, können Sie einen ungültigen Wert (wie 10 oder 15) übertragen. Der Decoder schaltet dann alle Ausgänge aus und daher wird keiner der verfügbaren Transistoren aktiviert und es fließt kein Strom durch die Nixie-Röhre.

Die gesamte Firmware können Sie hier herunterladen

Schritt 8: Bestellung der Platine

Bestellung der Leiterplatte
Bestellung der Leiterplatte
Bestellung der Leiterplatte
Bestellung der Leiterplatte
Bestellung der Leiterplatte
Bestellung der Leiterplatte

Ich wollte alles (außer der Step-Up-Schaltung) auf einer Platine vereinen, was meiner Meinung nach ziemlich gut gelungen ist (Siehe Abb. (8.1).

Ein Hauptziel von mir war es, die PCB-Größe so klein wie möglich zu halten, aber dennoch etwas Platz zu bieten, um es am Gehäuse zu montieren. Ich wollte auch SMD-Bauteile verwenden, um meine Löttechnik zu verbessern und sie würden auch dazu beitragen, die Leiterplatte dünn zu halten, damit das Custom-Gehäuse nicht groß und sperrig sein muss (siehe Abb. 8.2).

Aufgrund der Verwendung von SMD-Bauteilen mussten die meisten Verbindungen bauteilseitig hergestellt werden. Ich habe versucht, so wenig Vias wie möglich zu verwenden. Die unterste Schicht hat wirklich nur die GND-, VCC- und +170V-Leitungen und einige Verbindungen, die zwischen verschiedenen Pins desselben ICs hergestellt werden mussten. Das ist auch der Grund, warum ich statt ihrer SMD-Varianten die beiden DIP-16 ICs verwendet habe.

Hier können Sie die PCB-Designdateien und EAGLE-Schaltpläne herunterladen.

Da es sich um ein winziges Design mit sehr kleinen Toleranzen und Leiterbahnen handelt, war es wichtig, einen guten Hersteller für die Leiterplatten zu finden, damit sie schön werden und richtig funktionieren.

Ich habe mich entschieden, sie bei PCBWay zu bestellen und kann mit dem Produkt, das sie mir geschickt haben, nicht zufriedener sein (siehe Abb. 8.3).

Sie können sofort online ein Angebot für Ihre Prototypen einholen, ohne sich registrieren zu müssen. Wenn Sie sich für eine Bestellung entscheiden: Sie haben auch diesen praktischen Online-Konverter, der EAGLE-Dateien in das richtige Gerber-Format konvertiert. Obwohl EAGLE auch einen Konverter hat, mag ich Online-Konverter von Herstellern sehr, weil man so 100% sicher sein kann, dass es keine Kompatibilitätsprobleme mit der Gerber-Version geben wird.

Schritt 9: Fehlerbehebung

Fehlerbehebung
Fehlerbehebung

Beim ersten Testen meiner frisch gelöteten Platine funktionierte nichts. Entweder zeigten die Röhren gar nichts an (Decoder erreichten einen Wert > 9) oder Zufallszahlen blieben entweder konstant an oder blinkten an und aus, was schön aussah, aber in diesem Fall unerwünscht war.

Zuerst machte ich die Software verantwortlich. Also habe ich mir diesen Nixie-Tester für Arduino ausgedacht (siehe Abb. 9.1).

Mit diesem Skript können Sie eine Nummer eines GPIO-Pins (0-8) eingeben, dessen Zustand Sie ändern möchten. Es fragt dann nach dem Staat. Bei Eingabe von Pin Nummer 9 werden die Latches zurückgesetzt.

Also setzte ich meine Tests fort und erstellte eine Wahrheitstabelle mit allen möglichen Eingaben für A, B, C und D. Mir fiel auf, dass die Zahlen 4, 5, 6 und 7 mit keiner der beiden Röhren angezeigt werden konnten. Außerdem würden sie unterschiedlich auf dieselbe Kombination von Eingaben reagieren.

Ich dachte mir, dass es auch ein elektrisches Problem geben muss. Im Design konnte ich keine technischen Probleme feststellen, aber dann dachte ich an etwas, was ich schon vor langer Zeit gelernt habe (aber seitdem nie wirklich ein Problem hatte): Flussmittel kann leitfähig sein. Dies mag für übliche Digital- und Niederspannungsanwendungen kein Problem sein, aber es scheint hier ein Problem zu sein. Also habe ich das Board mit Alkohol gereinigt und danach hat es sich richtig verhalten.

So'ne Art. Eine andere Sache, die mir aufgefallen ist: Der Teil, den ich in EAGLE beim Erstellen meines PCB-Layouts verwendet habe, war (zumindest für meine Röhren) falsch. Meine Röhren scheinen eine andere Pinbelegung zu haben.

Nur einige Dinge, die Sie beachten sollten, wenn Ihre Schaltung nicht sofort funktioniert.

Schritt 10: Ein benutzerdefinierter Fall

Ein benutzerdefinierter Fall
Ein benutzerdefinierter Fall
Ein benutzerdefinierter Fall
Ein benutzerdefinierter Fall
Ein benutzerdefinierter Fall
Ein benutzerdefinierter Fall

Nachdem alles andere geklärt war, wollte ich ein schönes Gehäuse bauen, um meine Schaltung unterzubringen. Zum Glück hatte ich noch viel Holz von meinem Wordclock-Projekt, das ich verwenden wollte, um innen ein Raster zu bauen (siehe Abb. 10.1).

Ich habe das Gehäuse mit den folgenden Maßen gebaut:

Menge Maße [mm] Beschreibung
6 40 x 125 x 5 Unterseite, Oberseite, Vorder- und Rückseite
2 40 x 70 x 5 Kleine Seitenteile
2 10 x 70 x 10 Strukturteile auf der Innenseite (Siehe Abb. 8).
2 10 x 70 x 5 Zoll Strukturteile am Deckel (Siehe Abb. 11).

Nachdem ich die Stücke geschnitten hatte, legte ich sie zusammen, um die in Abb. 10.2.

Abbildung 10.3 zeigt den Fall aus einem anderen Blickwinkel.

Die Oberseite des Gehäuses entspricht genau der Unterseite, nur ohne die Wände und mit weniger hohen Konstruktionsteilen (siehe Abb. 10.4). Er fungiert als Deckel und kann abgenommen werden, um die Komponenten im Inneren zu warten. Die Platine wird auf den Deckel montiert, wobei die beiden Rohre aus dem Gehäuse herausragen.

Nachdem ich zufrieden war, wie alles zusammenpasst, habe ich einfach alle Teile zusammengeklebt und einige Stunden trocknen lassen.

Sie fragen sich vielleicht, wie ich die Platine am Deckel befestigt habe, wenn auf der Oberseite keine Schrauben sichtbar sind. Ich habe einfach ein Loch für die Schraube in das Strukturteil des Deckels gebohrt und dann eine Ansenkung für den Schraubenkopf gemacht (siehe Abb. 10.5).

Schritt 11: Beenden des Builds

Fertigstellen des Builds
Fertigstellen des Builds
Fertigstellen des Builds
Fertigstellen des Builds

Nachdem die Hauptplatine auf den Deckel montiert wurde, mussten nur noch alle anderen Komponenten in das Gehäuse eingesetzt werden, wie in Abb. 11.1.

Wie Sie sehen, habe ich versucht, die Kabel so gut wie möglich zu organisieren, und ich denke, es ist ziemlich gut geworden. Alles passt gut in das Gehäuse, wie Sie in Abb. 11.2.

Ich habe dem Gehäuse auch einen DC-Jack hinzugefügt (und bin dort ein bisschen verrückt geworden mit dem Heißkleber). Auf diese Weise ist es jedoch möglich, das Thermometer mit jedem handelsüblichen Telefonladegerät und einem passenden Kabel mit Strom zu versorgen. Sie können jedoch auch eine 5-V-Batterie hinzufügen, wenn Sie möchten.

Schritt 12: In diesem Build verwendete Teile

Für die Elektronik:

Menge Produkt Preis Einzelheiten
1 DHT-11 4, 19€ Habe es in einem teuren Laden gekauft. Sie können diese für weniger als 1 $ in China bekommen.
2 CD4028BM 0, 81€ Decoder
2 74HCT00D 0, 48€ NAND
1 74HCT04D 0, 29€ Wandler
1 Stecknadelkopf 0, 21€ 2x5 Stifte
1 Schraubklemme 0, 35€ 2 Anschlüsse
20 SMBTA42 0, 06€ npn-Transistor
20 SMD-Widerstand 0, 10€ 120K
2 74LS279N 1, 39€ R/S-Flipflops
1 PCB 4, 80€ Hier bestellen
2 IN-14 Nixen 2, 00€
1 Aufwärtswandler 6, 79€

Sie benötigen auch eine Art Mikrocontroller. Ich habe ein Arduino Pro Micro verwendet.

Im Falle:

Menge Produkt Preis Einzelheiten
N / A. Holz ~2€ Siehe oben
4 M3x16-Schrauben 0, 05€
4 M3 Muttern 0, 07€
1 Flasche Holzkleber 1, 29€
1 Dose Holzfarbe 5, 79€

Schritt 13: Fazit

Abschluss
Abschluss
Abschluss
Abschluss

Ich bin sehr zufrieden mit dem Ergebnis dieses Builds. Ausnahmsweise gelang es mir, die Holzstücke präzise zu schneiden und auch die Befestigungslöcher für die Platine nicht zu vergessen. Und es sieht auch wirklich großartig aus (siehe Abb. 13.1).

Außerdem war es interessant mit Röhren und Hochspannungen im Allgemeinen zu arbeiten und dabei gibt es einiges zu beachten.

Zusammenfassend würde ich sagen, dass es gut ist, dass wir heute bequemere Möglichkeiten haben, Zahlen anzuzeigen, aber andererseits gibt es nichts Vergleichbares mit dem Leuchten und der Gesamterscheinung von Nixie-Röhren, die ich sehr gerne anschaue, insbesondere, wenn es dunkel ist (Siehe Abb. 13.2).

Hoffe, Sie mochten dieses instructable. Wenn ja, schauen Sie auf meiner Website nach weiteren interessanten Artikeln und Projekten!

Schritt 14: Zuschreibungen, Quellen und weiterführende Literatur

Weiterführende LiteraturMC34063 Anwendungsdetails – ti.comMC4x063 Datenblatt – ti.comNixie-Röhrentreiber-IC – tubehobby.comDHT-11 Arduino-Bibliothek – arduino.ccA Transistor als Schalter – petervis.comBasiswiderstandstheorie, Formeln und Online-Rechner – petervis.com

Bildquellen[Abb. 1.1] IN-14 Nixie-Röhren, coldwarcreations.com[Abb. 2.1] Step-up-Schaltung, selbst gezeichnet, aber von ebay.com übernommen[Abb. 6.1] DHT-11 Temperatursensor – tinytronics.nl

Empfohlen: