Orologio Nixie: 2 – il driver

luca 8 dicembre 2011 0

In questo secondo articolo dedicato al mio orologio con Nixie, vi illustrerò come pilotare tali display con un microcontrollore.

Limitare la corrente

Ogni tubo Nixie è caratterizzato da due valori di tensione:

  • tensione di innesco (Vign)
  • tensione di mantenimento (Vm)

e da uno o più valori di corrente:

  • corrente media/di picco per i numeri (Ik)
  • (eventuale) corrente media/di picco per il punto decimale (Ikdp)

E’ possibile trovare questi valori consultando il datasheet:

Il classico schema di collegamento del tubo è il seguente:

Per il calcolo della resistenza R utilizziamo la seguente formula:

Mentre la potenza dissipata sarà:

Applicando le formule ai valori della mia Nixie ottengo:

  • (per i numeri) R = 12Kohm e P = 0,075W
  • (per il punto decimale) R = 60Kohm e P = 0,015W

Nel mio orologio non utilizzerò il punto decimale, quindi andrà bene una resistenza da 12Kohm 1/4W.

Driver a transistor

Non è possibile pilotare direttamente un tubo Nixie utilizzando i PIN di output di un microcontrollore: ogni catodo della Nixie non connesso a massa si trova ad una tensione vicina a Vm.

La soluzione più semplice è utilizzare un transistor alla cui base collegare il PIN del microcontrollore.
Non tutti i transistor sono in grado di sostenere l’elevata tensione collettore-base (Vcbo): la scelta più diffusa è il modello MPSA42, che – come recita il datasheet - ha una Vcbo di 300V.

Il collegamento è molto semplice:

Lo svantaggio di questo approccio è che richiede un transistor per ogni numero, se quindi vogliamo utilizzare 4 Nixie avremo bisogno di almeno 40 transistors.

Driver a circuiti integrati

In passato sono stati prodotti diversi circuiti integrati progettati per pilotare le Nixie; i più diffusi sono quelli siglati 7441, 74141 o i loro “cloni” russi K155ID1 e KM155ID1 ed è ancora facile trovarli su eBay. Tutti questi integrati svolgono la funzione di bcd-to-decimal decoder to drive nixie tubes e presentano 4 PIN di input (A/B/C/D) e 10 pin di output (0..9).

Il loro funzionamento è molto semplice: inviando ai 4 PIN di input un numero (da 0 a 9) codificato in binario, viene attivata il relativo pin di output. Tutte le possibili combinazioni sono indicate nel datasheet:

Test

Ho scritto un semplice sketch per Arduino che invia su 4 PIN digitali (D8-D11) la codifica binaria dei numeri da 0 a 9, cambiando numero ogni secondo e tornando a 0 dopo il 9.
Unica nota: per poter cambiare contemporaneamente lo stato dei 4 PIN di output, non utilizzo l’istruzione digitalWrite() ma comando direttamente il registro PORTB come illustrato qui.

void setup() {
 
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
 
  Serial.begin(9600);
}
 
void loop() {
 
  for(int i = 0; i < 10; i++) {
    Serial.println(i);
    PORTB = i;
    delay(1000);
  }
}

Ai PIN di Arduino sono collegati gli ingressi A/B/C/D del 74141 e, alle uscite di questo, i catodi della Nixie. L’alimentazione per il circuito integrato (5V) è presa dalla scheda Arduino, mentre la Nixie è alimentata come indicato nell’articolo precedente aggiungendo la resistenza da 12Kohm:


Ecco il circuito in azione:

Leave A Response »