Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Nixie-buisschild NCS314 voor Arduino UNO/MEGA – Compatibel met IN‑14/IN‑12

Onderdelen en benodigdheden

Onderdeel Aantal
Nixie-buisschild IN-14 NCS314 voor Arduino (voor Nixie-klok, etc.) 1
Nixie-klokschild IN-12 NCS312 voor xUSSR Nixie-buizen 1
Arduino UNO (of Genuino) 1
Arduino Mega 2560 1
Voeding 12V 1A 1
Acryl behuizing voor SHIELD NCS314 (model ACNS314, compatibel met hardwareversies v1.X – 2.X) 1

Apps en online diensten

  • Arduino IDE

Over dit project

Overzicht

Na toegang te hebben gekregen tot een bijna onuitputtelijke voorraad van uitstekende Sovjet-Nixie-buizen (IN-12, IN-14 en IN-18), was het plan om een eenvoudig display te maken als shield voor Arduino. We hadden al een Arduino, dus de rest leek klein (dachten we toen). We wisten nog niets over het aansturen van dergelijke lampjes.

Snel vonden we op internet een schema voor het voeden van dergelijke buizen:

Nixie-buisschild NCS314 voor Arduino UNO/MEGA – Compatibel met IN‑14/IN‑12

Het werkte! Wat we zagen was als een klein wonder en we beseften dat we op de goede weg waren. Er volgde direct een fotosessie:

Nixie-buisschild NCS314 voor Arduino UNO/MEGA – Compatibel met IN‑14/IN‑12

De volgende dag bespraken we het concept van het toekomstige project. Om te vereenvoudigen en kosten te verlagen, werd eerst gekozen voor dynamische weergave (multiplexing), maar later besloten we over te stappen op volledig statische weergave. Hoewel het visuele verschil bij IN-14 buizen nauwelijks merkbaar is, is het bij IN-18 lampjes wel zichtbaar: in dynamische modus branden ze minder fel en verschijnt het zogenaamde "blauwe vlekken" effect.

Nixie-buisschild NCS314 voor Arduino UNO/MEGA – Compatibel met IN‑14/IN‑12

Dynamische weergave betekent dat op elk moment niet alle buizen branden, maar er één (of enkele) tegelijk. Dit bespaart I/O-pinnen, maar verlaagt de helderheid.

Tijdens de discussie werd besloten de mogelijkheid te implementeren om informatie op de buizen weer te geven die van de computer komt. Dit stelt enthousiastelingen in staat hun eigen apparaten te maken die bijvoorbeeld het aantal ongelezen berichten of spelrondes (zoals in Fallout) op de lampjes tonen.

Vervolgens begonnen we met de selectie van hardware om de kathoden (cijfers) in de buizen aan te sturen. De keuze viel op schuifregisters met SPI om MCU-pinnen te besparen. Omdat de voedingsspanning van de buizen heel hoog is (tot 200 volt), waren de opties beperkt: HV513, HV5812, HV5122. We bouwden prototypes met elk van deze chips en bleven uiteindelijk bij de HV5812 (in de nieuwere schildversies NCS314 V2.X en NCS312 V1.X wordt de HV5122 gebruikt). Deze chip is handig omdat hij twee lampjes tegelijk kan aansturen als een 20-bit register.

Voor 6 buizen hebben we drie dergelijke circuits in serie nodig. Hierdoor hoeven we maar één keer een SPI-pakket te sturen en hoeven we ons niet meer bezig te houden met het ververen van de informatie op de buizen, zoals bij een dynamisch display-algoritme. Met andere woorden: zolang we de informatie op de buizen niet hoeven te wijzigen, mag de MCU bezig zijn met andere taken, zelfs slapen!

SPI-dataoverdracht

Arduino kan per keer alleen 8 bits verzenden via SPI. We hebben 60 bits nodig; het dichtstbijzijnde gehele getal dat deelbaar is door 8 is 64. Daarom passen we een truc toe: we vormen één grote variabele van het type unsigned long long (64 bits) voor elk register en sturen 8 keer 8 bits door telkens alle bits in de variabele naar rechts te shiften:

SPI.transfer(var64); 
SPI.transfer(var64>>48); 
SPI.transfer(var64>>40); 
SPI.transfer(var64>>32); 
SPI.transfer(var64>>24); 
SPI.transfer(var64>>16); 
SPI.transfer(var64>>8); 
SPI.transfer(iTmp);

Gerealiseerde doelen

Nixie-buisschild NCS314 voor Arduino UNO/MEGA – Compatibel met IN‑14/IN‑12
  • Statische weergave op basis van schuifregisters
  • Slotmachine-effect (ter preventie van vergiftiging/branding van indicatoren)
  • Standaard klokfuncties: tijd, datum, alarm
  • RTC (Real Time Clock) met batterij CR1220 (nieuwere versie V1.2-2.X gebruikt de high-precision RTC DS3231)
  • Temperatuurmeting met DS18B20 [Celsius of Fahrenheit]
  • Besturing via IR-poort TSOP4836 (alleen Mega). Getest met Sony RM-X151 afstandsbediening, maar werkt met elke 36kHz afstandsbediening
  • Tijdsynchronisatie met externe GPS (alleen Mega)
  • Eenvoudig menu
  • Afzonderlijke aansturing van de dubbele punt (boven- en onderpunt)
  • RGB-achtergrondverlichting met vloeiende kleurovergangen
  • RTTTL-ringer voor alarm (Ring Tone Transfer Language)
  • Slotmachine (ter preventie van vergiftiging indicatoren)
  • Zelftest: controle alle cijfers (0-9) per display, controle alle LEDs, serienmatig wisselen van kleuren (blauw, rood, groen), geluidstest (afspelen ringtones)

Niet volledig gerealiseerde taken

  • Lichtsensor

Code

De volledige firmwarecode (C/C++) is beschikbaar op GitHub: https://github.com/afch/NixeTubesShieldNCS314/

De code omvat initialisatie van SPI, RTC (DS1307/DS3231), knoppenafhandeling (ClickButton bibliotheek), menu-navigatie, PWM-achtergrondverlichting, RTTTL-muziekspeler, en de statische aansturing van de Nixie-buizen via de HV5812/HV5122 schuifregisters.

Schema's

Schakelschema's en printplaatontwerpen zijn beschikbaar in de projectdocumentatie.

Productieproces

  1. Arduino POV-klok: Bouw een Persistence-of-Vision LED-display
  2. Web-gestuurd DMX-verlichtingssysteem – Arduino Master Controller
  3. DIY Arduino Woordklok – Bouw een Elegant Real-Time Display
  4. Bouw een Arduino Real-Time Clock voor Islamitische Gebedstijden
  5. Bluetooth-gecontroleerde Arduino Spybot bouwen
  6. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  7. Bouw een Slijm Nixie Buis Klok in een Aangepaste MDF Houten Behuizing met Arduino
  8. Bouw een Precieze 7-Segment Klok met Arduino Pro Mini & DS1302 RTC
  9. Draadloze Arduino Programmeer Shield met HC-05 Bluetooth – Geen USB Nodig
  10. Hoogwaardige 2,8″ TFT Shield voor Arduino Nano – 320×240 SPI Display
  11. Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO