Reduciendo las fluctuaciones del nivel del suelo cuando se multiplexan las pantallas de 7 segmentos

0

Estoy usando un microcontrolador para multiplexar pantallas de 6x 7 segmentos. Los segmentos son manejados por 2N3906 y las pantallas por un ULN2003. La corriente promedio del segmento es de alrededor de 9 mA, por lo que los impulsos instantáneos de corriente LED son de alrededor de 53 mA por segmento.

Mi código está configurado actualmente para hacer lo siguiente:

1) La pantalla n está encendida durante 1.9 ms

2) Cuando hayan transcurrido 1.9 ms, apague todos los segmentos

3) Reiniciar el temporizador

4) Seleccione Mostrar n + 1

5) Active los segmentos correctos para la pantalla n + 1

El retraso entre el encendido y apagado (paso 2 y amp; 5) es de alrededor de 150useg. El código funciona perfectamente bien, pero mi problema es el ruido. Estoy usando un ADC para medir un voltaje de entrada y la referencia ni siquiera está cerca de ser estable a pesar del filtrado y las conexiones a tierra separadas debido a las enormes corrientes de conmutación. Esto se ve agravado por el hecho de que estoy apagando los segmentos por completo, y luego por completo al cambiar las pantallas, pero esta es la única manera que he encontrado para evitar el sangrado entre las pantallas (descrito de forma similar en esta publicación: Multiplexing dos pantallas de 7 Segmentos (problemas de Fantasmas) ) ... si mantengo los segmentos, luego cambie las pantallas, hay un sangrado del dígito anterior en el siguiente dígito. Lo contrario es cierto si primero cambio las pantallas. Los rastreos de alcance se ven algo mejor (significativamente menos picos) si no apago los segmentos por completo primero.

¿Alguien tiene alguna sugerencia sobre cómo podría reducir esta eliminación en el código sin tener que activar / desactivar los segmentos por completo?

Con respecto al ruido, esto se está haciendo actualmente en una placa de pruebas, por lo que la separación del terreno no es excelente, pero se utilizan diferentes tiras para la conmutación y la potencia de referencia / chip. También estoy considerando cambiar a MOSFET en lugar de a los 2N3906 para reducir un poco las corrientes de conmutación del puerto de Estados Unidos.

ACTUALIZAR :

Mostrar esquema de unidades (solo hay un total de 2x 2200uF de mayúsculas)

EsquemadereferenciadeADC,lareferenciaessoloTL431A

Salidadereferenciaconmicrocontroladordesconectado

Salidadereferenciaconsegmentosactivadosydesactivados

Aunque no publiqué la referencia con los segmentos activados y desactivados en todo el tiempo, en realidad no hay una diferencia significativa entre ellos. La diferencia real parece ser que los picos grandes son ligeramente más bajos en amplitud, pero no significativos. Sin embargo, se puede ver claramente que la referencia es extremadamente ruidosa. Los picos se ubican a aproximadamente 310 kHz, 2 veces la frecuencia del convertidor CC-CC (generando los 5.3 V).

¿Algún otro consejo para mejorar el comportamiento del ruido? ¿Los MOSFET como BSS84 reemplazan la ayuda de los 2N3906?

    
pregunta User7251

1 respuesta

0

Puede reducir el tiempo de apagado a aproximadamente 1 a 2 us, lo más probable, suponiendo que tenga el impulso de empuje y tracción de los transistores PNP.

Para lidiar con el ruido, asegúrese de que la conexión a tierra de su ULN2003 esté separada de la referencia a tierra del ADC (probablemente el pin de conexión a tierra de su micro) y asegúrese de que el voltaje aplicado sea con referencia a este último.

El ULN2003 cambiará una corriente máxima de 53 * 7 = 371mA, lo cual es problemático, especialmente en una placa de pruebas.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas