Matriz 8x32 con PIC16F84A

Hola dalisss

Es difícil distinguir en el ProtoBoard una conexión errónea o falta de ella.
No distingo si los capacitores del cristal están conectados efectivamente al negativo de la fuente.

saludos
a sus ordenes
 

Adjuntos

  • A Pregunta A.jpg
    A Pregunta A.jpg
    80 KB · Visitas: 17
Aunque el crystal es de 4Mz no se si eso influya.

Decidi montarlo de nuevo en el protoboard pero esta vez solo le puse dos leds en las salidas pero no prendieron
 
Hola dalisss

Supuestamente la frecuencia del cristal está bien.

Realmente no se que esté ocurriendo, pueden ser tantas cosas: una(s) conexión(es) erróneas. Falta de alguna conexión. Falsos contactos. En fin, no se que esté ocurriendo.

saludos
a sus ordenes
 
Hola, soy nuevo en esto de los microcontroladores y me interesa mucho lo que son las matrices leds... Ya que la programacion esta para hacer una matriz de 8 * 32, quise hacer una de 16 * 16, y me dijeron el pic 877 que tiene mas salidas. Basandome en la programacion que esta en esta pagina. Se podra aumentar las filas? La verdad no manejo mucho de programacion, y no sabria donde esta la seccion de las filas, es un poco mas facil ver donde esta las columnas. Ojala me puedan ayudar.
 
Un proyecto de matriz de leds requiere conocimientos medios a avanzados en microcontroladores... ya que no es solo encender y ya, requiere mantener ciertos tiempos precisos y cuidar que no se acabe la memoria para poder lograr ciertos efectos, ademas de evitar que el micro se sature de trabajo y pueda hacer otras cosas

Sin esos conocimientos nunca vas a poder aumentar o modificar una matriz de leds... a lo mas que puedes aspirar es a copiarla

te recomiendo que leas tutoriales y aprendas bien de programacion de microcontroladores antes de intentar modificar una, de lo contrario nunca vas a encontrar porque esta fallando la matriz

http://www.neoteo.com/tutorial-programacion-de-microcontroladores-2767/
 
Hola alguien que me ayude a configurar mi programa, solo quiero hacer una secuencia de 16 luces con dos integrados 74hc164



echame una manito con mi conhfiguracion de dos 74164 una secuencia de luces
 

Adjuntos

  • 16 COLUMNAS CON 74164.rar
    31.1 KB · Visitas: 58
Última edición:
Saludos tengo problemas con mi matriz de leds,el problema es el siguiente, cuento con un archivo pbp, en este archivo se puede modificar el texto a mostrar, al compilarlo con MicroCodeStudio no marca ningún error en la compilación, y al volver a cargar el archivo .HEX en la simulación en Proteus ya no despliega nada :cry: .
Espero me puedan ayudar, saludos
 
Saludos D@rkbytes agrego los archivos, espero puedas ayudarme :alabanza: , ya eh modificado el programa y lo compilo pero al cargar el archivo hexadecímal no me corre la simulación
 

Adjuntos

  • matriz.rar
    74.6 KB · Visitas: 53
Hola arturobuffon

Lo que ocurre con tu circuito es que lo alambraste Incorrectamente.
El programa parece estar bien.
Compara tu diseño (ISIS de Proteus) con el que te envío contenido en el documento .PDF.
Ese circuito es el que está en el mensaje #12 de este mismo tema.

Espero te sirva.

saludos
a sus ordenes
 

Adjuntos

  • matriz7x32.PDF
    178 KB · Visitas: 54
Saludos D@rkbytes. Agrego los archivos, espero puedas ayudarme :alabanza: , ya he modificado el programa y lo compilo, pero al cargar el archivo hexadecimal no me corre la simulación.
Encontré algo que puede ser la causa.
El programa corre a 4MHz pero la simulación a 20MHz y el registro CMCON no estaba configurado para desactivar los comparadores.

También realicé otros cambios al programa para mejorarlo un poco.
No lo he probado físicamente porque no tengo 4 CI 74HC164 ni los panel de LED.
Notarás que se ve como si se apagaran algunos LED mientras se va desplazando el texto, espero que eso no ocurra físicamente.

Y como menciona MrCarlos, yo también tuve que modificar el circuito del diseño que subiste.

Suerte.
 

Adjuntos

  • Matriz_de_leds_7x32.rar
    34.3 KB · Visitas: 65
Muchas gracias, MrCarlos y D@rkbytes. Ya corregí el circuito.

El programa lo estaba compilando y me salieron un par de errores.
Tal vez sea por la versión del MicroCode Studio que estoy ocupando.

Los errores que me arroja el programa son los siguientes:

illegal opcode (PIC16F628A)
illegal opcode(HS_OSC)
 
Última edición por un moderador:
Saludos D@rkbytes el problema quedo solucionado, si era por la version de windows que estaba utilizando, por otra parte para mi bolsillo esta muy caro utilizar las matrices de leds, asi que opte por ocupar leds, segui esta lógica pero no prenden :confused: espero puedas ayudarme :apreton:
 

Adjuntos

  • banderataxi.rar
    31.4 KB · Visitas: 38
