Autor Tema: Decoder de 3 a 8 para vu-meter  (Leído 1975 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MarTex

  • PIC10
  • *
  • Mensajes: 4
Decoder de 3 a 8 para vu-meter
« en: 03 de Marzo de 2013, 09:08:39 »
Buenas! Después de mucho tiempo desde que este foro me ilustró por primera vez, vuelvo y abro mi primer hilo... con una pregunta bastante básica pero a la que no he sabido encontrar respuesta  :oops:

Quiero un decodificador para conectar tres patillas de un micro con un array de 8 leds que se comporte como un vu-meter (por explicarlo de alguna forma). La lógica es parecida a la de un decoder/demux de 3 a 8, pero no encendiendo sólo el pin correspondiente al valor bcd, sino también todos los inferiores. Es decir, la correspondencia de dato binario/bcd a leds sería:
0: - - - - - - - O
1: - - - - - - OO
2: - - - - - OOO
...
7: OOOOOOOO

O en forma de truth table:

D2 D1 D0  O7 O6 O5 O4 O3 O2 O1 O0
 0   0   0      0   0   0   0   0   0   0   1
 0   0   1      0   0   0   0   0   0   1   1
 0   1   0      0   0   0   0   0   1   1   1
 0   1   1      0   0   0   0   1   1   1   1
...
 1   1   1      1   1   1   1   1   1   1   1

(obviamente daría igual que la lógica fuera invertida)

No sé para qué me lío tanto porque seguro que me habéis pillado a la primera, pero bueno  :lol:

Mi idea es controlar una serie de arrays de 8 segmentos. Ya sé que esto se podría implementar de distintas maneras haciendo barridos por software, con latches, etc, pero por diversos motivos quiero mantener el programa lo más sencillo posible limitándome a sacar por 3 pines el valor binario, sin tener que añadir funciones para controlar los leds. Prefiero pagar el precio en pines y circuitería externa.

A alguien se le ocurre algún CI o combinación para obtener esta funcionalidad? Estoy seguro de que tiene que haberlo... pero ya se me ha empezado a pasar por la cabeza tirar de un micro auxiliar o PLD para salvar la papeleta, aunque sería matar moscas a cañonazos.

Un saludaco y gracias!

Martin

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #1 en: 03 de Marzo de 2013, 09:25:21 »



Creo que podrías hacerlo usando un chip que pueda funcionar como Latch direccionable, por ejemplo el 74HC259, que en realidad tiene 4 modos de funcionamiento ( Demultiplexador, Latch direccionable, Memoria y Reset).

Para hacerlo funcionar como Latch Direccionable, tienes que poner la patita MR a nivel bajo, en ese caso la entrada "d" sale al pin Q que decidas según los pines de direccionamiento A0, A1, A2, respetando el estado previo del resto de salidas Q, de esa forma podrás poner a nivel alto varios pines Q, para encender varios LED simultaneamente.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #2 en: 03 de Marzo de 2013, 09:42:24 »
Hola, a la salida O0, la tienes siempre en uno.. así que esa, la dejamos conectada directamente, ya que no tiene "logica" de control  :mrgreen:
Puedes emplear un CD4028   http://www.datasheetcatalog.org/datasheets/228/108936_DS.pdf
Es de BCD a DECIMAL.. pero solo emplearas, 3 entradas (de 4) y 7 salidas (de 10)
Cada salida, un diodo (7),y una red entre cada diodo, de diodos en serie, para que se activen con cada salida siguiente....
es lo màs rapido que se me ocurre para tu propuesta de lógica tradicional....  :mrgreen:
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1084
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #3 en: 03 de Marzo de 2013, 09:51:50 »
Tambien podrias utilizar un simple 74HC138, que es un decodificador de 3 a 8. Con eso conseguirias encender el led correspondiente al valor en binario de la entrada, pero si agregas sucesivos diodos 1N4148 entre las distintas salidas, con los anodos hacia la salida de menor peso, eso haria que encendiesen todos los leds que tengan un peso inferior al que este seleccionado. No olvides que el 138 tiene salidas negadas, o sea que se hace 0 cuando se selecciona cada salida, por tanto los leds irian entre la salida correspondiente y el + 5 V., con su correspondiente resistencia claro.
Hay una pequeña pega y es que si el led selecionado es el ultimo, (entradas a 111), en el primero tendrias una caida de tension debida a los diodos de alredededor de 4 voltios, ya que tendrias 7 diodos en serie con el ultimo led, 6 para el anterior, 5 el anterior y asi hasta el ultimo que no tiene ninguno en serie. Para compensarlo juega con el valor de las resistencias serie de los leds.

Saludos.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1084
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #4 en: 03 de Marzo de 2013, 09:53:17 »
Hola, a la salida O0, la tienes siempre en uno.. así que esa, la dejamos conectada directamente, ya que no tiene "logica" de control  :mrgreen:
Puedes emplear un CD4028   http://www.datasheetcatalog.org/datasheets/228/108936_DS.pdf
Es de BCD a DECIMAL.. pero solo emplearas, 3 entradas (de 4) y 7 salidas (de 10)
Cada salida, un diodo (7),y una red entre cada diodo, de diodos en serie, para que se activen con cada salida siguiente....
es lo màs rapido que se me ocurre para tu propuesta de lógica tradicional....  :mrgreen:

todopic escribimos simultaneamente la misma respuesta.

Saludos.

P.D.: Pensandolo bien, lo mas simple es que utilizases uno de los integrados especializados en control de barras de leds. Esos tienen la posibilidad de selecoinar entre barra solida, (todos los leds inferiores al ultimo encendidos) y puntos, o sea solo el ultimo encendido.
Busca en RS, (www.amidata.es), que seguro tienen alguno.
« Última modificación: 03 de Marzo de 2013, 09:55:49 por AcoranTf »

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #5 en: 03 de Marzo de 2013, 10:12:29 »
ja ja... expusimos la misma idea....   pero yo, mataria el mosquito con un cañon...  porque entre tantos diodos, el decoder, luego el tiempo en perforar etc... colocaria un micro pequeño, con oscilador interno, y un programita simple, segun la entrada, una tabla de salida...  con la posibilidad de agregar muchisimos efectos...  :mrgreen:
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado MarTex

  • PIC10
  • *
  • Mensajes: 4
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #6 en: 03 de Marzo de 2013, 13:50:04 »
¡Qué pasada! 5 respuestas tan detalladas en 1h  :shock:

Muchísimas gracias a todos!

Los decodificadores habituales como el CD4028 y el 74HC138 que mencionáis han sido lo único que pude encontrar cuando hice mi primera búsqueda en RS y luego Farnell. La verdad es que aunque pensé en hacer algún arreglo combinando de alguna forma diodos y resistencias, tenía la sospecha, la cual me habéis confirmado, de que podría tener problemas de corriente o como comentabais caída de tensión. A parte, no sé si no me aclaro (la analógica no es mi fuerte) o haría falta que la salidas inactivas quedaran "flotantes" para poder hacer lo de los diodos? En todo caso, prefería evitar ese lío y me decía que alguna solución ya integrada debe de haber. El tema es que todo lo que he visto hasta ahora tiene la dichosa típica lógica de salida que no me sirve:
L L L L H
L L L H L
L L H L L
...  :(

Cita de: AcoranTf
P.D.: Pensandolo bien, lo mas simple es que utilizases uno de los integrados especializados en control de barras de leds. Esos tienen la posibilidad de selecoinar entre barra solida, (todos los leds inferiores al ultimo encendidos) y puntos, o sea solo el ultimo encendido.
Busca en RS, (www.amidata.es), que seguro tienen alguno.

Eso es lo que busco!! Con la de cosas exóticas que hay por ahí, sería demasiado raro que no haya algo para esta aplicación, que a mí tampoco me parece tan marciana no? :D Por ahora estaba usando el término "led array" y no "bar" o algo por el estilo en mis búsquedas. Buscando integrados y mirano datasheets en la web de On Semiconductor tampoco he encontrado nada. Haré una nueva búsqueda y miraré también en la web de NXP.

Por otro lado, me miraré con mas detalle la lógica del 74HC259.

El detalle de que haya un led siempre encendido, no tiene por que ser necesariamente así, dependiendo del integrado y como lo monte ya veré eso.

Yo también tiendo a matar moscas a cañonazos, pero en este caso prefiero no complicar más el tema, que ya bastante cristo es el diseño.

Un saludo a todos y gracias otra vez por vuestras aportaciones y buena voluntad!

Martin

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #7 en: 03 de Marzo de 2013, 14:07:51 »


Ten en cuenta que el 74HC138 puede suministrar un máximo de 25mA por salida, si montas el tinglado de los diodos 1N4148, hay una salida que tendrá que encender 8 LED a la vez, si limitas la corriente con resistencias para cada led de manera que no sobrepasen en total los 25mA, apenas se van a iluminar. El 4028, no creo que pueda suministrar mucha más corriente en sus salidas, por lo general todo este tipo de chips, suministran 20-25mA máximo por salida.

En cuanto a los vumeter integrados, no funcionan en digital, son voltímetros con una entrada analógica (LM3915/3914 y similares). Si el microcontrolador que usas integra un DAC podrías utilizarlos, e incluso sería más sencillo porque los controlarías con un solo pin.

La opción más simple, como han comentado, podría ser un PIC pequeño que haga el demultiplexado como tú quieres, o la solución que te dí yo con el 74HC259, aunque en ese caso debes encender o apagar cada led individualmente con el latch direccionable.

Aún no me he adentrado en el mundo de los CPLD, pero no creo haya algo tan pequeño y con pocas patitas, como para reemplazar a un PIC en esas funciones de demultiplexado 3 a 8.
« Última modificación: 03 de Marzo de 2013, 14:10:23 por planeta9999 »

Desconectado MarTex

  • PIC10
  • *
  • Mensajes: 4
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #8 en: 03 de Marzo de 2013, 14:41:29 »
Bueno bueno... esto ya pinta mucho mejor, sin tener que andar ni con barridos, ni con micros adicionales, ni con malabares de resistencias y diodos  :-)

Por un lado: Eureka!! Ha sido buscar "led bar driver" y han empezado a aparecer soluciones. Otro término correcto parece ser "bargraph driver": que es la forma de la que por ejemplo en RS aparecen los LM3914,3915,3916.

Por otro lado el 74HC259 también podría ser una solución, aunque el interfaceo sería un poco más tostón y requeriría de algo de programación extra, me podría servir:
The 74HC259; 74HCT259 has four modes of operation:
• Addressable latch mode, in this mode data on the data line (D) is written into the
addressed latch. The addressed latch follows the data input with all non-addressed
latches remaining in their previous states.

Memory mode, in this mode all latches remain in their previous states and are
unaffected by the data or address inputs.
• Demultiplexing mode (or 3-to-8 decoding), in this mode the addressed output follows
the state of the data input (D) with all other outputs in the LOW state.
• Reset mode, in this mode all outputs are LOW and unaffected by the address inputs
(A0 to A2) and data input (D).


La opción que me está tentando mucho por su simplicidad, un integrado de "vu-meter convencional" al que se le podría meter el valor de manera analógica con un sólo pin y no requiere ni de resistencias en serie (tiene función de limitación de corriente ajustable: LM3914 (o también por ejemplo el LM3916) o el LM3915 para un escalado logarítmico.

Como dispongo de muchas salidas PWM, yo creo que con el correspondiente filtro RC y un simple escalado de valores en el programa se podría sacar la visualización del valor de forma bastante práctica.

Un saludaco! Cuando termine con el otro tema que tengo entre manos haré la prueba, a ver si tengo a mano componentes con valores adecuados (como para conmutar a por ejemplo 50KHz) y os cuento!  :wink:

Desconectado MarTex

  • PIC10
  • *
  • Mensajes: 4
Re: Decoder de 3 a 8 para vu-meter
« Respuesta #9 en: 03 de Marzo de 2013, 14:45:32 »


Ten en cuenta que el 74HC138 puede suministrar un máximo de 25mA por salida, si montas el tinglado de los diodos 1N4148, hay una salida que tendrá que encender 8 LED a la vez, si limitas la corriente con resistencias para cada led de manera que no sobrepasen en total los 25mA, apenas se van a iluminar. El 4028, no creo que pueda suministrar mucha más corriente en sus salidas, por lo general todo este tipo de chips, suministran 20-25mA máximo por salida.

En cuanto a los vumeter integrados, no funcionan en digital, son voltímetros con una entrada analógica (LM3915/3914 y similares). Si el microcontrolador que usas integra un DAC podrías utilizarlos, e incluso sería más sencillo porque los controlarías con un solo pin.

La opción más simple, como han comentado, podría ser un PIC pequeño que haga el demultiplexado como tú quieres, o la solución que te dí yo con el 74HC259, aunque en ese caso debes encender o apagar cada led individualmente con el latch direccionable.

Aún no me he adentrado en el mundo de los CPLD, pero no creo haya algo tan pequeño y con pocas patitas, como para reemplazar a un PIC en esas funciones de demultiplexado 3 a 8.

Vaya, este parece el hilo de los mensajes solapados! :lol: Gracias por tus aportaciones que tanto han dado en el clavo planeta9999! Lo dicho, a falta de DACs creo que ire por la opción de hacer la jugada por PWM.

Un saludo!

Martin


 

anything