Matriz 8x32 con PIC16F84A

#61
Saludos, Washington14. ¿Qué me recomendarías realizar para poder cambiar el barrido?
Estoy haciendo el armado en físico de la matriz 7x32. En cuanto la termine subiré mis resultados.
 
Última edición por un moderador:
#62
arturobuffon saludos para voz también:

Primero me gustaría saber si voz programas y si lo haces en que IDE lo haces. bueno para
que hagas el barrido horizontal que es mucho mas mejor que el barrido vertical. el barrido vertical se basa en enviar los datos del microcontrolador a la matriz paralelamente sin embargo el barrido horizontal se envían los datos serialmente así los registros de desplazamientos.

en cuanto subas tus resultados y simulación y programa puedo sugerirte unos tips
 
#63
estoy utilizando el software MicroCode Studio que genera un archivo pbp y al compilar genera el .hex que es el que cargo en el pic, te adjunto los circuitos y el programa estan en el mensaje 50 de este hilo, en la página 3 saludos.
 
#64
saludos a todos, arme el circuito físicamente y prende solamente la mitad :unsure: (8x16) las demás columnas no prenden, ademas de que no corre el programa, en breve adjunto las imagenes, no se si sea falla de los registros de corrimiento adjunto las imagenes, espero puedan ayudarme :cry:
 

Adjuntos

#65
¿Revisaste bien las conexiones y continuidad de los cables?
¿Cambiaste de lugar las matrices?
¿Llegan pulsos a los 74HC164 de las matrices que no encienden?
¿Mediste voltajes en los circuitos integrados y en las matrices?

Si prende la mitad y se desplazan, también deberían prender las otras.
 
#66
Si medí el voltaje de cada uno de los registro y todos tienen sus respectivos 5V respecto a los pulsos no sabría como medirlos, ¿tal vez con un led en el pin? el problema es que no se desplaza el texto simplemente al alimentar el circuito prenden los leds de la mitad de la matriz, no cambian.
La continuidad la medí y no hay ningún problema, las matrices no las eh cambiado, las cambiare de lugar.
Tal vez es algo del programa pero no lo creo el cristal es de 4 MHz tanto en el programa como en el circuito.
Espero puedas ayudarme
 
#67
Por la velocidad de operación, con un LED posiblemente no logres ver si existen pulsos.
Necesitas una punta lógica o un osciloscopio.

Revisa bien la continuidad y correspondencia de las pistas, recuerda que es un circuito en serie,
así que los datos de un chip van pasando al siguiente, del pin 13 pasan a los pines 1 y 2 del que sigue y así.
Los pulsos de reloj deben llegar a todos los 74HC164 por el pin 8 y el pin 9 de reset debe ir hacia +5V.

También comprueba los circuitos integrados cambiándolos de lugar.
Y sería conveniente que adjuntes el diseño del circuito impreso para revisarlo.
 
#69
¿Qué no, los transistores Q1 a Q7, deben ser NPN y con el emisor a negativo?
O sea, así: NPN.JPG Y no, así: PNP.JPG

Te menciono esto porque así están funcionando en el diseño de ISIS.
Se envía un 1 para que aparezca un 0 en la salida, que en este caso sería el colector del NPN.
 
#73
Saludos D@rkbytes, he modificado el promagrama para que corra a 20 Mhz, el cristal es de 20 Mhz, al problema ahora es que no prende ningun led, probe poner un transistor como amplificador para ver si asi prendian pero no lo hacen, creo que esta mal la configuración de mis led's te adjunto una imagen de como los tengo, un compañero me dijo que deben de ir al reves

se mwe olvido mencionar que he probado cambiando el cristal a 4MHz y 16MHz
 

Adjuntos

Última edición:
#74
La primer imagen es la correcta y la segunda no, porque tiene los LEDs en paralelo.
En el segundo esquema estás confundiendo las columnas y las filas.
Las columnas son los LEDs que están en posición vertical y las filas son los que están horizontalmente.

Las debes armar como el esquema de esta imagen: Matriz 8x8.jpg
 
Última edición:
#77
Saludos D@rkbytes mira los códigos y simulaciones que utilizo los adjunto a continuación, en el ejemplo1 solo se quedan prendidos todos los leds :unsure: , mientras que en el ejemplo2 parpadean los leds y si se nota el desplazamiento de izquierda a derecha pero no muestra ningún carácter :cry:
Agradezco mucho tu ayuda creo que ya estoy a punto de terminar este proyecto :cool:
Se me olvidaba, las resistencias del 74hc164 son de 330 ohms y las de los transistores son de 1 kilo ohm, tal ves esto interfiera en el funcionamiento
 

Adjuntos

Última edición:
#78
Prueba con esta otra modificación al programa, ahora usando matrices 8x8
Al parecer el problema es con el retardo que existe dentro de la rutina "LineaV"
Puedes hacer pruebas modificando su valor dentro del rango de 500us hasta 2ms.

También adjunto un pequeño programa para crear las fuentes de esta matríz de LEDs.

Para saber lo que mencionas sobre las resistencias, es necesario que adjuntes el esquema de conexión.
 

Adjuntos

#79
Te adjunto el esquemático de como tengo conectadas las resistencias, tanto de las salidas de los 74HC164 y las salidas del PIC.
En breve probaré modificando la velocidad.

Muchas gracias.
 

Adjuntos

Última edición por un moderador:
#80
Te adjunto el esquemático de como tengo conectadas las resistencias, tanto de las salidas de los 74HC164 y las salidas del PIC.
En breve probaré modificando la velocidad.
OK. Al parecer siempre sí va a ser necesario que se usen transistores PNP.
No me había tomado el tiempo de analizar bien como es que estaba funcionando esta matríz y esto fue lo que me causó confusión.
Esas matrices tienen los ánodos hacia arriba y por lo tanto requieren tensión positiva.

Las resistencias están bien de valor pero puedes probar colocando una sola resistencia de 330 Ω en el emisor y los 74HC164 los conectas directamente.

Realicé una modificación al programa y al diseño, invirtiéndolo para que funcione usando transistores NPN, pero en este caso las columnas deberán ser los cátodos.
Ahora por lo menos ya me quedó más claro como es que está funcionando esta matríz.
Ya me imaginaba que algo tenía que estar invertido por lo que has comentado, y ahora lo entiendo.
 

Adjuntos

Última edición:

Temas similares

Arriba