Por otra parte para mi bolsillo está muy caro utilizar las matrices de leds, así que opté por ocupar leds.
Seguí esta lógica pero no prenden.
Tienes mal la conexión de Q7, el colector debe ir hacia los cátodos de la fila de arriba y está conectado sobre la línea o columna del pin 13 de U4.
Y los pines de reset no tienen conexión.

Prueba ese diseño físicamente porque en el simulador no se va a poder de esa forma.
Sería mucha carga para el simulador porque son muchos componentes trabajando en modo análogo.
En dado caso que se cambiara su estado a digital, tampoco creo que pueda funcionar la simulación.

Otro detalle: Según la hoja de datos del 74HC164, entrega 25 mA por pin.
Suponiendo que cada LED consuma 10 mA y al ser 7 LED ya serían 70 mA de consumo por línea cuando se enciendan todos.

Los LED comunes de alto brillo de 5 mm. consumen alrededor de 8.84 mA con una resistencia de 330Ω y a 5 Voltios, ya casi los 10 mA. (Pero depende del fabricante.)

Si físicamente no logras encender los 7 LED, tendrás que usar un buffer por línea en el 74HC164.
Pero recuerda que la salida debe seguir a la entrada para que no tengas problemas por inversión de polaridad.
 
Última edición:
Estas en lo correcto ademas de que tenia mal conectados los leds, ahora ya prenden, pero como lo mencionas el brillo no es suficiente, pienso colocar transistores bc547 en las filas para aumentar el brillo, crees que sea necesario colocar transistores también en las columnas? :unsure: te envío la simulación.
Saludos.
 

Adjuntos

  • banderataxi1.rar
    29.4 KB · Visitas: 34
Ahora quitaste los transistores e invertiste los LED. Así no funcionará porque quedará invertido el funcionamiento.
Debes dejar los transistores a la salida del PIC y colocar un buffer por cada salida del 74HC164

También debes tener en cuenta la corriente que puede entregar el microcontrolador y el 74HC164.
Ambos pueden entregar 25mA aproximadamente por pin.

Corriente de salida por pin para el PIC16F628A
Output Current By Pin - PIC16F628A.jpg
Corriente de salida por pin para el 74HC164
Output Current By Pin - 74HC164.jpg

Como nunca he usado ni he tenido en mis manos una matriz de LED comercial, no sé si éstas tengan resistencias internas por cada LED. (Esto sería una gran ventaja.)
Pero al realizar una matriz sin resistencia por LED, esto se puede convertir en un problema al usar un buffer.
¿Por qué? Porque cuando únicamente se encienda un LED, la corriente será de 10mA, pero cuando se enciendan 3 o más LED's en la columna, entonces la corriente será mayor.
Y aquí es donde entra el problema con el valor de la resistencia limitadora de corriente.
Posiblemente colocar una resistencia en el emisor de cada transistor sea la solución, pero nunca he hecho la prueba.

Tal vez alguien que haya realizado una matriz con LED's independientes nos pueda explicar sobre esto.

Por ahora adjunto un buffer con transistores que puedes usar para hacer pruebas, ya que no es inversor.
También adjunto una matriz de LED's 8x8 para que entiendas su funcionamiento. (Ambos se pueden simular.)

Suerte.

Edit:
D@rkbytes dijo:
Posiblemente colocar una resistencia en el emisor de cada transistor sea la solución, pero nunca he hecho la prueba.
No me quise quedar con la duda acerca de esto y he realizado una prueba satisfactoria.
Al colocar una resistencia de carga de 82Ω en el emisor de Q3, la corriente se mantuvo casi constante desde 1 LED hasta 10 LED's, alrededor de los 9.42 mA.
La intensidad de iluminación apenas variaba cuando se encendía del quinto LED en adelante, y no muy notorio visualmente.

Adjunto el sistema que probé físicamente y que funciona perfectamente como buffer.
 

Adjuntos

  • Matriz de LED 8x8 y Buffer.rar
    21 KB · Visitas: 47
  • Buffer para matriz de LED's.jpg
    Buffer para matriz de LED's.jpg
    37.8 KB · Visitas: 20
Última edición:
He visto la simulaciónMatriz_de_leds_7x32en cámara lenta.
La forma como utiliza los buffers no es lo correcto, no me refiero a la conexión sino a la forma como multiplexa, pierde bastante tiempo en hacer un barrido en la simulación, es por eso que se ve como parpadeando.
Además de eso, está utilizando un barrido vertical.
Lo malo de este barrido es que los leds pierden brillo por que están encendidos unos microsegundos debido al tipo de barrido, además que eso te limita a poder poner mas matrices.

El gran problema de estas matrices, es que a mayor cantidad de columnas o filas, necesitas mayor velocidad en el microcontrolador que vas a utilizar y la vez pierdes brillo en los leds.
Si te pones a pensar en el tiempo que empleas para que este encendido el led, es muy corto y mientras más leds tengas, es más corto el tiempo de encendido del led.

He trabajado con matrices de 8x128 y 16x32. ¿Alguien se anima a mejorarla o dar sugerencias?
Uso barrido horizontal.
 

Adjuntos

  • matrix16x32.jpg
    matrix16x32.jpg
    30.2 KB · Visitas: 22
Última edición por un moderador:
Atrás
Arriba