¿Por qué hay un retraso en la visualización de un segmento común de 7 segmentos?

4

Tengo una pantalla de ánodo común de 7 dígitos y 7 segmentos. Tengo cada cátodo de segmento conectado a una resistencia de 330 ohmios, y la resistencia está conectada a un registro de desplazamiento. Cada segmento de cátodo está conectado al mismo registro de desplazamiento. Cada ánodo común está conectado a un segundo registro de desplazamiento. En este momento, estoy usando un Arduino para multiplexar la pantalla para mostrar un número.

Esto funciona muy bien, pero hay un problema. La pantalla no es lo suficientemente brillante! Supongo que debido a que esta es una configuración de ánodo común, y que el registro de desplazamiento solo puede proporcionar unos 40 mA de corriente para 8 segmentos (A-G y el punto decimal).

He decidido que necesito más poder. Lo primero que pensé fue tratar de usar 4 transistores PNP . Los engancho correctamente, y los segmentos se vuelven más brillantes. ¡Genial! Sin embargo, hay un problema. ¡Parece que el transistor está ralentizando algo! ¡Hay un brillo desagradable de segmentos que son usados por otros dígitos! Tengo el microprocesador configurado para mostrar cada segmento durante 4 milisegundos. La hoja de datos afirma que el transistor debería encenderse y apagarse más rápido que eso. ¿Por qué está pasando este débil resplandor?

Esto es lo que parece cuando se muestra 1111:

Estoesloqueparececuandosemuestra1112:

    
pregunta blake305

5 respuestas

2

Aquí hay un posible mecanismo para la falla. Usted dice que funciona (débilmente) sin los transistores, pero no funciona con ellos. Así que suena como si la falla estuviera en los transistores. ¿Hay alguna razón por la que los transistores puedan dejar pasar algo de corriente cuando no deberían?

Sí. Estás utilizando un transistor PNP. Como saben, estos transistores están encendidos cuando el voltaje de la base es inferior al voltaje del emisor. Se apagan cuando la tensión de base es mayor o igual que la tensión del emisor.

El problema con el chip de registro de desplazamiento es que las salidas son siempre más bajas que el voltaje del emisor. No pude descifrar el número de pieza del chip que está utilizando, pero de acuerdo con la hoja de datos de 74HC595 (página 6), las salidas no llegan a Vcc. Si hay una pequeña diferencia de voltaje, entonces podría encontrar que una pequeña cantidad de corriente se está escapando de la base del transistor PNP. Con una ganancia de alrededor de 100, podría encontrar que hay suficiente corriente CE para proporcionar una salida de luz notable en los LED.

Algo para probar: agregue un diodo schottky entre Vcc y el emisor. Esto debería disminuir el voltaje del colector en una fracción de voltio, lo suficiente para permitir que el registro de cambios apague completamente el transistor.

    
respondido por el Rocketmagnet
6

¡ no promueve esta respuesta! Blake encontró la solución por sí mismo, pero no parece estar interesado en publicarla como respuesta. Solo estoy publicando como una lección sabia para las generaciones futuras.

Al conducir directamente los ánodos comunes, hizo una salida alta a la vez, y las salidas para los no seleccionados se muestran bajas. Pero agregar los transistores PNP invierte la lógica, y luego desea que la salida de la pantalla seleccionada sea baja y las demás altas.

Entonces, ¿qué sucede si olvida invertir los controladores de ánodo? Digamos que quieres mostrar "1234". Hace que el ánodo del primer dígito sea alto, que los otros sean bajos, y genera el patrón de bits para un "1". En lugar del primer dígito que muestra el "1" permanece en blanco, y los otros mostrarán el "1". Mueve al siguiente dígito. Nuevamente, ese dígito permanecerá en blanco y los otros tres mostrarán el "2". Y así. Debido a la multiplexación, cada dígito mostrará una combinación de los otros tres dígitos, pero no el valor real para ese dígito.

