Display VFD manejado por un microcontrolador

Muchos de nosotros habrá tenido la oportunidad de estar en contacto con un VFD. Pero... ¿Qué es un VFD? Pues nos referimos a un display, más especificamente a un display fluorescente al vacío o Vacuum Fluorescent Display de acuerdo a las siglas en inglés. Un VFD se ve como el de la figura siguiente:


Los displays de este tipo presentan ciertas y marcadas ventajas con respecto a los clásicos LCDs:

-Alta luminosidad y brillo: que permite utilizarlos en todo tipo de aplicaciones donde la cantidad de luz es crítica.
-Posibildad de controlar la luminosidad: característica conocida como dimmer.
-Buena estética y llamativo: obviamente un display VFD es más llamativo y da un toque más de elegancia a nuestros proyectos.

Existen algunas desventajas que dependen de según como  y quien las mire:

-Son más dificiles de manejar: generalmente se precisa de un driver que integra un sistema de comunicacion serial.
-Se alimentan de diferentes tensiones: a veces dificiles de conseguir desde una fuente común.
-Sufren un cierto desgaste con el tiempo: viendose algunos segmentos más iluminados que otros.

Sin embargo, ustedes podrán sacar sobre este sus propias conclusiones.

Ahora bien, si uds. poseen alguna videograbadora o reproductor de DVDs en desuso, seguramente tendrán disponible algún VFD para utilizar. En mi caso, luego de desguasar una videograbadora Philips VR370/7 pude identificar el siguiente VFD:




¿Cómo funciona basicamente el VFD?
Existen muchos links interesantes para aquellos que deseen investigar más a fondo acerca del funcionamiento de este dispositivo como la Guía Noritake para manejo de VFDs, aquí intentaré basicamente explicar la manera en la que los segmentos se pueden manejar:
A diferencia de los displays de 7 segmentos, en los cuales teniamos un pin para manejar cada segmento individualmente, aquí tenemos un display constituido por varios grupos de segmentos, indicadores de funciones como PLAY, PAUSE, REC y modos como SP, DVD, CD, etc. donde cada palabra se puede considerar como un segmento, ahora bien....

Entonces ¿como manejamos tantos segmentos?...
Pues si tuvieramos un pin por cada segmento deberíamos tener más de 80 pines! en este display por ejemplo. Ahí es cuando se recurre entonces a la utilización de matrices. Una matriz (desde el punto de vista electrónico) es un arreglo de leds o indicadores que comparten cierto grupo de pines en los que se puede encender uno de ellos especifico a través de un "1" lógico en un valor apropiado de "x" e "y"... pero ¿que representa x e y? en este caso representan grupos de segmentos y segmentos respectivamente.

Ahora bien para ser más concisos y claros, pongamos nombres. Llamaremos grillas a un grupo o conjunto de segmentos especifico y llamaremos segmentos a cada uno de los posibles indicadores que podemos encender dentro de ese grupo. La figura a continuación intenta explicar el concepto:


Por ejemplo, la penúltima grilla del display de arriba está constituida por 8 segmentos, por lo que para encender alguno de ellos se deberá poner en "1" lógico al pin de grilla correspondiente a ese grupo y además poner en "1" lógico al o a los segmentos que quieran encenderse. En aquel caso para encender todos los segmentos deberíamos poner en "1" lógico a todos los pines de segmentos y un "1" lógico solo en esa grilla.

Se reduce así el número de pines que salen del display, pues solo necesitamos 22 pines en lugar de 121!!!!

Todo este trabajo de controlar los pines lo realiza generalmente un FIP driver o Controlador de Panel Fluorescente que viene también integrado en la placa. A él se conectan todos los pines de segmentos y grillas y se alimenta a través de +5V y -12 a -35V. Estas tensiones son necesarias para poner en funcionamiento el VFD. Encontré en mi videograbadora un driver u16312 de la marca NEC que es la principal compañia fabricante de VFDs y drivers FIP.

