Autor Tema: Led Matrix Controller  (Leído 2714 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
Led Matrix Controller
« en: 16 de Septiembre de 2004, 20:22:00 »
Buenas foristas, les comento mi nuevo problema.

Estoy haciendo un pequeño controlador de un display de Matriz de Leds, y sucede lo siguiente. Mi programa (en PCW C) hace lo siguiente (redactado en pseudo codigo):

bucle infinito
__desde columna = 0 hasta 5(uso un solo display, hago barrido de columna)
____PORTA = 00000000
____PORTB = columna  
____Esperar 1 uS (para que el IC de addressing indirecto tome la posicion)    
____PORTA = xx0xxxxx (0 es MCLR)
____Esperar 200 uS (probe valores entre 200uS y 1mS y todos me dieron el mismo resultado, sin flickering, por lo menos para esta cantidad de columnas)
__fin desde
fin bucle infinito

la explicación del codigo es la siguiente:
ejecuto el bucle infinito que da funcionamiento permanente a mi codigo. Dentro de este ciclo, tengo otro ciclo del tipo For, que se va a encargar de: poner todas las salidas de fila en estado bajo,
hacer el cambio de columna (columna = columna + 1), enviarlo al integrado de addressing indirecto (ahora explico esta parte), y recien ahi poner las salidas de las filas en PORTA (obviando RA5, es MCLR y solo sirve como entrada).

Por el lado de hardware, mi situacion es la siguiente

________________|-- o o o o o
________________|-- o o o o o
 PORTA del 16F648A|-- o o o o o
________________|-- o o o o o
________________|-- o o o o o
________________|-- o o o o o
________________|-- o o o o o
__________________ |_|_| |_| | | | | ... |
_________________---------------------------
__________________ 0 1 2 3 4 5 6 7 8... 15
_____________________74HC154
__________________ A B C D
_________________---------------------------
__________________ |_|_|_|
______________________________________
__________________1/2 PORTB del 16F648A

(espero se entienda el dibujo )

Mi problema es el siguiente: cuando el barrimiento va a una velocidad que forma la figura sin flick (entre 200uS y 1mS), la intensidad cae muchisimo...pero el problema no son las resistencias (estoy poniendo resistencias en cada fila, 180ohms[150ohms deberian ser segun mis calculos, pero no tenia ]), ademas, puse un SW en RA5, y cada vez que se imprime la informacion del display consulta, si RA5 esta en estado alto, retarda 1Segundo en vez de 200uS, y cuando hace eso, la intensidad de los leds son suficientes. Lo que note, es que en las columnas en que tengo 1 solo led encendido, tiene mas intensidad la luz del led. Cual puede ser el problema? porque se supone que el integrado tiene un drenaje suficiente para bancarse esa cantidad de leds.

Si a alguien se le ocurre algo, lo minimo que sea que pueda ser, porfas posteelo.

Gracias gente!

PD: si algun punto no quedo claro, avisenme y lo explico en profundidad

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Led Matrix Controller
« Respuesta #1 en: 17 de Septiembre de 2004, 07:29:00 »
Bajales el valor a las resistencias, estas calculandolas para funcionamiento continuo, pero usandolas en multiplexado....
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Led Matrix Controller
« Respuesta #2 en: 17 de Septiembre de 2004, 10:58:00 »
Escrito originalmente por MGLSOFT
Bajales el valor a las resistencias, estas calculandolas para funcionamiento continuo, pero usandolas en multiplexado....


ahh, deberia obtener el "voltaje eficaz" y en base a eso calcular la resitencia?..

y conoces alguna formulita para obtenerlo?

voy a investigar sobre eso

gracias!

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: Led Matrix Controller
« Respuesta #3 en: 17 de Septiembre de 2004, 11:45:00 »
El valor eficaz para una señal periodica es la integral en un periodo del valor absoluto de la señal dividido por el periodo... de modo q se puede calcular como

Vmedio = VMax * tiempo por cada pixel / tiempo por frame

Si no me equivoco mucho vamos...

Xcierto has pensado en añadir además un condensador en paralelo para suavizar el un poco mas el flickering?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Led Matrix Controller
« Respuesta #4 en: 20 de Septiembre de 2004, 10:38:00 »
Escrito originalmente por CDT_Gonzalo
Lo que note, es que en las columnas en que tengo 1 solo led encendido, tiene mas intensidad la luz del led.


¿No será insuficiente la corriente que sale por el PORTA para alimentar a cinco leds?, ¿has probado a saturar un transistor con la salida del porta para que sea este quien alimente a los leds?

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Led Matrix Controller
« Respuesta #5 en: 20 de Septiembre de 2004, 16:41:00 »
Escrito originalmente por nocturno66
Escrito originalmente por CDT_Gonzalo
Lo que note, es que en las columnas en que tengo 1 solo led encendido, tiene mas intensidad la luz del led.


¿No será insuficiente la corriente que sale por el PORTA para alimentar a cinco leds?, ¿has probado a saturar un transistor con la salida del porta para que sea este quien alimente a los leds?


Ya está solucionado el problema , en realidad es al revés. Es demasiado poca la capacidad de drenaje del 74hc154 como para conectarle 7 leds. En un principio, segun algunos datos que habia leido, habia estimado que iba a ser suficiente, pero evidentemente no lo fue. Igualmente al principio pensé que venia por el lado de la salida del PIC.

Gracias a todos!

Saludos,

Gonzalo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Led Matrix Controller
« Respuesta #6 en: 21 de Septiembre de 2004, 00:24:00 »
Claro, no me di cuenta de que hablabas de "columnas". Lógicamente si existía un problema no sería del pic sino del 74HC154.


 

anything