Programación de registro de turnos con controladores de 8 y 16 bits

2

Construí un circuito de prueba utilizando 2 registros de desplazamiento de 74hc595n para controlar un total de 16 leds con éxito. Con el fin de ahorrar espacio, diseñé mi placa de circuito para usar un registro de desplazamiento STP16CP05MTR para hacer el trabajo de los dos 595. Me hicieron creer que podría usar estos en lugar de 2 595. ¿Es correcto, o hay una mejor opción, o se necesita una programación diferente para que funcione correctamente?

Hoja de datos de STP16CP05MTR enlace

595 hoja de datos enlace

    
pregunta Scott K

2 respuestas

3

Si bien las salidas de la 595 pueden generar una fuente o una corriente de sumidero, está limitada a 70 mA total dentro o fuera del chip y requiere una resistencia de balasto para cada LED que esté conduciendo.

El 16CP05 solo puede acumular corriente, pero cada una de sus salidas puede hundir 100 mA con un total de 1600 mA pasando por las salidas del chip a GND. Además, sus salidas son sumideros de corriente constante y solo se necesita una resistencia para configurar la corriente de salida para todas las salidas.

En cuanto a las diferencias en los protocolos de programación, se descubren fácilmente al leer las hojas de datos. :-)

    
respondido por el EM Fields
2

Aunque todavía no he usado un STP16CP05MTR, repasé brevemente la hoja de datos y parece que:

Sí, se puede usar un chip STP16CP05MTR para impulsar 16 LED, reemplazando dos chips 74hc595.

Hay una buena posibilidad de que el hardware se pueda sustituir simplemente, sin cambios en el software y cambios menores en la forma en que se conectan los LED.

Desde el punto de vista del software,

  • Enviar un bit 1 (ALTO) siempre hace que el '16CP05 ENCIENDA su salida, encendiendo el LED correspondiente. Dado que el '595 se puede conectar de cualquier manera, algunas personas lo conectan de manera que un bit 0 enciende el LED, mientras que otras lo conectan de manera que un bit de 1 enciende el LED - esto puede requerir o no cambiar el programa .
  • En el software, me aseguraría de que el programa mantenga el pasador de activación BAJO la mayor parte del tiempo, con un breve pulso ALTO después de que todos los datos de todos los chips encadenados se hayan eliminado. Parece que debería funcionar bien para cualquier número de '16CP05 o' 595 o cualquier mezcla en una cadena tipo margarita. (Con esta disposición de software, no importa que el '595 latch-enable sea "activado por flanco" y el otro es "activado por nivel").

Desde un punto de vista de hardware,

  • cambiar esos chips significa que puedes deshacerte de las 16 resistencias de "límite de corriente" que usaste con los dos chips '595, y reemplazarlos por un solo resistor de "conjunto actual".
  • Es posible que también deba considerar la disipación de potencia: la potencia que se estaba disipando en las resistencias cercanas al '595 ahora se disipa dentro del chip' 16CP05 '.
  • El '16CP05 le da más flexibilidad que el' 595 en el riel eléctrico. Con el '595, prácticamente se vio obligado a alimentar los LED desde un riel eléctrico regulado de 5 VCC. Con un TLC5925 o '16CP05, puede alimentar los LED de la misma manera, pero también tiene la opción de alimentar los LED desde el riel de alimentación de 12VDC no regulado.

Por lo que puedo ver en una breve hoja de datos, el TLC5925 es compatible con el pin '16CP05 y el TLC59282 ; los tres funcionan igual hasta una corriente de salida de 45 mA por LED. La principal diferencia es que '16CP05 puede impulsar los LED con más fuerza (hasta 100 mA por LED).

También es posible que desee revisar los chips que se enumeran en Qué chip SIPO es mejor, 74HC4094 o 74HC595 o algo más? .

Cualquiera de estos chips: el STP16CP05MTR, el TLC5925, un par de 74hc595, un par de 74HC4094, un par de TPIC6595, etc. - son más que adecuados para encender y apagar completamente los LED.

Si desea que la CPU controle el brillo de los LED a muchos valores en algún lugar entre encendido y apagado, tendrá que mirar otros chips como el TLC5940 u otros de la familia TLC59xx, el MAX6957, etc.

    
respondido por el davidcary

Lea otras preguntas en las etiquetas