TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Astaroth_25 en 15 de Septiembre de 2006, 19:35:21
-
Hola a todo el mundo.. espero me puedan ayudar.. bueno... el caso es que hice un pasa mensaje electronico de 8 filas x 64 columnas, esto esta multiplezado utilizando el registro 74hc164.. funciona a las mil maravillas pero la intensidad de los led es muy baja... devido a la multiplexacion ya que una columna se encuentra activa .4ms... haciendo una frecuencia de 40 Hz.. el mensaje no parpadea.. pero la intensidad e los LED es muy baja. :(.. si alguien tiene alguna idea... se los agradeceria mucho :lol:
Cualquier consulta sobre el diseño o programa mi correo es jhimave@hotmail.com
-
Hola a todo el mundo.. espero me puedan ayudar.. bueno... el caso es que hice un pasa mensaje electronico de 8 filas x 64 columnas, esto esta multiplezado utilizando el registro 74hc164.. funciona a las mil maravillas pero la intensidad de los led es muy baja... devido a la multiplexacion ya que una columna se encuentra activa .4ms... haciendo una frecuencia de 40 Hz.. el mensaje no parpadea.. pero la intensidad e los LED es muy baja. :(.. si alguien tiene alguna idea... se los agradeceria mucho :lol:
Cualquier consulta sobre el diseño o programa mi correo es jhimave@hotmail.com
Sí, se me ocurren 2 opciones.
1) Aumenta la corriente de los Leds
2) Cambia los leds por otros de mayor intensidad.
Saludos
-
El problema es que estas refrescando por Columnas, cuando en realidad debes refrescar por filas.
Si tienes 8 filas y 64 columnas, pues entonces. Cargas los 64 bits en los registros de desplazamiento, y luego levantas una de las 8 filas.
Si sacas las cuentas, vas a ver la diferencia de tiempos de encendido que hay refrescando por fila o por columna.
En una matriz, siempre refresca el eje menor de ambos.
Si aun asi se ve mal, eleva el voltaje de alimentacion de los LEDS.
Saludos.
-
Maunix.. ya probe aumentar la corriente con un driver ULN2003A y no incrementa en nada y bueno los LED que estoy utilizando son de ALTA intensidad... gracias de todas formas...
-
BrunoF.. gracias por la sugerencia me parece muy interesante asi que me pongo a trabajar.. estaremos en contacto... gracias... :)
-
Maunix.. ya probe aumentar la corriente con un driver ULN2003A y no incrementa en nada y bueno los LED que estoy utilizando son de ALTA intensidad... gracias de todas formas...
Bueno, debiera ver tu rutina o tu esquemático, pero en esto no hay mucho secreto.
Debes mantener un duty cycle o ciclo de trabajo razonable en el diodo, que te permita pasar la suficiente corriente promedio para que el LED encienda bien.
Luego la frecuencia debe ser lo suficientemente alta para que no detectes ese parpadeo, puedes o aumentar la frecuencia o como dijo Bruno que tu ciclo de refresco se haga por lo que sea más pequeño o corto, que en tu caso sería la fila.
Lo de aumentar la corriente te lo dije porque si tu ciclo de trabajo es pequeño , un led puede resistir una mayor corriente por períodos cortos , eso aumentará su intensidad por unos instantes y la corriente promedio que circuló es la misma es decir que no se daña.
Si aún así no estás conforme, puede ser que es porque la velocidad de tu pic no está adecuada a la frecuencia que necesitas. En todo caso, o aumentas la frecuencia del pic, o bien cambias tu hardware para 'sectorizar' tu display de otra forma y así refrescar el mismo más rapidamente porque lo harías por varios sectores a la vez.
Saludos
-
Hola amigo!
Pase exactamente por lo mismo que vos, y lo resolvi gracias a la ayuda del foro. Todo lo conversdado en ese momento + fotos y detalles del proyecto en este hilo (http://www.todopic.com.ar/foros/index.php?topic=12449.0).
Suerte! :mrgreen:
-
El problema es que estas refrescando por Columnas, cuando en realidad debes refrescar por filas.
Si tienes 8 filas y 64 columnas, pues entonces. Cargas los 64 bits en los registros de desplazamiento, y luego levantas una de las 8 filas.
Si sacas las cuentas, vas a ver la diferencia de tiempos de encendido que hay refrescando por fila o por columna.
En una matriz, siempre refresca el eje menor de ambos.
Si aun asi se ve mal, eleva el voltaje de alimentacion de los LEDS.
Saludos.
Bueno BrunoF... gracias por el jalon de oreja... te cuento q ya esta funcionando con una buena intensidad... gracias de sobremanera... :lol: si sucede algun contratiempo voy a estar molestando nuevamente ...gracias...totales.. :-/
-
¿Jalon de orejas? Nah...Creo que todos hemos aprendido ciertas mañas de otras personas. En mi caso Chaly29 fue quien me iluminó en este tema cuando yo hice una matriz similar y renegue exactamente con lo mismo. Me alegro que funcione.
Exitos.
-
En mi caso Chaly29 fue quien me iluminó en este tema cuando yo hice una matriz similar y renegue exactamente con lo mismo. Me alegro que funcione.
Exitos.
Creo que eso es lo lindo de los foros (sobre todo éste foro), es el espíritu de "hoy por mi, mañana por tí, pasado por ellos...." :mrgreen: :mrgreen:
-
Sería de gran interes ver el hardware de tu aplicación. Creo que reduciendo el valor de la resistencia en serie con los segmentos led obtendrías mejores resultados.
pero repito, sería interantre tener detalles del hardware
-
Sería de gran interes ver el hardware de tu aplicación. Creo que reduciendo el valor de la resistencia en serie con los segmentos led obtendrías mejores resultados.
pero repito, sería interantre tener detalles del hardware
ahi te adjunto el nuevo diseño q tengo... el problema de la intensidad persiste pero ahora es por una fuente diferente... como veras la Fila 0 de la Matriz 0 esta unida con la Fila 0 de la Matriz 1 y asi... el problemas es que cada ves que una una nueva fila de otra matriz... baja la intesidad... vi por un osciloscopio y al aumentar una fila... el pin q debe aterrizar la fila para que prendra los leds.. no se aterriza a 0V sino que sube a 2V... si tienes alguna observacion sobre el diseño te lo agradeceria de sobre manera...graciass
-
ahi te adjunto el nuevo diseño q tengo...
No lo puedo ver...me parece que se te olvido. :)
Saludos!
-
ahi te adjunto el nuevo diseño q tengo...
No lo puedo ver...me parece que se te olvido. :)
Saludos!
Lo siento... ando volando
Ahi lo adjunto...
-
No puedo abrir el fichero .DSN
¿Que tal un PDF?
-
Hola a todos, soy nuevo en el foro y no tengo mucha experiencia pero espero poder colaborar...
He trabajado con tableros electrónicos y por lo general se usan registros de desplazamiento con control de la salida por señal de strobe, los 74164 tienen la desventaja de que cuando se mandan los datos seriales desde el pic el efecto de desplazamiento se ve reflejado en la salida, por esta razón para evitar el parpadeo durante el envio de datos se deben desactivar todas las filas por lo que se tienen un tiempo las matrices apagadas (supongo que asi se esta haciendo); el usar un registro con strobe (4094 o 74HC595) la salida se mantiene fija aún mientras se envian todos los datos y luego de que se ha enviado todo se da un pulso de strobe para que lo que se envio pase a la salida de los integrados, con esto el tiempo que se toma enviar los datos no afecta el tiempo del multiplexado y no hay la necesidad de apagar todas las filas mientras se envian los datos, por lo tanto la intensidad debe mejorar. Recomiendo mirar las hojas de datos de los registros que mencione par que quede mas clara la diferencia.
Espero haber sido claro en la información.
saludos desde Colombia.
-
Hola amigo!
Clarisimo!
Lamento no haberme dado cuenta de ese detalle cuando arme mi cartelito con los 74164...
Me servira para la proxima vez! :)
Gracias por el dato.
-
Bueno yo tengo el mismo problema de la intensidad y ya probe de todo... un uln2803 en los catodos de la matriz... transistores en los anodos, tiempos de refresco... subir la frecuencia del crystal a 20mHz y nada... no doy con mi error
el uln practicamente ke no me amplifica la corriente... y los transitores por algun extraño motivo me encienden los led que no deberian encender.... lo cierto d pues trabajando solo con los uln se encienden los led que se tienen que encender pero con muy baja intensidad...
alguien me puede ayudar??
-
Hace tiempo me paso algo parecido y el problema eran los mismos leds que poco a poco se iban malogrando, probablemente la corriente de suministro a los leds era mucha, ya no recuerdo los calculos de aquella epoca.
Los ULN de por si solo no son amplificadores magicos de corriente, es la carga la que pide mas o menos corriente dependiendo de la misma, para ello si necesitas mas corriente debes tener un buen transistor que suministre dicha corriente o un ULN.
Javicho.
-
Hace tiempo me paso algo parecido y el problema eran los mismos leds que poco a poco se iban malogrando, probablemente la corriente de suministro a los leds era mucha, ya no recuerdo los calculos de aquella epoca.
Los ULN de por si solo no son amplificadores magicos de corriente, es la carga la que pide mas o menos corriente dependiendo de la misma, para ello si necesitas mas corriente debes tener un buen transistor que suministre dicha corriente o un ULN.
Javicho.
entonces me sugieres que trabaje con una matriz "casera" o sigo trabajando con estas que son prefabricadas???
-
Podrías subier el esquema del circuito?
Saludos,
Diego.
-
Podrías subier el esquema del circuito?
Saludos,
Diego.
Exacto, sube el esquema y si tienes fotos o video mejor.
Javicho.
-
Desde luego el circuito es este:
(http://photos4.hi5.com/0074/356/495/OwlXhw356495-02.jpg)
el soft del micro lo que hace es cargar datos en el registro de desplazamento y en cuanto los termina de cargar habilita una de las filas usando el decodificador, las compuertas negadoras son solo para poder utilizar el uln2803 pues este decodificador es de logica baja, y la linea "com" que esta en comun entre los dos uln no tiene efecto alguno en la amplificacion de corriente cosa por la cual la quite del circuito.
El unico problema que tengo es con el brillo, pero como les digo ya he intentado muchas cosas y no parecen darme un buen resultado... si ampliaba el tiempo de refresco la imagen me titilaba y no aunmentaba mucho el brillo, tambien puse transistores a la salida del registro de desplazamiento pero fue un resultado muy extraño pues se encendian grupos de a 3 led por cada columna cosa para nada deseable... no se tal vez pueda ser la matriz (pues es una d esas queya venden prefabricada y que si le buscas el datasheet no lo encuentras en internet) o tal vez sea el soft... pero dudo mucho que el problema sea del programa del micro pues el resultado del funcionamiento es claramente apreciable a oscuras...
una foto con la luz del cuarto:
(http://photos3.hi5.com/0075/670/670/avguec670670-02.bmp)
y sin la luz:
(http://photos3.hi5.com/0072/320/034/SWsH6Z320034-02.bmp)
Para amplificar la corriente ayer estaba pensando en hacer las siguientes modificaciones...
- los uln2803 ponerlos al registro de desplazamiento
- despues de las compuertas negadoras poner transistores npn
- transponer la matriz... pues solo conectar los catodos de la matriz a los uln y los anodos a los transistores
pues esta modificacion es solo una idea... tal vez inclusive usando transistores pnp y conectandolos directamente al decodificador podria ahorrarme las compuertas negadoras... ahh y el hecho de que me sobren pines en el decodificador es por que pienso ponerle un tamaño de 16 filas x 32 columnas... pero por ahora con ke me funcione bien el brillo en una 8x8 kedo contento :mrgreen:
bueno espero me puedan colaborar :-)
-
Yo siempre pensé que esas matrices prefabricadas tienen de por si baja luminosidad, prueba iluminando toda una fila sin pic, directo con su R y 5V y fijate la luminosidad, si es la misma o parecida a la que vez conectandole el pic pues ni modo no podras sacarle mas brillo que eso.
Javicho.
-
si ya hize esa prueba encendiendo la matriz como dices y si tienen buen brillo inclusive con la luz encendida se nota muy bien... asi las cosas lo mas seguro es que si se puede obtener mas brillo de estas matrices... el problema es como podria lograrse... sera que con las modificaciones que les meciono podria obtener mejores resultados??
-
Hola ekud te cuento que yo tambien soy uno de los que a armado uno de esos paneles electronicos y segun lo leido todo apunta al software del pic .....aunque ay una modificacion mas que se le puede hacer a tu hardware que es explorar por columnas y cargar el dato por las filas .........podriamos decir que no es mucha la diferecncia, casi tu matriz es un caudrado pero podrias probar ..por otro lado no veo que registro tas usando pero supongo que es uno de la serie 74hc esos de mayor corriente ......
muestranos tu codigo para poder checarlo sobre todo en los tiempos que das de encendido de cada columna y el tiempo que te tardas en cargar cada dato....
saludos :mrgreen: :mrgreen:
-
claro elcodigo mio es el siguiente:
program ejemplo_matriz
'SYMBOLOS USADOS
'simbolos para el multiplexor
Symbol A = PORTB.3
Symbol B = PORTB.4
Symbol C = PORTB.5
Symbol D = PORTB.6
symbol MUX_ON = Clearbit(PORTB,7)
symbol MUX_OFF = Setbit(PORTB,7)
'simbolos para el registro de desplazamiento
Symbol DATO = PORTB.0
Symbol CLOCK = PORTB.1
Symbol STB = PORTB.2
'VARIABLES UTILIZADAS
'variable para almacenar el dibujo
Dim DIBUJO as byte [10]
'variables de iteracion para las filas y columnas
Dim i as byte
Dim k as byte
'PROCEDIMIENTOS
'Procedimiento para cargar los datos en el resitro de desplazamiento
Sub procedure CARGAR_DATOS_FILA(Dim Fila as byte)
'Como en la iteracion contamos hasta 10 y la matriz va de 0 a 9
'se resta uno para poder recorrer por la matriz
Fila = Fila -1
'Itero por cada bit de la fila seleccionada del dibujo
for k = 0 to 7
'Obtengo el dato
Dato = Testbit(DIBUJO[Fila],k)
'Le indico al 4094 ke le estoy enviando un dato
CLOCK = 1
'delay_us(1)
CLOCK = 0
next k
STB = 1
'delay_us(1)
STB = 0
end sub
'Procedimiento para habilitar una fila
Sub procedure FILA_ENABLE(Dim Numero_Fila as byte)
'Como en la iteracion contamos hasta 10 y la matriz va de 0 a 9
'se resta uno para poder recorrer por la matriz
Numero_Fila = Numero_Fila -1
'Habilito la fila deseada en el mux
A = Numero_Fila.0
B = Numero_Fila.1
C = Numero_Fila.2
D = Numero_Fila.3
end sub
main:
'Cargamos el dibujo...
DIBUJO [0] = %00111100
DIBUJO [1] = %01000010
DIBUJO [2] = %10100101
DIBUJO [3] = %10000001
DIBUJO [4] = %10011001
DIBUJO [5] = %01000010
DIBUJO [6] = %00111100
DIBUJO [7] = %00011000
DIBUJO [8] = %01111110
DIBUJO [9] = %11011011
'Configuro las entradas y salidas
TRISA = 0
TRISB = 0
TRISC = 0
'Puertos a cero
PORTA = 0
PORTB = 0
PORTC = 0
'Prendemos el mux...
MUX_ON
PRINCIPAL:
For i = 1 to 10
'Cargamos los datos en el registro...
CARGAR_DATOS_FILA(i)
'Habilitamos la fila...
FILA_ENABLE(i)
'Hacemos un retardo....
Delay_ms(2)
'Continuamos con la siguiente fila..
next i
GOTO PRINCIPAL
end.
y el registro de desplazamiento es un 74hc4094
encuentran algo inconsistente???
el tiempo de refresco lo tengo en 2ms pues si lo pongo mayor se ve parpadeando la matriz..
-
mmm la cosa esta rara al parecer no hay nada en el codigo pero intenta hacer la exploracion lenta para que puedas ver como prenden los leds si prenden mas fuerte la cosa es optimizar mas el codigo si siguen prendiendo bajo el problema esta en el hardware ....fijate bien que el uln este gnd a tierra porque una vez me paso esto que no lo conectaba a tierra y por que el pin COM lo pones a VCC
-
Para amplificar la corriente ayer estaba pensando en hacer las siguientes modificaciones...
- los uln2803 ponerlos al registro de desplazamiento
- despues de las compuertas negadoras poner transistores npn
- transponer la matriz... pues solo conectar los catodos de la matriz a los uln y los anodos a los transistores
pues esta modificacion es solo una idea... tal vez inclusive usando transistores pnp y conectandolos directamente al decodificador podria ahorrarme las compuertas negadoras... ahh y el hecho de que me sobren pines en el decodificador es por que pienso ponerle un tamaño de 16 filas x 32 columnas... pero por ahora con ke me funcione bien el brillo en una 8x8 kedo contento :mrgreen:
bueno espero me puedan colaborar :-)
hola creo que te convendrá hacer lo que dices, y hasta mejor sacar ese tu decodificador y hacerlo solo con PNP's y utilizas directamente un puerto completo y dos de algún lado que sobre, porque tienes muchos pines libres. Ahorrarías un ULN, negadores y deco; en cambio solo usas 10 PNP's, no te olvides colocar resistencias también para darle más larga vida a las matrices
si gustas te puedes dar una vuelta por acá (http://www.todopic.com.ar/foros/index.php?topic=19091.msg200659#msg200659) para que veas lo que hizo yo en una matriz similar
espero te sirva, un saludo
-
Que? no le estabas poniendo resistencias? no pensaras que por la alta frecuencia (que en realidad es baja) a los leds no le pasa nada? en el esquematico no se nota mucho que IC's usas, vuelvelo a subir mejor pero ponle u poco mas calidad al dibujo.
Prueba tu programa solo con una fila las demas descoenctalas a ver si asi prenden y anda descartando poco a poco.
Javicho.
-
Según veo el circuito estas multiplexando 10 filas con los uln y colocando el dato para las columnas con el 4094, de esta manera cada fila solo enciende 1/10 del tiempo, si lo haces al revés (por columnas) cada una encendería 1/8 del tiempo y la intensidad debería mejorar, aunque esto implicaría algunos cambios en el circuito creo que es la mejor forma de acerlo. Hablo de filas y columnas basándome en el esquema adjunto.
No se que matrices estas usando pero me parece raro no ver resistencias en el circuito, una opción que te doy es que midas la corriente que requiere un led de las matrices para encender correctamente, suponiendo que estas mutiplexando 8 filas cada fila solo enciende 1/8 del tiempo, por lo tanto la corriente puede aumentarse hasta 8 veces para que la corriente promedio sea igual al valor que requiere para prender constante (no se si me hago entender), pero toda esta carreta parte de usar resistencias en las matrices.
Saludos,
Diego.
-
si lo mismo hubiera propuesto de utilizar 2 registros para manejar las 10 columnas y solo 8 filas, eso ahorra también pines del micro, pero no creo que haya mucho problema por 2/10 de tiempo extra, quizá pero dudo que sea notable
creo que las 10filas se pueden quedar
bueno ya depende de ekud que el lo que mejor le parece o simplemente probar las dos opciones directamente y ver cual es mejor o si son iguales ver el que tiene el mejor hardware (o mejor dicho menor hardware :mrgreen:)
un saludo
-
Señores les estoy muy agradecido por las respuestas, todas de exelente calidad y con puntos de vista que no se me habian ocurrido. tanto que ya no se por donde atacar el problema jejej.
Bueno algo es claro... yo pienso k el soft esta bastante sencillo y como les decia antes dudo que el error se encuentre en el, sinembargo no esta de mas optimizarlo todo lo que se pueda. Por otra parte no me conviene quitar el decodificador pues la idea es que en cuanto domine bien el brillo pienso ampliar la matriz a un tamaño de 16 x 32, y con esa idea en mente una matriz de tamaño 10 x 8 debria ser por tanto mas sencilla de multiplexar(no se si me hize entender bien en esta parte).
Otra cosa que es muy clara es el uso de resistencias caresco absolutamente de ellas en mi plano, voy a ponerlas a la salida de los uln, algo que no les habia dicho es que aun dejando conectada solo una fila de la matriz la intensidad es la misma(osea muy baja) y eso me hace dudar mas del hardware.
La prueba que pienso hacer inmediatamente es poner las resistencias y medir la corriente necesaria para que un led de la matriz se ilumine correctamente y dependiendo de este valor (que me imagino que no deberia ser mayor a 20mA) determino que tipo de transistor utilizar.
O creen que el error pueda estar en el proto??? una vez me paso que arme unn circuito (de hecho era un tacometro en RPM) en le proto y no me funcionaba... pero en cuanto lo monte en una vakela funciono al primer intento.
Voy a hacer pruebas de medicion de corriente y ya les estare comentando los resultados
-
Otra cosa que es muy clara es el uso de resistencias caresco absolutamente de ellas en mi plano, voy a ponerlas a la salida de los uln, algo que no les habia dicho es que aun dejando conectada solo una fila de la matriz la intensidad es la misma(osea muy baja) y eso me hace dudar mas del hardware.
La prueba que pienso hacer inmediatamente es poner las resistencias y medir la corriente necesaria para que un led de la matriz se ilumine correctamente y dependiendo de este valor (que me imagino que no deberia ser mayor a 20mA) determino que tipo de transistor utilizar.
O creen que el error pueda estar en el proto??? una vez me paso que arme unn circuito (de hecho era un tacometro en RPM) en le proto y no me funcionaba... pero en cuanto lo monte en una vakela funciono al primer intento.
Voy a hacer pruebas de medicion de corriente y ya les estare comentando los resultados
Si o si tienen que ir los transistores o bien a la salida de los negadores que tienes, o reconfigurando el circuito y sin el deco y negadores colocar solamente transistores, y así después piensas en las resistencias porque si así como esta alumbra poco con resistencias más no encenderá :lol:
La prueba te servirá para saber a que corriente ilumina mejor el LED y con eso calculas el valor de resistencia adecuado, el transistor alimentará a 8 o 10 LED's según la cantidad que tenga cada fila, entonces será aproximadamente: 8x20m = 160mA o 20mx10 = 200mA parece que de cualquier manera un transistor de propósito general te servirá
Puede que sea el proto, si puedes destapalo de atrás y ves si hay algún corto por ahí, o usas otros si puedes
-
Pues bien señores... resulta que por un acertado golpe del destino este dia me paso de todo desde infracciones de transito hasta el daño de mi multimetro pasando por el extraño comportamiento de un pic de la serie 18F que espero no me halla averiado los puertos usb de mi pc... asi las cosas... no pude medir la corriente exacta que consumia un solo pixel para iluminarse bien...
Aun asi... suponiendo que esta corriete no seria muy grande rediseñe el circuito usando transistores y resistencias esperando obtener mejores resultados... y por finnn por fin pude ver el dichoso muñekito ese a plena luz del bombillo de mi cuarto...
aki una imagen: :mrgreen: :mrgreen:
(http://photos4.hi5.com/0074/740/239/Zup3pi740239-02.bmp)
no se notan mucho pero por lo menos es una clara señal de que voy por buen camino...
el circuito que diseñe es el siguiente:
(http://photos4.hi5.com/0072/103/055/UmIjIS103055-02.jpg)
el registro de desplazamiento es el mismo (74hc4094) se encuentra controlado por el microcontrolador, tambien el resgistro de desplazamiento esta conectado con el uln2803 y este a su vez esta conectado a las resistencias de 220ohmios, los transistores (2n3906) estan directamente conectados al decodificador 74ls154 que esta gobernado por el microcontrolador.
Ademas por aqui a la mano tenia un transistor tip127 y una resistencia de 3.3ohmios, reemplazando un transistor 3906 por un tip 127 y una resistencia de 220ohmios por una de 3.3ohmios el resultado que obtuve se puede apreciar en la siguiente imagen, donde se nota como con estos cambios una fila (la fila la tercera fila de izquierda a derecha) enciende con mas intensidad.
(http://photos3.hi5.com/0073/973/446/tDfytT973446-02.bmp)
Tal vez en la imagen no se note mucho... pero les aseguro que se obtiene un brillo suficientemente bueno :-) :-) :-)y era de esperarse pues al reducir la resistencia y al utilizar este transistor tip127 (que tengo entendido tiene un beta mas alto) se permite mas paso de corriente hacia los led que se encuentran en esta fila.
Ahora lo que me preocupa son dos cuestiones... manejar la misma intensidad de brillo pero sin tener que transponer la matriz... y apesar del buen resultado que se logro en la fila anteriormente mencionada, pienso que el valor de 3.3ohmios es muy bajo y esto podria no se... dañarme la matriz o reducirle el tiempo de vida... tal vez con unos 22ohmios creo k seria adecuado... no se k piensen... y no estoy seguro si es necesario incluir el uln2803...
y ps nada vamos bien con este proyectiko 8) en verdad les estoy muy agradecido :c)
en cuanto al soft para el micro es exactamente el mismo
por cierto... el resultado sin las resistencias se aprecia en esta imagen:
(http://photos4.hi5.com/0073/755/007/rS9Nts755007-02.bmp)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
-
el valor de la resistencia depende de dos factores
*la corriente máxima que soporta cada led de la matriz, generalmente es 20mA
*la corriente pulsante que soporta el led, generalmente es 100mA a una frecuencia y ciclo de trabajo especificados por la hoja de datos
bien usas 20mA en tus cálculos o 100mA pero teniendo en cuenta lo que dice la hoja
pero no usar resistencias es una tortura para la matriz
esta quedando mejor el hard, buenas imágenes, jugando con las resistencias encontrarás el brillo adecuado y garantizando que la matriz no sufra mucho :lol:
-
es k ese es precisamente el problema... la referencia que aparace en las matrices no se encuentra en internet, es mas ni en la tienda en las que me la vendieron me dan razon del datasheet de estos dispositivos :? :?
Aki si me vi obligado a poner la resistencia que yo piense que me de un buen brillo
-
Hola ekud.
Las resistencias son sumamente importantes. Hace tiempo atras Chaly29 publicó un esquema en el que detalla las resistencias y configuración que debería usarse para una matriz de LEDs basado en una que yo hice. No te quiero mentir, pero por lo que recierdo el valor de las resistencias en las matrices que yo he hecho no era tan bajo.
Las resistencias son necesarias para proteger a los LEDs de corrientes excesivas, no solo durante su encendido, sino también si el software llegara a colgarse y quedara encendida solo la ultima fila que se estaba refrescando.
Un saludo.
-
Es cierto no se me habia ocurrido esa posibilidad... acabo de llegar de la tienda de electronica y compre un resistencias de distintos valores (por debajo de 100 ohmios para obtener un buen brillo pues con las de 220ohmios apenas y se notaban los led encendidos) hasta ahora la mejor candidata es la resistencia de 10 ohmios pero sigo pensando que es un valor muy bajo...
-
Hola veo que la cosa se va aclarando pero eso de usar resistencias menores de 100ohm no me parece como minimo de 110 ohm
lo que pasa que a mi parecer tu matriz es muy grande (8x10) segun lo que veo en la foto usas dos de 5x8 estas matrices viene de ese tamaño porque ese si es un estandar para la exploracion por columnas en cambio tu quieres exploralo como si fuera una de 8x10 que son demasiados brarridos ya sea por filas que por columnas ........ conclusion explora cada matriz(8x5) en forma independiente y no todo de golpe eso si que va mejorar la intensidad de los leds ....cualquier cosa pergunta que toy atento al tema...
Saludos..... :mrgreen: :mrgreen:
-
...pero como podria explorar cada matriz de forma independiente??? te refieres a utlizar un decodificador por cada matriz 5x8 y que todos los decodificadores esten "sincronizados"??? asi las cosas eso ayudaria mucho a la intensidad... pero saldria un tanto mas costoso no?? :?:
y en la parte del soft... no seria un tanto mas complejo??? pues no se... pero de k es una buena idea es una buena idea
-
Mirá, las resistencias que llevaba el prototipo que yo construí(y de la cual después se hicieron y vendieron muchas otros) llevaba resistencias cercanas a los 100 ohms, por encima de los 100 ohms seguro. Lo que hice por la poca intensidad fue aumentar el voltaje enviado a los LEDs. Mi matriz de 7x80 se refrescaba 1 fila por vez, y requería con LEDs buenos unos 14V para encender bien, y unos casi 18V para LEDs de inferior calidad.
Un saludo.
-
Si esas matrices vienen de ese tamaño es porque ese es el estandar para hacer la exploracion si me pudieras decir la configuracion de tus matrices si son catodo para filas o columnas? necesito esa informacion para darte una idea mas clara
-
es un buen dato... no se que tanto tenga que ver... pero si usabas resistencias de 100 ohmios para los led alimentados a 14v o 18v... no seria tan descabellado k yo use valores mas pekeños teniendo en cuenta que estoy trabajando todo con 5v inclusive la polarizacion de los transistores??
-
jeje pues en ese aspecto siempre pense que era por filas o por columnas dpendiendo de tu punto de vista :oops: jeje :|
pero hize un modelo no simulable en proteus de estas matrices para poder ayudarme un poco con el cableado y con la pcb... si gustas podria subir el archivo para que me aclares mas esa cuestion... yo en el archivo te indicaria cuales son anodos y cuales son catodos...
-
Correcto dame unos minutos y subo mi propuesta :mrgreen: :mrgreen:
-
no no tenia necesidad de subir el archivo de proteus... por aki a mano tengo una imagen k yo mismo sake de estas dichosas matrices...
la apariencia fisica de la matriz es esta:
(http://photos2.hi5.com/0073/244/637/qFJ6bg244637-02.bmp)
La configuracion de pines es esta:
(http://photos2.hi5.com/0072/564/117/s.1wCO564117-02.bmp)
las filas son catodos y las columnas anodos, la matriz es d un solo color, yo la interprete como de 5 filas y 8 columnas
por lo tanto la que yo arme 10x8 seria esta:
(http://photos3.hi5.com/0074/366/242/gGY5L3366242-02.bmp)
es correcto como la interprete??
-
(http://img141.imageshack.us/img141/4226/jmcs87matrizrr4.jpg)
BIEN EXPLICO... esta seria la forma de explorar las dos matrices en forma indepenmdiente la seleccion de las columnas es por catodo y las filas se cargan por anodo ....entonces por anodo entrara la data en total necesitamos cargar dos bytes en el registro
cada byte se mostrara en la primera columa de cada matriz y haci vas explorando cada dato en total un barrido de 5 que a su vez estarias explorando una matris de 8x10
-
JEJEJEJE :mrgreen: :mrgreen:para que lo veas igual a como esta en tus graficas :) :)
(http://img156.imageshack.us/img156/661/matriz2qc9.jpg)
-
Exelente diagrama capte tu idea al instante nunca se me habria ocurrido :mrgreen: voy a probarlo y ya subire imagenes
-
es una muy buena idea, de hecho yo lo tengo más o menos así, y tengo un buen brillo y hasta con resistencias, para color rojo uso 150Ohm para verde usaré 110Ohm
en los ULN, cual la diferencia en colocarlos en las filas o el las columnas, no hice la prueba, mi esquema es este (http://www.todopic.com.ar/foros/index.php?topic=19091.msg200659#msg200659) ahorra transistores al parecer :?
-
Bueno señores pues ya solucionado el tema del brillo de los led me voy aventurar a diseñar todo el sistema.
Les cuento que me decidi a hacerlo usando el decodificador 74hc154 que es de 4 a 16 lineas,conectado a su salida con los transistores 2n3906 y estos a los anodos de la matriz (filas). Los registros de desplazamiento usados seran los 74hc4094 conectados a su salida con los uln2803 y estos a su vez resistencias de 100ohmios que estaran conectadas a los catodos de la matriz (columnas).
En verdad me quede sorprenido por la variedad de caminos que se pueden tomar para diseñar sistemas como estos y les estoy muy agradecido por mostrarme sus mejores soluciones, por otra parte me veo casi que obligado a implementtar la solucion que propongo pues ya tenia comprados todos los componentes y no quiesera despeciciarlos adsemas ya habia adelantado parte del trabajo. Simenbargo todas sus soluciones y conclusiones son de gran calidad y estoy seguro que en un futuro no muy lejano las voy a probar
Mi idea es hacer una matriz de 16 filas x 32 columnas y "dividirlo" en dos pantallas de 16x16.
En cada "pantalla" voy a agregar un decodificador, registros, uln , resistencias y transistores, el micro lo voy a tener por aparte en otra vaquela pues tengo muchos pines libres que podria utilizar en otras cosas.
La idea de construir estos modulos de 16x16 es para que de cierto modo puedan interconectarse entre ellos y asi poder hacer pasamensajes mas grandes sin complikarme mas por la potencia de cada sector ni tampoco por la selecccion de la fila de la pantalla.
La vakela de cada pantalla las hare doble cara de hecho ya tengo un "prototipo" de esta pantalla construida, es doble cara pero no incluye ninguna etapa ni de control ni de potencia son solo para poner las matrices.
En este link ( http://rapidshare.com/files/192711743/Matriz_16x16_verde.rar.html (http://rapidshare.com/files/192711743/Matriz_16x16_verde.rar.html) ) podran descargar el eskematiko y la pcb realizada en proteus de la pantalla con todo el sistema de control de fila y de potencia incluido.
Si alguien decide hacerla no lo recomiendo pues no la he montado (aunke segun los experimentos que les mostre si deberia funcionar) tenga en cuenta que el tipo de matriz trabajada es bicolor y que su refencia es "WEJM5582A" o "QRGW-AEGB" y en cuanto la halla terminado y probado les mostrare los resultados que espero que sean satisfactorios.
Tanto el esquematico como la pcb fueron realizadas en proteus, para el router use el electra autorouter 2.07 que sinceramente me parece el mejor de todos (si alguien lo necesita me puede avisar)
Ahh y ps como de todas maneras mi sistema de 16 x 32 no es muy grande ni muy complejo esta sencilla solucion no me parece que pueda andar mal.
y pues señores en verdad les estoy muy agradecido. 8) y desde luego... en cuanto haga una pantalla se las estare mostrando.
-
Bueno estare esperando los resultados de tu panel :mrgreen: .........
no es por enrredarte mas de ideas pero te cuento que yo ya voy por mi tercer panel y si deseas chequear algunas cosas al respecto puedes entrar a http://micros.mforos.com/1149907/8023880-desarrollo-panel-88x7-16f877-y-eeprom-24lc256/
estoy en pleno proceso y puedo ayudarte cuando gustes
Saludos y suerte con el proyecto :-/
-
La tercera!!! jmm ya debes ser un duro para el tema!!!! 8)
Yo apenas estoy montando la primera pero son mis nobles comienzos jejeje
-
que bien que hayas solucionado el problema ekud, y también me pongo a la cola de espera para ver los resultados :mrgreen:
impresionante jmcs87, muy buenos los proyectos, les daré una mirada más a fondo
-
Hola a todos los participantes.
Les comento que hace un tiempo hicimos con un amigo, un letrero con modulos de matrizes de led's. El mismo consistia en un cartel para quinielas, el cual el usuario, dueño de la quiniela, le cargaba los numeros y datos de la quiniela por un teclado de pc, y luego lo ponia a correr.
El cartel se encargaba por si mismo de mostrar de 1 a 5 extractos de quinielas(20 numeros de 4 cifras) de 1 a 99 segundos por vez(programable). Les cuento que use un pic16f628a para encender 105 modulos de 7x5 lo que daria 525 columnas. Si cuentan veran mas modulos, pero los indicadores de posicion, asi como la palabra quiniela, los gestionaba con otro micro y hacia una pequeña animacion de roll en la misma.
Como el micro que controlaba los 105 modulos estaba bastante ocupado, decidi colocar otro para que lea el teclado, y administre la coneccion con la memoria donde se guardaban los numeros. Los datos entre el micro que leia el teclado y el que solo encendia las filas se los pasaba por el port serial.
Un tip que les puede servir es, cuando usen gran cantidad de modulos como en este caso, utilizen un registro de desplazamiento con latch, con lo cual, el tiempo que dejan encendida una fila, lo utilizan a la vez para ir cargando los datos que se mostraran en la proxima fila, y una vez cargado, solo le damos un pulso al strobe y los trae al frente.Con esto ganamos tiempo para hacer cosas con el micro.
Algo con lo que reneguamos un poco en su momento fue que los pulsos de latch y data iban bastante rapido, ya que en 4 ms que creo duraba cada fila encendida, debia mandarlos a todos por todo el cartel que no era pequeño. Sin embargo esto lo solucionamos regenerando con un 74hc04 los pulsos en cada placa.
Yo use los 74hc595 como registros de desplazamiento. Aqui les dejo unas fotos para que vean como quedo el bichito.... Espero les guste la mitad que a mi.....
(http://img144.imageshack.us/img144/410/0000012afa6.jpg)
(http://img301.imageshack.us/img301/2527/0000019acb2.jpg)
Perdon por el tamaño de las fotos, pero son las unicas que encontre. :(... se ven un poco borrosas, hay que mirarlas mas de lejos..
Saludos.
Modificado el tamaño de las imágenes para que puedan ser visualizadas correctamente(Brunof)
-
Asu pero que imagenes tan grnades un poco mas y se cuelga mi maquina jejeje :mrgreen: :D
bueno impresionante la cantidad de matrices que se usan en este letrero debe haber salido recontra costoso
gracias por el aporte nico y los tips que das para manejar los modulos son muy buenos en lo particular yo los e probado
y si funcionan
SAludos
-
guau que grandotes las fotos y que grande el cartel, muy bueno nico
cuanto de costo todo? en USD?
-
Si tremendas imagenes nico, te kedo exelente la aplicacion :mrgreen:
Señores... tengo una idea... pero no se que tan viable sea....
Ya sabemos que si por ejemplo tenemos una matriz de por ejemplo 8 filas por 32 columnas hariamos el barrido por filas...
pensando mas en el hard... sabemos que por lo menos tendriamos que usar 4 registros de desplazamiento... 4 uln... las resistencias que no pueden faltar y por lo menos 8 transistores...
Mi idea consiste en usar solo un transistor para todas las 8 filas... como podria lograrse esto??? pues bien existen multiplexores/demultiplexores analogos... la ventaja de estos demultiplexores es que permiten conmutar señales analogas ademas de los niveles ttl y de forma bidireccional... sea por ejemplo el 74hc4051.
En tonces el transistor estaria permanente amplificando y simplemente la corriente amplificada de este transistor la conmutariamos por cada uno de los canales del multiplexor y este a su vez estaria conectado a las filas de la matriz
no se si me hize entender bien... es solo una idea que podria ahorrarnos un par de transistores... tal vez hacer mas facil el ruteado... y etc
ademas no creo que el soft cambie mucho...
k piensan?? sera k se puede??? tal vez no me hize entender bien??
espero sus comentarios :-)
-
Hola eKud segun lo entendido tu quieres usar 4 registros y para cada salida de estos registros ponerle los 4 uln entonces las columasn seria catodos y en las filas poner los transistores que seran los que alimenten los anodos ...si es asi yo no lo veo correcto ya que el transistor dividira la corriente que entregue entre los 32 leds de la fila y como ya sabemos todos estos no siempre estaran encendidos, en un momento puede ser 20 o 10 o 27 etc....eso hara que cuando menos leds esten encendido los que estan prendidos iluminen mas y cuando todos se enciendan se iluminaran menos....espero que se entienda .
la configuracion que yo usaria o mejor dicho la que ya use porque yo ya e hecho uno de ese tamaño es usar los cuatro registros del tipo hc estos alimentan los leds ...entonces las columnas serian anodo y las fials catodo ...el catodo controlado solamente con los uln no necesitas transistores .......pero un detalle usa registros de tipo lath para que mientras muestras una fila vayas cargando otra .......
seguimos atentos al tema..... :D
-
Si, enormes las fotos :shock:, pero son las unicas que tenia...
El costo total en dolares fue aproximadamente 1000 u$s, digo aproximadamente porque aqui en Argentina los precios siguen subiendo hasta en dolares. Recuerdo que los modulos me habian costado 2.8 u$s, son de la casa Para Light, pero nunca encontre una hoja de datos de los mismos y tuve que comprar 200 unidades para tener ese precio. Habia modulos por donde mires,jejeje.
Saludos.
-
Hola eKud segun lo entendido tu quieres usar 4 registros y para cada salida de estos registros ponerle los 4 uln entonces las columasn seria catodos y en las filas poner los transistores que seran los que alimenten los anodos ...si es asi yo no lo veo correcto ya que el transistor dividira la corriente que entregue entre los 32 leds de la fila y como ya sabemos todos estos no siempre estaran encendidos, en un momento puede ser 20 o 10 o 27 etc....eso hara que cuando menos leds esten encendido los que estan prendidos iluminen mas y cuando todos se enciendan se iluminaran menos....espero que se entienda .
la configuracion que yo usaria o mejor dicho la que ya use porque yo ya e hecho uno de ese tamaño es usar los cuatro registros del tipo hc estos alimentan los leds ...entonces las columnas serian anodo y las fials catodo ...el catodo controlado solamente con los uln no necesitas transistores .......pero un detalle usa registros de tipo lath para que mientras muestras una fila vayas cargando otra .......
Si tienes razon con lo de el brillo... pero a lo que queria refereirme mas bien es al tema del mux analogo para usar un solo transistor para todas las filas...
-
bueno amigo ekud no conosco un mux que permita pasar la corriente del transistor aunque te ahorras 6 transistores (si son siete filas) tendrias que integrar el integrado mux entonces en cuestion de espacio creeo que no ganas mucho y repito nuevamente no veo necesidad de usar transistores..
Saludos
-
ekud, cuál fue el esquema final que quedó entonces?
-
Pues el esquema final me quedo con transistores 3906 gobernados por el decodificador 74hc154 para las filas que serian anodos, en las columnas (catodos) puse registros de desplazamiento seguido cada uno de un uln y resistencias a la salida de cada uln.
Si lo piensas bien jmcs87 tiene razon en lo de que si usas transistores la corriente se dividiria entre cada uno de los led encendidos... provocando asi que si tienes en una fila menos led encendidos estos podrian brillar mas que en una fila en la que se tengan mas led encendidos.
Para solucionar esto el compañero jmcs87 propone usar solo los uln acompañados de un juego de resistencias evitando de esta manera el uso de los transistores.
Sinembargo como poseo poca experiencia con el tema yo decidi usar transistores pues en la matriz que tengo funcionando ininterrumpidamente ya desde hace 3 o 4 dias de un tamaño de 8 filas x 10 columnas ningun led se me ha quemado y todas las filas tienen el mismo brillo...y el brillo que tiene es muy bueno pues a plena luz del dia mi novia (que no es que tenga una vista muy prodigiosa) pudo distinguir claramente a unos 15 metros de distancia el dibujo que tengo en la matriz... puede que este resultado positivo se deba al pequeño tamaño de la matriz como puede que sea ayuda de los transistores... no se... solo que como me funciono bien ps decidi quedarme con este.
Otro motivo que me lleva a quedarme con este diseño es que pienso armar pasamensajes mas grandes en base a modulos de matrices de 16x16, cada modulo armado con 4 matrices de 8x8 y ademas pienso incluir en cada modulo todos los componentes que te mencione anteriormente, de hecho ya diseñe las vaquelas para el color verde y para el color rojo. Y pues quiero hacerme este diseño "modular" para poder tener el micro muy por aparte de estos modulos, de hecho segun lo tengo pensado... cada modulito lo podria controlar con 10 pines (dos para alimentacion y tierra, 3 para los registros de desplazamiento de las columnas, 4 para seleccionar la fila y un enable para apagar toda la matriz) ademas estos modulos los diseñe para conectarlos uno tras otro...
Y pues bueno solo lo diseñe d esta manera pk hasta ahora me ha funcionado muy bien, ya consegui hoy todos los materiales para hacer el primer modulo y me imagino k mañana podre estar fabricando la pcb y soldando algunos componentes, espero al cabo de el viernes o sabado tener listo el primer modulo y hacerle las pruebas correspondientes....
Por otra parte tambien pienso experimentar con el modo de trabajo de jmcs87 (en el que solo usa los uln y el juego de resistencias) solo que por el momento no he tenido mucho tiempo pues tengo encima otros 3 proyectos por (matriz de led tactil, quemador usb con zocalo zif y un programa traductor de voz a el lenguaje de señas) les tengo que trabajar a todos y ya no doy avasto pa tanto circuito (ya sufro de delirio de persecucion de microcontroladores) jejeje :D
y pues bueno si los modulos me funcionan o no les estare informando para que aceptemos o descartemos esta configuracion para trabajar con matrices de led.
Saludos a todos desde colombia!
-
saludos señores, soy bruno de peru, estuve leyendo casi todos los post, muy interesantes y utiles, y use algunas ideas para hacer mi matriz, es de 40 x 7 leds (fila anodo), y pues para resolver el problema de que al usar transistores si todos los leds se encienden el brillo bajaria, realize un barrido adicional, es decir, en vez de mandar la configuracion de fila de 7 en 7 por cada columna, hice que el programa hiciera cada fila a la vez.
pondre un ejemplo, toca encender en un instantes la columna 2, entonces en la fila uno, si el led debe encenderse, lo enciendo mientras los demas estan apagados, en el segundo instante, toca la fila 2, si el led debe encenderse, se enciende mientras el led de la fila 1, 3,4,5,6,7 estan apagados, asi hasta terminar toda la fila, luego sigo con la columna 3 y etc
-
Saludos a todos, soy nuevo en el foro mi primer post apenas, pero en electrónica no tanto. he leído casi en su totalidad los comentarios de cada uno de uds (en estre hilo y otros) ya que estoy desarrollando una de estas pantallas también, les cuento que ya tengo como el 60% del proyecto adelantado. Es una pantalla diseñada inicialmente de 7x80 aunque en dos módulos de 7x40, puro texto con efectos standard (scroll, blink, cortina) y pienso incorporarle más. El hardware es normal como lo han propuesto aquí y bueno el brillo aceptable aunque estoy seguro se puede mejorar ya que uso módulos led 7x8 comerciales. Con respecto al soft si he ideado una "tecnología" (entre comillas) propia, digo propia porque créanme he visitado infinidades de páginas que hablan de pantallas led y NINGUNA habla de esta técnica que yo uso para mostrar la información. Uso el PIC18F4525, escojí ese por la cantidad de memoria RAM que posee (4K). El desarrollo consta de la programación en paralelo de dos software, el del micro y el del PC para la carga y configuración de la información a mostrar. Como ven ya esta algo adelantado dentro de un rato pongo el link del video en youtube para que aprecien mi trabajo, si alguno de Ud esta interesado lo puede solicitar y yo con gusto expongo mi idea y les doy las herramientas para que compilen y depuren el soft y el hard y asi entre todos mejorar el diseño. Bueno gente saludos a todos desde Venezuela