Blakedicequesesuponíaqueestoera"1112". Los primeros tres dígitos muestran la combinación de "1" y "2", mientras que el último solo muestra el "1" porque eso es lo que son todos los otros dígitos.

    
respondido por el stevenvh
2

Rocketmagnet puede estar en el camino correcto: los PNP pueden tener cierta corriente de base debido a la fuga de sus controladores. Si la fuente de alimentación de PNP (la tensión del emisor de los transistores) es la misma que la de los controladores HCMOS (¿HC595?), Entonces esto no debería ser un problema, las salidas del HCMOS generalmente permanecen bien dentro de 100 mV aproximadamente de los rieles.

Si el suministro de PNP es mayor, no debe conducirlos con una salida push-pull, sino con un colector abierto de drenaje / abierto. En ese caso, la corriente de fuga del transistor cuando está "apagado" pasará a través de la base de la PNP y, por lo tanto, se amplificará. Un 2N2907 no tiene un hFE muy alto, pero puede causar suficiente corriente de colector para mostrar como LEDs ligeramente iluminados.

El remedio es simple: agregue una resistencia entre la base y el emisor de los PNP. Luego, siempre que la corriente de fuga cause una caída de voltaje menor a 0.6 V a través de la resistencia, toda la misma pasará a través de la resistencia, y ninguna a través de la base. Elija por ejemplo una resistencia de 4.7 kΩ. Luego, necesitará al menos 130 µA para obtener la primera corriente a través de la base, hasta que todos pasarán a través de la resistencia. 130 µA es un valor seguro: es mucho más grande que la corriente de fuga esperada, pero mucho más pequeño de lo que el conductor puede hundir.

    
respondido por el stevenvh
0

Es un problema muy común cuando eres nuevo en la multiplexación. Multiplexación significa conducir una por una pantalla LED. Este problema surge cuando todavía hay datos en el puerto de salida & haces otra pantalla en. HAGA esto: ponga los datos en el puerto de pantalla, haga que se muestre una pantalla, quite todos los datos, haga que la pantalla se apague, muy poco retraso, ...... Repita este paso ... Tu problema será resuelto.

    
respondido por el Jayprakash Shet
0

Supongamos una corriente de pico máxima de 20 mA por segmento. Cada uno de los direccionadores de lado alto y bajo caerá ~ 0.5 V, la pantalla en sí misma caerá ~ 1.5V. Por lo tanto, la resistencia bajará 2.5, por lo que para 20 mA debe ser de 125 Ohm. 120 Ohm haremos.

Un registro de desplazamiento común no tendrá ningún problema con 20 mA, pero 8 x 20 mA (todos los segmentos de un dígito activados) probablemente sea demasiado. Si tiene 4 salidas de reserva, puede usar transistores PNP (resistencia de base 1k). De lo contrario, adjunte los transistores a su segundo registro de turnos.

Debe darse cuenta de que está realizando multiplexación de tiempo: debe dividir el tiempo de "encendido" de manera uniforme entre los 4 dígitos, y el tiempo de "encendido" debe ser mucho mayor que el tiempo requerido para cambiar entre los dígitos. Esto requeriría una baja frecuencia de conmutación, pero tampoco desea ver la conmutación, por lo que ~ 100 Hz (2,5 ms para cada dígito) podría ser un buen compromiso.

Sus imágenes muestran imágenes fantasma: aparece un dígito no deseado (débilmente) superpuesto en el dígito que debe ser visible. Es probable que esto se deba al cambiar las filas o las columnas demasiado pronto. Cuando no puede cambiar todo en un solo paso (tenga en cuenta que puede hacerlo con un registro de desplazamiento en cascada con un registro de espera separado) debe

  • desactivar todos los dígitos
  • activar los segmentos para el siguiente dígito
  • activar el siguiente dígito

Omitir el primer paso te dará el efecto fantasma.

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas