¿Modificar un kit de termómetro LED digital para controlar LED de 7 segmentos de 4" más grandes?

Estoy interesado en construir un termómetro digital LED con 3 o 4 dígitos de pantalla LED grandes de 4"/100 mm y 7 segmentos (por ejemplo, Kingbright SA40-19EWA). Hay muchos kits disponibles que vienen con LED más pequeños (por ejemplo, Conrad , Canakit ). Mi pregunta es, ¿cuál es la probabilidad de éxito al intentar usar cualquiera de estos kits para impulsar LED más grandes en lugar de los que se suministran o están diseñados para funcionar? Y si parece inviable, ¿sería mejor comenzar? fuera de un diseño de termómetro basado en Arduino en su lugar? (Aunque mi reacción inicial es que un Arduino sería excesivo).

El principal problema a superar parece ser que los LED grandes generalmente necesitan 7-8 V, mientras que 2 V es más típico para los más pequeños (pero tal vez algunos kits se puedan modificar adecuadamente, por ejemplo, cambiando algunos valores de resistencia). Por supuesto, también hay otras cosas de las que preocuparse, como el cátodo común/ánodo común y la mecánica de reemplazar las pantallas originales montadas en PCB con cables a los componentes de dígitos más grandes que pueden influir en la elección.

No sé nada sobre este kit o Arduino, pero construí mi propia pantalla grande de 7 segmentos que se controla desde un ATmega328p (el MCU AVR en el que se basan muchos Arduinos), usa muy poca corriente y solo necesita 5V. .. es decir, si está dispuesto a intentar construir algo en lugar de comprar kits. Aunque, apuesto a que el kit también podría modificarse ligeramente para que funcione con mi pantalla: projectsbykec.com/projects/miscellaneous/…
¡Guau! Gracias por toda la gran información aquí (respuestas y comentarios); muy apreciado. Tendré que considerar un poco más cómo procederé a continuación antes de aceptar una respuesta, pero me inclino mucho por ordenar primero el controlador de pantalla (especialmente porque acabo de descubrir que hay pantallas de 7 segmentos de 20 cm de altura disponibles :^) y luego trabajar de nuevo con cualquier controlador/SW/GPIO que se necesite para hacer el trabajo, en lugar de intentar abusar de algo más especializado que en realidad está diseñado para algo diferente. (Y estoy más feliz con SW que con HW).

Respuestas (3)

TL; DR : los kits a los que se vincula no funcionarán con la gran pantalla de 7 segmentos que propone. En mi opinión personal, la complejidad del diseño del ICL7107 (los kits Canakit y Contrad se basan en este chip) y el diseño de Arduino serán más o menos similares, si construyes el diseño más simple posible. Sin embargo, es posible que cualquiera de los diseños en la versión más simple no le permita usar la pantalla de 7 segmentos a la que se hace referencia con el brillo máximo y, de hecho, la pantalla de 7 segmentos a la que se hace referencia podría ser demasiado tenue. Por lo tanto, (dependiendo de la pantalla), también podría optar por el diseño de Arduino, porque el chip Intersil está realmente diseñado para ejecutar las pantallas de 7 segmentos directamente, algo que no puede hacer si desea un brillo completo.

La gran pantalla LED de 7 segmentos

Las características de las pantallas de 7 segmentos impulsarán en gran parte su diseño. Hay dos características de preocupación aquí:

  • La caída de tensión directa de cada segmento. Si el Vcc suministrado a los LED es menor que este valor, el LED no se encenderá.
  • La corriente directa máxima en cada segmento. Para mostrar con el brillo máximo, querrá proporcionar algo cercano a este valor.

La hoja de datos que encontré para Kingbright SA40-19EWA hace referencia a dos tipos de pantallas grandes de 7 segmentos:

  • Rojo de alta eficiencia : Avance V/segmento: 8 V típico, 10 V máx. No se hace referencia a la corriente directa máxima, pero las condiciones de prueba sugieren que lo típico es 20 mA. Los gráficos de la página tres implican que 30 mA es el máximo.
  • Super Bright Green : Avance V / segmento: sin referencia. Corriente directa máxima: 60mA, sugiere que una corriente de 40-50mA sería apropiada para conducirlo a pleno brillo.

Si las características anteriores son correctas, podría construir un circuito basado en ICL7106/ICL7107/ICL7107s para la pantalla roja de 7 segmentos, pero no para la verde si desea que funcione con el máximo brillo.

Uso de la gran pantalla de 7 segmentos con kits preempaquetados

El Canakit al que se vincula está diseñado para funcionar con 5V. Dado que el voltaje directo del Kingbright SA40-19EWA es de 8 a 10 V, es probable que el resultado sea un termómetro LED digital que no funcione. Estos kits tampoco están diseñados para el tipo de corriente que la pantalla superbrillante de 7 segmentos necesita para estar a pleno brillo (ver más abajo), y este es un problema inherente al chip en el corazón del circuito, el ICL7106/ ICL7107/ICL7107

