No hay salida del registro de desplazamiento

0

Estoy tratando de usar un Teensy 3.2 para controlar una pantalla de marcador digital. Estoy usando 6 pantallas comunes de ánodo 7 seg controladas por dos registros de desplazamiento 74HC595 conectados en cadena para controlar una matriz de transistores. (Esquema adjunto).

Seguí este tutorial para conectar los registros de cambios a la placa mediante 3 pines de salida. He probado y montado el circuito en protoboard pero no puedo hacer que las pantallas se enciendan. (El Teensy está encendiendo y ejecutando el código correctamente).

He probado todas las conexiones entre nodos con un multímetro y no hay cortocircuitos ni conexiones faltantes, pero no importa qué datos envíe los pines de salida todos LOW BAJOS cuando se prueban con un multímetro. Sé que el circuito debería funcionar ya que probé una versión condensada con un registro de turno y una pantalla de 7 seg en una placa de pruebas y todo funcionó bien.

Mi objetivo es multiplexar las pantallas de modo que solo una esté encendida a la vez (seleccionada por el primer registro de desplazamiento (el que está más a la izquierda) y el número que se muestra con el chip más a la derecha, por lo que cada LED debería poder recibir la corriente requerida de la Fuente de corriente continua.

El esquema y el código de prueba (solo enciende una pantalla) se adjuntan a continuación, así como los datos de los componentes:

Transistores: 2N5210; Pantallas: SA40-19EWA (ánodo común de 8V 20mA);

Cualquier ayuda con respecto a lo que podría estar pasando realmente sería apreciada ya que soy relativamente nuevo en los circuitos digitales

EDITAR:

El diagrama esquemático muestra conjuntos de 8 LED en serie paralela como un LED para mayor claridad.

int dataPin = 3;
int clockPin = 5;
int latchPin = 4;

void setup() {
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
}

void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
  shiftOut(dataPin, clockPin, MSBFIRST, B00010000);
  digitalWrite(latchPin, HIGH);
  delay(1000);
}   
    

3 respuestas

2

Su problema es su unidad multiplex.

Primero, sin embargo, debo señalar que creo que la descripción del problema es incorrecta. Cuando dice "los registros de desplazamiento no tienen voltaje en ninguno de los pines de salida", estoy bastante seguro de que quiere decir que no hay LED encendidos, y eso no es lo mismo en absoluto.

Segundo, su esquema es extremadamente engañoso, ya que muestra LEDs individuales en sus pantallas. De hecho, cada segmento de visualización está compuesto por 4 pares de LED conectados en serie, y esto hace una gran diferencia,

Dicho esto, cuando utiliza NPN para sus selectores de pantalla, produce el siguiente circuito para un segmento seleccionado:

simular este circuito : esquema creado usando CircuitLab

Dado que Q1 se está utilizando como seguidor de emisores, el voltaje del LED no puede ser más de aproximadamente 4,3 voltios, por lo que los LED no se encienden.

Debe reemplazar sus transistores de multiplexación con un par NPN-PNP, de este modo:

simular este circuito

La conducción de Q1 hará que la corriente de base se extraiga a través de Q2, activándola. No necesita un 100 ohm en este caso, 1k será más que adecuado, y la resistencia de base de 2k dibujará aproximadamente 5 mA a través de la base, lo que será más que adecuado para encender Q2 con una melodía de 20 mA o menos . Podrías usar 5k y el circuito funcionaría perfectamente.

    
respondido por el WhatRoughBeast
1

Tienes un condensador de 1uF en tu pin LATCH. Es probable que este sea su problema: los pines digitales necesitan bordes bonitos y afilados, nunca deberían necesitar un condensador. Además, 1uF es un valor tan alto, lo más probable es que LATCH nunca llegue a cero.

    
respondido por el theamk
1

Su circuito nunca funcionará con la pantalla LED de alto voltaje (8V). Las salidas del seguidor de emisor solo entregarán aproximadamente 4,3 V, por lo que los LED no se encenderán. El voltaje de salida termina siendo una caída de Vbe por debajo del voltaje de entrada, que es de 5V. El resto del voltaje se quema en el transistor, lo que en realidad podría ser simple si estuviera manejando un solo LED de 2-3 V, moviendo la disipación de potencia del regulador a los transistores del controlador, pero en este caso es fatal.

Necesita un controlador de lado alto como este (x6):

simular este circuito : esquema creado usando CircuitLab

Además, deshágase de ese 1uF en el pestillo y aumente la resistencia de la unidad de base en los transistores de emisor conectados a tierra a 2.7K, 100 ohmios es demasiado bajo; esos transistores tienen mucha ganancia actual y debería usarlos . Tampoco impide que los LED se enciendan, pero estresan las piezas mucho más de lo necesario.

Nota para cualquiera que se confunda con esto: las pantallas LED, por lo general, grandes, como las pantallas de marcador, están hechas de series o series de series de dados LED individuales dentro del módulo, y eso es exactamente lo que tiene el OP. Tienen un Vf nominal de 8 V según OP, por lo que quizás 4 LED rojos en serie, u 8 en serie-paralelo, etc.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas