Multiplexion de matrices dspic+74ls164

#1
hola a todos, tengo un pequeño problemas con un proyecto que estoy haciendo. se trata de multiplexar una serie de matrices para mostrar mensajes desplazándose.

el mensaje lo muestra bien, pero el asunto es que hay leds que encienden cuando no deberian, lo hacen de una forma muy tenue pero se notan, lo que me indica que hay una pequeña corriente quedando en algun sitio que hace que esto suceda (estoy 99.9% seguro que no es el software que hace que esto ocurra). estoy usando un dspic33ep256mu806, registros de desplazamiento 74ls164, arreglos de darligtons uln2003, transistores pnp tip127 y las matrices son de leds verde de alto brillo. el diseño lo pueden ver en el pdf que adjunte. se que no es el mas eficiente pero son los componentes que tengo por ahora para trabajar.

espero que alguien sepa porque esto sucede, porque yo ya me quede sin ideas :)
 

Adjuntos

#2
Veo tu diagrama y me surgen varias dudas
¿Porqué los ULN en serie?
¿Y los resistores limitadores de corriente en la base de los transistores?

También podría ser problema de la programación, esa "sombra" se suele verse es por que las matrices que no se refrescan correctamente. Es necesario desactivar la columna antes de enviar los datos correspondientes a los datos de fila de la siguiente columna
 
#3
hola daniel.

bueno para empezar uso los uln porque necesito 5v en la base del transistor para que entre en corte, ya que ese pic solo me da 3.3v en las salidas. inicialmente la idea era usar un solo uln o algun opto pero por algun motivo no me funcionaba, se veia todo encendido siempre. se me ocurrio invertir la libreria de las letras y poner 2 uln y fue que me "funciono", osea se veian bien las letras. los uln U1,U2,U24 y U25(en el diagrama) si tienen resistencias en todas sus salidas de 330 a vcc, solo que no las puse el el digrama. en cambio los uln de las columnas el U13 y U14 no llevan resistencias porque cuando se las coloco se vuelve loco el mensaje y no se porque x.x

por ultimo en el programa lo que hago es: habilitar la columan>poner el dato en los puertos>dejar un delay pequeño>quitar el dato>dejar otro delay aun mas pequeño y luego repito el proceso.

no se si estare trabajando mal los uln o transistores que hace que se genere esa corriente.
 
#4
¿Con que tensión alimentas los 74LS164?, también debes de asegurar los niveles lógicos si es que este opera a 5V. También no se si en el diagrama olvidaste colocar los resistores limitadores de corriente de las matrices.
La rutina de refrescado, como la mencionas, parece correcta, incluso podrías quitar el retardo seguido de quitar el dato para que se refresquen más rápido
 
#5
bueno los 74ls164 los alimento con 5V, y los tip127 y uln2003 los alimento con 6.5V para que alumbren mas los leds ya que el refrescamiento es muy rapido. y ummm bueno, las matrices si que no tienen resistencias, osea del colector del transistor salen directo al anodo de los leds. y en las columnas igual, del uln2003 salen directo al catodo de los leds.
 
#8
Haz esto, disminuye la frecuencia de refrescado a unos cuantos Hz de tal manera que sea observable a simple vista y checa si el efecto desaparece. Coloca los resistores limitadores de corriente de las matrices.
Considera también implementar la interfaz de voltajes en la entrada del 74164; con un transistor NPN trabajando en corte-saturación la puedes hacer. La base del transistor conectada por medio de un resistor de unos 3k3 a la salida del PIC, su colector a la entrada de CLK y DAT del 74164 con su respectivo resistor de pull-up hacía +5V.
 
#9
hola daniel, todavia sigue sin funcionar :|, quiero reemplazar esos componentes osea los uln2003 y los tip127 porque creo que por alli anda el problema. que otros comoponentes me recomendarias usar para reemplazar esos?
 
#10
intenta sustituyendo los ULN de la salida del PIC con unos bufferes 74LS245, estos al tener histéresis pueden funcionar para cambiar los niveles lógicos de 3.3V a 5V. Las salidas de los buffers por medio de su correspondiente resistor controlarían a los transistores
 
#12
hey daniel, no pude probar con los 74ls245, los fui a comprar y no habia. quite los trasistores tip127 y los uln2003(U24 y U25), solamente queadron los uln2003(U1 y U2) probe con pocas matrices y sorpresa funciono bien. ya al menos se que el problema es esta parte, voy a comprar unos mosfet a ver que tal me va con esos.
 
#14
bueno, los catodos los deje igual, con el registro de desplazamiento, y a la salida de este un uln2003, de momento me funciona bien, el asunto es que solo estoy trabajando con 6 matrices, me faltan agregar 20 mas, y el uln solo soporta hasta 500mA, antes de probar con los mosfet u otros transistores voy a ir agregando matrices, a ver si no llego a esos 500mA.
 

Temas similares

Arriba