Construcción de un nuevo circuito basado en ICL7106/ICL7107/ICL7107s desde cero

Usando el ICL7107 , la señal de la sonda de temperatura se compara con el voltaje de referencia, y el ADC procesa el resultado en el ICL7107 y luego se emite en los LED de 7 segmentos. El ICL7106 funciona con +15 V, por lo que podría usar los LED de 8 V con este diseño. Como puede ver en la imagen del kit, no necesita muchos componentes de apoyo:

ingrese la descripción de la imagen aquí

Tenga en cuenta, sin embargo, que los ICL7106/ICL7107/ICL7107 solo pueden absorber alrededor de 16 mA de corriente de las pantallas de 7 segmentos. Esto significa que no podrá controlar la pantalla superbrillante con el brillo total de los chips Intersil y, dada la naturaleza de los ICL7106/ICL7107/ICL7107, es posible que los conecte a un controlador que podría permitir más corriente de las pantallas de 7 segmentos. ser dificil.

Modificando un kit Arduino de referencia

El kit de Arduino al que hace referencia también necesitará amplias modificaciones para a) admitir el voltaje requerido por la pantalla de 7 segmentos a la que hace referencia y b) suministrar la corriente necesaria para hacer funcionar la gran pantalla de 7 segmentos con brillo completo.

Construyendo una nueva pantalla de temperatura Arduino desde cero

Para un diseño basado en Arduino (asumiendo, al principio, el diseño de baja potencia como el anterior), debería tener suficientes pines para hacer todo. El Arduino más barato (Arduino nano) tiene 22 pines GPIO, de los cuales usarías 1 para leer el sensor de temperatura. Esto le dejará con 21 pines para controlar sus LED de 7 segmentos. La forma en que generalmente se construyen tales pantallas es multiplexando las pantallas LED (por ejemplo, el MAX7219funciona de esta manera). Específicamente, lo que sucede es que primero se dibuja la primera pantalla de 7 segmentos para mostrar el dígito correcto, luego el segundo y luego el tercero. Si el ciclo ocurre a más de, digamos, 30 Hz, entonces el resultado es una visualización perfecta en lo que respecta al ojo humano. Para hacer esto, solo necesitará 8 líneas GPIO para pintar los segmentos más 4 líneas GPIO para seleccionar la pantalla de 7 segmentos. La alternativa (pantalla no multiplexada) no es posible en Arduino nano, ya que necesitará 8 líneas/pantalla de 7 segmentos por 4 pantallas = 32 líneas GPIO. Sería posible hacer esto en un Arduino más robusto, pero costará más. En el Nano, puede usar un registro de desplazamiento o algún otro IC de serie a paralelo, como el 74HC595 para obtener más pines, por así decirlo.

El LED que está viendo es un ánodo común, por lo que podría usar el Arduino para controlarlo directamente y hundir la corriente del LED en los chips GPIO. Al mismo tiempo, el LED al que hace referencia puede tomar hasta 320 mA de corriente por segmento, por lo que si desea manejarlo con el máximo brillo, la solución Arduino requerirá un circuito externo, como una matriz Darlington, como se describe aquí, por ejemplo . .

Con el diseño de Arduino, habrá algo de programación involucrada. Tendrá que escribir un pequeño programa para leer la temperatura y luego controlar los LED. Si desea un brillo completo, el Arduino controlará los transistores discretos (ugh) o una matriz Darlington que controlará los LED directamente. Así que tendrá que escribir código (o pedir prestado uno de un proyecto Arduino existente) para convertir sus datos de temperatura en líneas de control de 7 segmentos. No es particularmente difícil, pero toma un poco de tiempo. Además, la combinación de este código con el código de multiplexación aumenta la complejidad del código, pero existen bibliotecas de Arduino para hacerlo.