Tengo el display y el driver, ¿cómo puedo manejarlo para mostrar datos?...
De acuerdo al datasheet de dicho driver, la comunicación se realiza vía serial (ver datasheet para más detalles) utilizando 4 pines a saber: un pin de clock, un pin STROBE, un pin de DATAIN o ingreso de datos al VFD, y un pin de DATAOUT o salida de datos desde el VFD a un microcontrolador. Propongo conectar estos 4 pines a un microcontrolador como el PIC16f84 o el 877 y con la rutina adecuada podemos mostrar información en la pantalla de nuestro VFD.

El próximo desafío es obtener desde una fuente AT (de acuerdo a mi proyecto) las tensiones necesarias para manejar el dispositivo. La programación del PIC para manejar al display requiere de un protocolo especial que deberemos diseñar de acuerdo a los datos del fabricante. En la próxima entrada acerca de VFDs publicaré más sobre esto.

Acepto sugerencias. Saludos a todos!

27 comentarios:

  1. te felicito;
    casi me dejas hecha mi primera hora de clases.
    Gracias

    R

    ResponderEliminar
  2. Hola Anonimo, no se bien a que te refieres, pero si el material te fue muy util, entonces me pone muy contento. Hay muy poca informacion sobre esto en la red, asi que decidi escribir algo interesante...

    Mucha suerte ;P

    ResponderEliminar
  3. rqzmn@hotmail.com : Esta interesante lo q dises solo espero q sigas explicando mas ps es muy dificil como dises, controlar un VFD. Yo tengo un display solo y sin controlador jeje de un estereo y ps apenas pude poner la letra "J" de manera chafa jj. pero tengo una VHS q su display se rompio pero tiene 2 creo yo controladores ps son rectangulares y son del mismo modelo talves cuando expliques mas, pueda usarlos con el display del estereo. Y pasar de la "J"jj. Puedo hacerlo prender como tu imagen pero yo quiero poner un nombre o palabra aí. jj nos vemos.

    ResponderEliminar
  4. Hola rqzmn, me alegra que por fin alguien se interese en este tema de los VFDs. Te comento, por empezar vas a necesitar dos grandes cuestiones:

    1_ una fuente negativa (que es importante saber como generarla)

    2_ un microcontrolador para establecer la comunicacion serie (con él le mandas las "palabras" que se te antojen)

    Si estas realmente interesado lo comenzamos a trabajar. espero tu respuesta

    ResponderEliminar
  5. Hola Adrian
    Esta muy interesante el tema de los vfd's
    Tengo uno de un dvd que viene con controlador y me gustaria usarlo.Tambien tengo la fuente de alimentacion.¿Como puedo mandar informacion al controlador?
    Mi email:teknosrp@gmail.com

    ResponderEliminar
  6. Hola sergio, primero tenes que localizar el chip que hace de controlador del display. Si tenes suerte y no es "build-in", vas a tener un chip separado para el display. Si es build-in tendras un solo chip o microcontrolador grande que maneja todo...

    Si es la primera, entonces tenemos suerte! anotate el numero que aparece impreso en la parte superior del chip y con eso podemos investigar algo mas...

    ResponderEliminar
  7. Hola Adrian
    Muchas gracias por responder tan rÁpido.
    El chip es separado.Los vfd's que tengo son de dvd's.por eso viene en un solo circuito impreso eL controlador y el display.

    Los chips que llevan:
    Tengo dos vfd's que llevan el mismo chip: PT6311
    Tengo 1 vfd con el chip AD16312

    Saludos

    ResponderEliminar
  8. Sergio puedes descargar los pdf's de los fabricantes de ambos chips, si googleas con los numeros que me diste aparecen arriba de todo estos catalogos.

    Si ya leiste mi entrada, fijate vos que el 6311 es de 8 grillas x 8 caract. es mas bien una pantalla mas chica, el otro (16312) es el mismo driver que tengo yo con el cual hice este post! es sencillo de manejar!

    Te hago la pregunta para arrancar: sabes programar microcontroladores? mas especificamente PICs?

    Si me decis que si, entonces ya estas con todas las fichas para arrancar---

    ResponderEliminar
  9. Hola Adrian
    Me he leído el datasheet del 16312
    No sé programar PICs.
    ¿Se podría controlar por puerto paralelo (el de la impresora)?

    Saludos

    ResponderEliminar
  10. Si se puede! lo mismo necesitarias saber manejar algun programa para programar el puerto para enviar el protocolo de comunicacion que maneja el driver 16312. En definitiva necesitar programar!

    Fijate vos que el 16312 tiene dos lineas para comunicarse: clock y data in/out (son tres lineas pero data in y data out las podes juntar). Un microcontrolador es una muy buena opcion porque te independizas de cualquier otro dispositivo. Ahora bien si la queres para ubicarla por ejemplo en la PC, necesitas vincular como te explique mas arriba... En you tube podes ver varios ejemplos...

    Te recomiendo aprender a programar en ASM o C++ o bien aprender a usar el HyperTerminal de Windows a traves del Puerto Paralelo. Todas estas opciones te llevaran a poder implementar sin problemas el Display y mostrar lo que se te ocurra

    ResponderEliminar
  11. Hola Adrian
    Yo lo que he hecho por el puerto paralelo es lo de apagar y encender leds.¿Como puedo enviarle informacion al chip?¿Que protocolo de comunicacion usa?

    Saludos

    ResponderEliminar
  12. si te fijas en el datasheet del fabricante vas a ver que utiliza comunicacion serial a traves de dos hilos. el protocolo es generico mas conocido como com. serial.

    generalmente se basa en mandar primero un comando y luego una direccion que especifica en que parte del display te interesa escribir...

    saludos

    ResponderEliminar
  13. hola mi nombre es luis soy de peru.... el problema es que tengo un equipo de sonido y al parecer se ha quemado o malogrado su pantalla que el es de VDF i no enciede lo demas si punciona osea hay sonido radio normal lo revise y le llegan los voltaje en altena 25v y continua de 5 quisiera saber si me puedes ayudar parapoder repararlo gracias amigo mi correo es luis_gonzales2008@hotmail.com

    ResponderEliminar
  14. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  15. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  16. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  17. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  18. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  19. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  20. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  21. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  22. Adrian muy bueno tu aporte, soy Antonio de España. Te comento que yo tengo precisamente un VFD similar de un reproductor de DVD marca Best Buy modelo Easy Home Z8. Este precisamente lleva 6 rejillas de 16 segmentos y el chip controlador es un PT6312BLQ de la firma PTC totalmente compatible pin a pin con el conocido mPD16312 de la firma NEC. Me bajé el Data Sheet de este fip y estoy empeñado en hacerlo funcionar, por lo pronto te comento que en mi caso la fuente de alimentación original del aparato de DVD funciona y yo he dejado conectado las conexiones de voltaje y he sacado solo los cables de STB CLK y DIN se controla con estos tres cables mediante protocolo SPI (three line serial interface) los pines DIN y DOUT en mi caso están unidos en la misma placa del chip.
    Por ahora lo tengo conectado a una RaspBerry Pi en los conectores del SPI que son STB en CE0, CLK en SCLK y DIN-DOUT en MOSI, con esas tres conexiones y un programita pequeño en C para controlar el puerto SPI, he conseguido encenderlo enviando comandos en binario según el datasheet. Pero no se programar en C y de ahí no paso. Sé de gente que lo ha conectado por puerto serie e incluso paralelo.

    ResponderEliminar
  23. Hola . Me interesa el tema y como hacerlo funcionar ya que tengo varios de estos Display VFD.

    ResponderEliminar
  24. Hola . Me interesa el tema y como hacerlo funcionar ya que tengo varios de estos Display VFD.

    ResponderEliminar

Deja tu crítica, comentario o novedad sobre el proyecto...