Dichos diseños casi siempre se multiplexan en el nivel de generación de pantalla, por lo que el recuento de pines normalmente no sería un problema. El uso de una unidad discreta para cada segmento de LED más grande podría permitir el uso de controladores de lado bajo solamente, simplificando un poco las cosas, pero no es como si la corriente fuera tan alta que la necesidad de controladores de lado alto y bajo para permitir una pantalla multiplexada de segmento grande haría cosas asi de dificiles.
@ChrisStratton Tienes razón, debería agregar una nota en ese sentido. Quiero decir, así es como construyo mis diseños, pero buscaba la simplicidad. Pero muy buen punto, gracias.
En realidad, la hoja de datos menciona 320 mA, pero solo en un ciclo de trabajo de 1/10, en Máximo absoluto. La corriente continua Máxima Absoluta es de 60mA por segmento, pero la recomendada es de 20mA.
@Passerby Estaba en el proceso de corregir eso. Ese fue el pico máximo
@Passerby ¿Dónde ves "recomendado"? Veo 60mA max para Green
El 60mA está bajo Absolute Max. El If = 20mA se usa en todas las clasificaciones estándar para Características Eléctricas/Ópticas a TA=25°C, justo encima de él. Considero que esa es la condición general de uso.
@Passerby Pero creo que hace referencia a diferentes productos: las condiciones de prueba se dan para el dispositivo "Rojo de alta eficiencia", mientras que los Máximos son para el "Verde súper brillante". ¿O me perdí algo?
@angelatlarge La hoja de datos es basura. eso es El resto de la hoja de datos hace referencia a High Efficiency Red, incluidos los gráficos. Una versión de longitud de onda diferente de la misma parte: kingbrightusa.com/images/catalog/SPEC/sa40-19srwa.pdf para comparar. Y su sitio web da clasificaciones de intensidad, a 10 mA If.
@Passerby Buen trabajo de detective. Debe ser un error de copiar y pegar de su parte. Dado que la intensidad luminosa aumenta linealmente con I directo (a 20 mA es la mitad de lo que es a 40 mA), supongo que para un brillo máximo, querrá algo más cercano a 60 mA que a 20 mA, y también asumo que I continuo hacia adelante menos de 60mA está bien. ¿Estás en desacuerdo?
Solo cuando se necesita el brillo, a expensas de la vida del led. También soy un poco escéptico de que la cosa emita 600,000 ucd a 60 mA. Pero todavía me pregunto cómo funciona la extraña configuración interna de cada segmento (4 secciones en serie de 2 leds paralelos).

Si tiene una placa diseñada para controlar una pantalla LED de 7 segmentos, probablemente no debería ser demasiado difícil generar señales de nivel lógico correspondientes al segmento de la pantalla y los cables comunes. Si determina que tiene, por ejemplo, una pantalla de ánodo común de cuatro dígitos con una resistencia en cada uno de los pines del segmento y puede tocar el lado accionado de cada resistencia del segmento, los cables del cátodo común deben ser legibles (posiblemente con un divisor de resistencia para tierra) como señales de nivel lógico para indicar qué dígito se está conectando, y los lados accionados de las resistencias deben poder usarse como cables de segmento de nivel lógico para decir lo que se muestra en ese dígito.

Sugeriría que, dependiendo de las formas de onda exactas de la unidad, es posible usar cuatro controladores de pantalla de enganche de 8 bits para capturar los estados de los cables del segmento cuando se activan sus toros comunes, y luego usar sus salidas para impulsar su agradable gran pantallas. Incluso si las pantallas originales están multiplexadas, el uso de chips de controlador de bloqueo permitiría que los segmentos se controlaran continuamente con 1/4 de la corriente máxima que se requeriría con la multiplexación.

La respuesta para modificar uno existente o una solución basada en un microcontrolador (como el arduino vinculado) son los transistores. Los transistores se pueden usar para manejar la diferencia de voltaje y manejar cualquier diferencia de corriente.

El primero es modificar un kit existente. Esto variaría según el kit. Usando uno de los kits ICL7106 como ejemplo, necesitaría un transistor para cada pin de segmento. Esto se debe a que el ICL7106 tiene un pin para cada segmento y se controla individualmente (Drenaje abierto). No puede manejar la pantalla LED con 8v, ya que freiría los pines de entrada de la ICL. Dado el uso de 3 Seven Segments más 1 3 Segment, son 24 transistores, más 24 resistencias pull up y 24 resistencias de regulación de corriente para los segmentos LED.

Modificar el kit para una pantalla de voltaje diferente no es tan simple como pensaba, requeriría invertir el drenaje abierto del ICL7106 y sería mucho más fácil con una pantalla de cátodo común. El esquema que había hecho daría como resultado lo contrario en la pantalla (un segmento que debería estar encendido, estaría apagado mientras los demás estaban encendidos. Vea aquí para eso.

La solución de Ardunio utiliza el escaneo para controlar las pantallas de 4 segmentos, donde solo se enciende un LED en un momento dado, pero lo suficientemente rápido como para que no se note. Y lo hace multiplexando para reducir los pines necesarios. Los 4 ánodos de las pantallas se controlan individualmente, mientras que todos los cátodos del segmento están unidos. Por lo tanto, solo se necesitan 4 + 7 transistores, así como 11 resistencias de base y 11 resistencias de regulación de corriente.

ingrese la descripción de la imagen aquí

Por supuesto, ambos esquemas están simplificados, simplemente porque se necesita mucho para dibujarlos. El cuadro punteado representa cada pantalla LED y cada diodo representa un segmento individual. (Suposiciones: fuente de 9v, voltaje directo de 8V, consumo de corriente de 20mA).