Para cambiar los mensajes creo que necesariamente debe ser con RF. Xbee, LINX y otras posibilidades...
Para mantener los costos bajos, ¿no convendría hacer la transmision por infrarrojos?
Salud 8)
Para mantener los costos bajos, ¿no convendría hacer la transmision por infrarrojos?
Salud 8)
Pero para infrarrojo, se tendría que detener el motor.. Eso no seria bueno.
Pero para infrarrojo, se tendría que detener el motor.. Eso no seria bueno.
Lo de los receptores x radiofrecuencia está bueno! Y sirven 1200 baudios(que no se si necesariamente serán 1200 bytes de transmición) siempre y cuando se desee algo sencillo. Si desean generar graficos en tiempo real...con 1200 baudios no hacemos nada!.
Brunof:CitarLo de los receptores x radiofrecuencia está bueno! Y sirven 1200 baudios(que no se si necesariamente serán 1200 bytes de transmición) siempre y cuando se desee algo sencillo. Si desean generar graficos en tiempo real...con 1200 baudios no hacemos nada!.
si, solo para enviar los datos. Por que 1200 baudios son 1200 BITS (no bytes) por segundo, asi que en tiempo real....nada. :(
crack:
Habría que ver qué pasa con los ruidos! Por ahí no es tan simple como parece...
A mí, antes que seleccionar el motor, me gustaría tener claro lo del motor-dinamo que nos han comentado.
Yo tengo uno de 12V, unos 2A de consumo (algo mas en el arranque), que me quedo de un trabajo. Es muy similar al de un limpiaparabisas de autos, y tiene mucha (pero mucha!) fuerza. Gira a unas 4600 RPM de maxima.
Ese es mi candidato, a pesar de ser grande: 14cm de largo y unos 8cm de diametro.
Si no, tengo algunos de lectoras de CD, reproductores de cassete, y algunas disqueteras para desarmar, que en el caso de las de 5.25 deben ser bastante potentes.
A mí, antes que seleccionar el motor, me gustaría tener claro lo del motor-dinamo que nos han comentado.
Muy buena idea!!!
¿Te animas mas adelante a explicar un poco como se controlan esos motores? ;)
Pero la fuerza alcanzara para mover el "brazo" de uno de estos carteles??, el de manolo de 40 cm no creo.
La única porción que no se vería afectada por éste fenómeno es el centro de giro del eje, pero colocar algo ahí es mecánicamente muy difícil.
Creo que no habrá alternativa que detener el giro para reprogramar los mensajes, ya sea por infrarojos o por RF. En movimiento, me atrevo a decir que será imposible.
¿Por que? Es completamente factible hacerlo por infrarrojos siempre y cuando la circunferencia que describa el sensor no sea muy grande. Ubicando el emisor/receptor en las cercanías de la recta que contiene al eje de giro(o sobre el), es completamente posible enviar/recibir datos por IR.
- ruido: el tubo no debe provocar mucha turbulencia al ser redondo, pero las barras de leds estoy convencido que zumbarán como si se las llevase el diablo. Quizás habría que pensar en algún encapsulado para ellas con perfil de ala. De este tema no tengo ni idea, a ver si algún iniciado nos puede dar alguna idea.
Amigo Nocturno, seria mucho pedir una FOTO de la que hablas en REPSOL??Me pilla lejos de casa, pero en cuanto pueda voy a hacerle foto y vídeo.
De ahí, entiendo que se saca el casquillo superior y se pega abajo, pero ya no entiendo nada más. No sé de donde salen esos tres hilos, ni qué es la parte llamada "Threaded space".
¿Entendéis cómo funciona?
Ariel: Si vas a usar PWM discretos, hay formas de hacerlo con un 555 o con dos compuertas de un 4011 (dos PWM en un mismo IC), si necesitás tengo circuitos de ésos.
Lo que hace con esos tres hilos es generar una "pseudo-trifásica" y con eso de "threaded space", te dice que los pegues de forma separada. En las páginas donde está el esquemático, verás como fabrica el rectificador para esa "trifásica" y usa también a la salida del rectificador un "supercap" de .047 Faradios (está bien escrito 0,047 Faradios, pòr eso se lo conoce como "Supercap" ), que viene en las videograbadoras cumpliendo la función de backup de la memoria.
Esteban: Para encontrar que es cada pin de acceso, vamos a buscar primero el datasheet del IC.
Por lo que alcanzo a ver en la foto, tiene 6 o 7 pines el conector.
Uno es 12 Volts, otro 5 Volts, otros dos son el bobinado que descubrirás en el impreso de la placa que te generan un pulso para ser usado de feedback (para el tacómetro), otro es GND, otro es el control de velocidad , etc .... ´cuando encuentre el datasheet lo charlamos. Si lo encontrás vós antes, pasáme el enlace, así lo veo.
Si, es posible. Tambien se puede hacer con el CD4093 (cuatro osciladores en el mismo integrado)...creo que ese seria el menor de los problemas.
Hola a todos. A mi se me ocurrio una forma de llevar energía al circuito sin necesidad de poner anillos con sus escobillas, o un motor con dynamo. ¿Cómo? Ja, pues es muy facil.
El eje en donde se coloca el display con su brazo correspondiente, debe ir montado, por lo menos, en 1 ruleman para que tenga mas estavilidad. Yo digo ponerle dos y el eje que sea ailante, pero en donde vá los rulemanes, poner un anillo metálico de manera que el anillo, esté en contacto con el ruleman. Esto pasaría en el otro ruleman, de modo que tengamos los VDD y GND (es obvio que ya regulada la tensión). Por la parte de adentro del eje, vendrían los cables unido al anillo para rescatar la tensión. Los rulemanes por fuera, deben también estar aislado de todo, ya que por fuera va conectada la conección.
Por falta de tiempo, no puedo realizar el dibujo y subirlo, pero encuanto pueda, lo hago. Espero que mi descripción se entienda. Con el dibujo se entenderá mejor.
Saludos. :-/ :-/
Ostia...no esta en los catalogos online de Cika o Electrocomponentes....ya me veo sin mi propeler....grrrrr! :? :?
En realidad no se necesitan tantos pines para controlar leds;en un solo pin puedes conectar 2,uno que encienda con 1 logico,
otro con 0 logico y para apagar ambos pones el pin en alta impedancia(tipo colector abierto).
¿La idea sigue siendo manejar dos grupos de leds, uno en cada extremo del brazo, intercalados verticalmente?Esa es mi idea, Ariel, pero ya os dije que no sé cuándo podré meterle mano a este proyecto, así que si tú quieres meterle mano a algo concreto, adelante.
(No veo la hora de ponerme a ver algo concreto! :) )
Me gusta la idea de los dos "cabezales de impresion", lo que me preocupa es la posible dificultad para sincronizar ambas, sin que la linea vertical resultante quede mas o menos asi:Tienes razón, Ariel. Quizás sea bueno prever la detección del paso de ambos brazos, en lugar de uno sólo. Así será más fácil ajustar ese sincronismo.
.
.
.
.
.
.
.
.
Aunque la velocidad del motor es pequeñisima comparada con la del PIC, por lo que deberia poderse ajustar sin errores.....
¿Será porque el producto no es atractivo o será porque no tienen una buena red de ventas?
Bien, ya tengo aquí las ansiadas fotos, el vídeo y mucha más información.
En primer lugar os diré que mi entusiasmo y alucine cuando lo vi por primera vez me hizo mitificarlo y sobrevalorarlo mucho más de lo que es en realidad. Hoy he ido de nuevo y tengo estas magníficas buenas noticias:
- no mide más de 60 cm. de diámetro. La loseta desde la que cuelga mide exactamente 60 cm. y el display es más peque.
- no gira tan rápido como 24 fps, de hecho se observa el parpadeo de la imagen con total claridad.
- no tiene dos barras de leds; sólo tiene una en un extremo y un contrapeso en el contrario.
Aquí tenéis unas fotos del cacharro.
En esta está girando y forma la imagen con toda perfección, aunque la cámara es muy rápida y sólo se ve un poco:
(http://img523.imageshack.us/img523/1835/spinlightrepsolix2.th.jpg) (http://img523.imageshack.us/my.php?image=spinlightrepsolix2.jpg)
En esta otra podéis ver la arquitectura del brazo y el contrapeso. Sorprendentemente a pesar de lo aparatosa que es, no hace absolutamente nada de ruido.
(http://img111.imageshack.us/img111/9520/spinlightbrazono1.th.jpg) (http://img111.imageshack.us/my.php?image=spinlightbrazono1.jpg)
Y aquí tenéis el cabezal, con sus 24 leds rgb. Como el bicho estava moviéndose la foto no ha podido salir perfecta. Si os sirve de dato, ese desplazamiento horizontal que se ve dura exactamente 1 ms. que es la velocidad que le puse al obturador de mi cámara:
(http://img175.imageshack.us/img175/4743/spinlightcabezalqo2.th.jpg) (http://img175.imageshack.us/my.php?image=spinlightcabezalqo2.jpg)
Y aquí, por fin, el ansiado vídeo (insisto en que la cámara lo graba mucho peor de lo que se ve en realidad):
La web del fabricante es esta:
http://www.spinlightdisplay.com/
Realmente si lo conseguimos armar con doble brazo vamos a mejorar muchísimo el molesto parpadeo del Spinlight original. Y si para colmo aumentamos la resolución vertical, lo hacemos más ancho, lo controlamos por radio,… nos vamos a salir, muchachos.
Hay un dato que no se si me preocupa o me anima: los clientes de Spinlight se cuentan con los dedos de una mano, según su propia web. ¿Será porque el producto no es atractivo o será porque no tienen una buena red de ventas?
Mmmmm.....
Vuelvo a mirar con cariño a mi pequeña bestia de 2A/12V/4600 RPM. :) :)
Un pequeñísimo aporte:
Por que en ves de usar un PWM, no utilizan un sencillo conversor analógico digital, era muy usado en las computadoras de los ochenta y daba excelentes resultados.
El tema es que con poner en el bus de dato un valor del 0 al 15 se logran 16 tonalidades de uno de los colores del RGB, y se gastan poquísimas instrucciones para lograrlo. este esquema sencillo muestra como sería para cada uno de los RGB y se logran 16x16x16 = 4096 colores.
Obviamente los valers de las resistencias deben calcularse y seguramente se necesita un transistor para proveer la corriente necesaria.
Salud 8)
Obviamente los valers de las resistencias deben calcularse y seguramente se necesita un transistor para proveer la corriente necesaria.
Obviamente los valers de las resistencias deben calcularse y seguramente se necesita un transistor para proveer la corriente necesaria.
Me gustó tu idea, pero si ponemos un TR a la salida, no perdemos justamente los 16 distintos voltajes que necesitábamos??
Saludos.
Para lo del motor, yo me decidí comprar un ventilador de techo de esos chinos.
Son baratos, Tienen ya la estructura, caja en pasta y todo para montarlos al techo, se les quita las aspas del ventilador y es fácil acoplar el circuito en la punta. me parece la mejor forma, y pos yo no usare control de velocidad, a mi parecer no hay para que, Con que el PIC sepa a la velocidad que va el motor, ya por cálculos matemáticos, se puede conocer exactamente los puntos de disparo para los LEDs (Creo yo no).
Si no detectás al menos una posición, no te va a funcionar. Es un asunto matemático. Si no tenés un punto de referencia y las RPM se mantienen bastante constantes(mas que lo que sucedería en la realidad) lo que te va a suceder, en el mejor de los casos, es que la imagen se te va a empezar a desplazar. Es decir, va a comenzar a desplazarse a lo largo de la circunferencia(como el offset en el software q hice).
Muchachos!
Y si pensamos en un prototipo modesto, con 7 u 8 leds comunes, un pic pequeño, sin PWM, tipo un publik de los de toda la vida, lo armamos, y le damos caña para ver cuales son los problemas reales que se presentan?
Ahi podriamos ver el tema del tamaño, ruido, motor, mips y mucho mas, sin volvernos locos por problemas que por ahi no aparecen nunca, o lo que es peor, que una vez que tengamos un super-desarrollo con RGB y toda la marcha, no nos funcione por que se nos paso por alto una obviedad...
¿Es una idea razonable? O solo seria perder el tiempo?
Saludos!
Esteban, los RGB q compraste son Anodo comun?
Porque fijate que cada color requiere de distintos votajes! Por ahi eso es lo que hacen que te enciendan en distintas intensidades.
Saludos.-
Esteban, los RGB q
UPS!
Respondí el mensaje cuando el mensaje de bruno solo decia:CitarEsteban, los RGB q
Pero ahora no dise que lo modifico, no se que paso, es mas en lo citado esta todo el mensaje de brujo jejeje
Es por eso que respondí asi, pensé que no se entendía!!
eso es exactamente lo que se estaba diciendo de los rulemanes, en el link de delmaformacion se ve perfectamente!!
Hasta luego.
Ernesto, la idea del ventilador de techo es genial. Sobre todo con vistas a una posible fabricación de varias unidades en serie. Será fácil y barato adaptar el hardware a un ventilador existente. Lo que habría que comprobar al respecto son dos cosas:
- velocidad que consigue el ventilador
- durabilidad del motor del ventilador al cambiar su carga habitual (muy pesada) por el brazo de leds (muy ligero)
ORG 4
MOVF PWM_1_A_8, W
MOVWF PORTB
MOVF PWM_9_A_18, W
MOVWF PORTC
MOVF PWM_19_A_24, W
MOVWF PORTD
CALL NUEVOS_PWM ; Esta rutina debe cargar los registros con el estado de los PWM de la siguiente interrupción
RETFIE
Ariel, tuviste en cuenta que vas a tener un defasaje de tension originado por el movimiento del motor, ademas de una buena inyeccion de ruidos al secundario del trafo, efecto del pwm del motor?? :shock:
Ariel, interesante experimento el del trafo móvil. Ya nos contarás qué tal funciona eso.
¿Has probado aunque sea con la mano el torque de ese motor?, ¿y las revoluciones?, ¿crees que servirá?
..... Esta tarde si puedo voy a montar un generador de onda cuadrada con un NE555 y un mosfet para atacar el primario del trafo, y ver que aparece en el secundario.
Obviamente, si queremos hacer un mini-pwm de al menos 3 posiciones para representar los 4 gradientes distintos de cada color (000=apagado, 010=tenue, 101=iluminado, 111=brillante), habrá que multiplicar por tres la estructura de memoria anterior.
No me aguanto sin decirlo: estoy posteando con mi Nokia con los pies mojados por el atlántico en una playa de Conil.
Como alguno de vosotros habéis sugerido, quizás sea bueno empezar por alguna prueba poco ambiciosa para chocar con todas las paredes que salgan al camino y luego acometer la construcción del definitivo. A lo mejor hago algo con 8 leds normales.
¿No habrá piezas de plástico con forma de disco que reciban la luz por el centro y la desvíen a su circunferencia?
MINI que??? :shock: :shock:
Eso que hay al centro es una bestia!!! :D :D :D
Cómo organizar la memoria de vídeo
...
Esto nos da una necesidad de vRAM que es la siguiente:
384 columnas * 4 bytes de altura * 3 colores * 3 PWM = 13.824bytes = 13,5KB
Los únicos micros que tienen esa RAM son algunos de las familias 24H y 33F:
dsPIC33FJ64GP706
dsPIC33FJ64GP306
dsPIC33FJ128GP710
dsPIC33FJ64GP310
dsPIC33FJ64GP710
dsPIC33FJ64MC706
dsPIC33FJ64MC710
dsPIC33FJ64GP708
dsPIC33FJ128MC708
PIC24HJ128GP306
PIC24HJ128GP310
Hola Manolo!
¿He entendido bien? 50x 10 euros + envio? :shock:
Siento como que aqui me estan robando el dinero!! ja ja ja!
No he podido aguantarme, los he visto y los he comprado.
http://cgi.ebay.es/ws/eBayISAPI.dll?ViewItem&rd=1&item=250160915133
(http://nhl4353.sinaman.com/piranaRGB.BMP)
(http://nhl4353.sinaman.com/Superfluxdraw.BMP)
¡¡¡ PRUEBA SUPERADA !!!
He conseguido por fin que mi Giroplay versión mini muestre siempre la misma resolución de pixeles con independencia de las revoluciones del motor.
Lamentablemente, justo antes de grabar el vídeo el motor ha empezado a echar humo y estoy dejándolo reposar a ver si vuelve a andar cuando se enfríe.
Qué divertidoooooooooo
Alguien ha probado alimentarlo con escobillas ?.....algun esquema de filtro?.....
y transferirle info con escobillas?...alguien probó ?...
No se lo enseñes a la novia de Azicuetano que cambiara de pareja como le pongas un
Maria Maria :P (es broma)
Parece que de momento el motor aguantó, aunque tendré que extremar las precauciones en adelante.
No fue por sobretensión ni por frenarlo; es sencillamente que estoy utilizando un minitaladro acostumbrado a mover broquitas pequeñas para arrastrar un brazo con leds y electrónica a 1440 RPM.
Aquí dejo un par de fotos y el video. Las fotos no son muy buenas, eso de fotografiar algo en movimiento no me ha salido muy bien.
El video se ve mucho mejor, además observaréis cómo arranca el dispositivo, y desde muy poquitas revoluciones la imagen se estabiliza y te va indicando los FPS (Frames Por Segundo) sin que ello afecte a la resolución obtenida.
(http://www.micropic.es/images/imagenes/GiroPlay-v0-Luz-encendida.jpg)
(http://www.micropic.es/images/imagenes/GiroPlay-v0-Luz-apagada.jpg)
(esas letras rojas y alguna banda negra que aparecen son efectos de la cámara)
Todo no podía ser positivo; esta prueba me ha servido para darme cuenta que los leds blancos de alta luminosidad que compré no sirven para este invento por su alta direccionalidad. Se observa perfectamente cómo la parte donde dan mucha luz corresponde al ancho de un par de letras, y el resto se ve poco. Además tienen muy poca superficie de exposición, lo que provoca que aunque estén pegados, se vea un espacio entre uno y otro.
A ver qué tal desempeñan los RGB que me han llegado; ya estoy loco por probarlos.
Hola y bienvenido Andrew.aaahhh...entendi...a ver si consigo hacer aqui...
Lo que hago para pintar letras es leer una cadena de caracteres que tengo en memoria. Para conseguir el efecto scroll, voy moviendo esos caracteres dentro de la cadena poco a poco, y eso es lo que se representa con los leds.
Realmente felicitaciones Andrew!! :-/ :-/no...estoy utilizando un motor DC... en la explicacion yo digo que los motores PAP que estan dentro de la cajita solamente sirven para sostener(dar estabilidad) al conjunto...
Muy bueno lo tuyo!!
Usas un motor PAP o entendi mal tu explicacion en Portugues??
Esta muy bien andrewsampaio, el soporte del aparato es muy curioso. Podríamos abrir un hilo que se llame "los mil y un uso de las cajas de cd's".
Un saludo
Hola andrew:
¿Dónde tienes la declaración de la variable contador? Si no está declarada como global es posible que se reinicie cada vez que se ejecute la función trata_IR, de modo que nunca alcance el valor 10.
no...estoy utilizando un motor DC... en la explicacion yo digo que los motores PAP que estan dentro de la cajita solamente sirven para sostener(dar estabilidad) al conjunto...
no...estoy utilizando un motor DC... en la explicacion yo digo que los motores PAP que estan dentro de la cajita solamente sirven para sostener(dar estabilidad) al conjunto...
De verdad que no dejas de sorprenderme, es la primera vez que oigo, que se usa un motor PAP como "pisapapeles". ¿De verdad no tenias otra cosa para meter en la caja (piedras, tierra, a mi suegra, etc)?
Jeje, lo de utilizar motores como contrapeso es un derroche de recursos :D
Te cuento un par de cosas raras que he visto en tu código.
En primer lugar, respecto al scroll del texto, haces lo siguiente:
- recorres el string desde tamanhoMax-1 hasta 0 descendende.
- en cada iteración sustituyes el caracter actual por el anterior
- cuando llegas a 0, sustituyes el caracter actual por el que esté en la posición tamanhoMax-1
Ahí veo un problema, puesto que en la posición tamanhoMax-1 ya habías hecho la sustitución en la primera iteración del bucle por lo que no estarás depositando el caracter que esperas, sino el anterior.
Posibles soluciones:
- utilizar una variable temporal para almacenar el valor de tamanhoMax-1
- ampliar el string y el bucle hasta tamanhoMax. En la última iteración te encontrarás en esa posición el carácter que quieres poner en el 0
En segundo lugar, respecto a la sincronización del proceso:
¿para qué haces un delay_us(600) con los leds apagados?. Creo que ahí está la clave de que los leds brillen poco. Yo de ti los dejaría encendidos siempre. La consecuencia inmediata será que los pixeles serán más anchos, pero también mucho más brillantes. Es probable que por eso la cámara no te lo grabe bien.
Otra cosa más: si una de cada 10 veces haces el scroll horizontal del texto, hazlo después de representar el texto. De lo contrario, el tiempo que el PIC pierde en procesar el scroll se lo estás robando a la impresión del texto, y puede que salga un poco movido.
Jeje, lo de utilizar motores como contrapeso es un derroche de recursos :Dya...Nocturno...primero muchas gracias por todos los comentarios...vamos por partes...
Te cuento un par de cosas raras que he visto en tu código.
En primer lugar, respecto al scroll del texto, haces lo siguiente:
- recorres el string desde tamanhoMax-1 hasta 0 descendende.
- en cada iteración sustituyes el caracter actual por el anterior
- cuando llegas a 0, sustituyes el caracter actual por el que esté en la posición tamanhoMax-1
Ahí veo un problema, puesto que en la posición tamanhoMax-1 ya habías hecho la sustitución en la primera iteración del bucle por lo que no estarás depositando el caracter que esperas, sino el anterior.
Posibles soluciones:
- utilizar una variable temporal para almacenar el valor de tamanhoMax-1
- ampliar el string y el bucle hasta tamanhoMax. En la última iteración te encontrarás en esa posición el carácter que quieres poner en el 0
En segundo lugar, respecto a la sincronización del proceso:
¿para qué haces un delay_us(600) con los leds apagados?. Creo que ahí está la clave de que los leds brillen poco. Yo de ti los dejaría encendidos siempre. La consecuencia inmediata será que los pixeles serán más anchos, pero también mucho más brillantes. Es probable que por eso la cámara no te lo grabe bien.
Otra cosa más: si una de cada 10 veces haces el scroll horizontal del texto, hazlo después de representar el texto. De lo contrario, el tiempo que el PIC pierde en procesar el scroll se lo estás robando a la impresión del texto, y puede que salga un poco movido.
Muy bueno el video. Felicitaciones.gracias...hasta ahora no puedo hacer funcionar bien el video...pero buen...asi es! :-/
Muy bueno el Video!!por ahora lo estoy alimentando con baterias de tarjeta madre...
Yo me había entusiasmado mucho con este proyecto, despues por falta de tiempo no lo pude continuar, peor ahora al ver otro vídeos mas sumados los logros de Nocturno me dan ganas de retomar la cosa!!
Ahora se surge una pregunta, como alimentaste la parte móvil?
Saludos
Muy bueno el video, y felicitaciones por tu Español!!muchas gracias... lo mejor es que despues de encontrar esta comunidad voy a poder entreinar mas... es muy jodido lo que dejas de hablar con el tiempo!
Nocturno...esta es la rutina que hice para pintar los leds...
puse este "if" para intentar hacer el efecto scroll pero no me sale no se xq....
alguna idea??
#int_ext //rotina da interrupcao gerada pelo sensor Infra Vermelho
void trata_IR ()
{
contador+=1;
if (contador == 10)
{
for (lin = tamanhoMax-1 ; lin=0 ; lin--)
for (col = 0 ; col<6 ; col++)
{
if (lin!=0)
{
Imagem[lin] [col] = Imagem[lin-1][col];
}else
{
Imagem[lin] [col] = Imagem[tamanhoMax-1] [col];
}
}
contador=0;
}
for (linha = 0 ; linha<tamanhoMax ; linha++) //comando para percorrer os pixels
for(coluna = 0 ; coluna<6 ; coluna++)
{
output_D(Imagem[linha] [coluna]); //escreve pixel
delay_us(200); //espera para apagar pixel
output_D(0x00); //apaga pixel
delay_us(600); //espera para escrever o proximo pixel
}
}
muchas gracias... lo mejor es que despues de encontrar esta comunidad voy a poder entreinar mas... es muy jodido lo que dejas de hablar con el tiempo!
mas bien cuando yo hable alguna huevada por favor avisame!!jejej
esa condicion estaba mal...por eso no funcionaba...jejeje
ya cambie a rutina y ahora esta bien!!
en un cacho mas hago otro video con la version actualizada!
saludos y gracias a todos!
Felicidades Andrew, por el vídeo y por encontrar finalmente el error. Me gusta :Dahi esta el video de la animacion de la palabra te amo con scroll...
Muy bueno andrewsampaio.
Una pregunta ¿cuántas revoluciones utilizas en el Giroplay? Gracias.
Felicidades andrewsampaio!muchisimas gracias Azicuetano....
Te ha quedado de fábula :mrgreen:
Un saludo desde Alicante.
Gracias andrewsampaio! :-/ :-/
Estoy contento porque me andubo bien pero para mejorarlo habria q agregar una barra mas de leds porque si bien en la relidad se aprecia mejor el efecto que en el video, igual parpadea un poco. Ademas asi hay que pedaliar a fondo....huuff ya me cansé!! :D
He visto unos comerciales que le colocan 3 barras de leds.
En cuanto a tu nuevo giroplay:
Como tenes pensado hacer la comunicacion entre las placas?
hola,queria comentar que Hay un dispositivo de contactos rotantes ,de marca “mercotac” que son de
por si de muy larga vida útil (comparándolos con los de escobillas)en si
consisten en contactos de mercurio dentro de un encapsulado, los hay de
diversas potencias y numero de contactos.
Yo los vi en funcionamiento desde la interconexión directa de PT100 hasta
la alimentación de pequeños motores DC, y son un fierro!
Debe ser una sensación extraña esa de acabar un proyecto; espero algún día poder disfrutarla.
CitarLo que me sorprendió es que era por la tarde, ya no incidía el sol sobre la pantalla, y apenas se percibía el brillo de los LEDs. ¿habrán elegido mal los LEDs? ¿o es que no habrá LEDs mejores para estas aplicaciones?
Calibraron mal el sensor de luz. Todas las pantallas para exteriores (y algunas pocas para interiores) llevan un sensor para saber saber la cantidad de luz ambiente que incide sobre la pantalla. A pleno día con la luz del sol, el sensor hace que la pantalla otorgue la máxima cantidad de corriente posible a los leds, mientras que por la noche se regula de tal forma que sea sólamente la corriente necesaria para que se vea aceptable y no lastima la vista. Al parecer se les pasó la mano con la cantidad mínima de corriente.
Varios de los modelos comerciales están ya usando motores brushless, con la ventaja de que hay buenos semiconductores especializados para controlarlos. La otra es usar motores de ac sobre todo si la carga es pesada. Yo estaba utilizando uno de ac fabricado a la medida, el eje del motor es de 1 pulgada:
(http://www.geocities.com/jcarlosmor/temporal/motorled.jpg)
CitarBueno, pero para transformar el PWM en una tension analogica no seria mas que poner un pasabaja adecuado no?
El problema seguiría siendo el mismo. No hay suficiente tiempo de implementar un pwm decente cuando el giroplay está en funcionamiento. Cuando yo tenía uno armado tenía que rotarlo incluso a velocidades tan bajas como 400 rpm ya que el peso de la estructura rotatoria final era como de unos 10 kilogramos. Sólamente el motor pesaba unos 35 kilogramos. Aún a estas velocidades tan bajas el pwm de un "pixel" barría con los próximos 10 ó 15 "pixeles" adyacentes, y eso teniendo en cuenta que el pwm lo generaba en hardware con gals a muy alta velocidad, independiente de la velocidad de un pic que estaba aislado por una memoria ram de doble puerto. Si encuentro un adaptador de vhs-c a vhs normal trataré de subir un video.
(Recopilo las respuestas de JCC40 antes de que las borre)
#include <16f873a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
#use delay(clock=20000000)
#byte port_b=6
#use fast_io(b)
#define pixeles 60 //total de pixeles horizontales
//periodo de revolucion y periodo del timer1
float T_rev,T_tim;
int timer=0xFFFF,contador=0;
const float usxtick = 0.2;
int num[10][4]={{0x7E,0x91,0x89,0x7E}, //0
{0x00,0x82,0xFF,0x80}, //1
{0xE2,0x91,0x89,0x86}, //2
{0x81,0x89,0x95,0x63}, //3
{0x18,0x14,0x12,0xFF}, //4
{0x8F,0x89,0x89,0x71}, //5
{0x7C,0x92,0x91,0x60}, //6
{0xE1,0x11,0x09,0x07}, //7
{0x76,0x89,0x89,0x76}, //8
{0x06,0x89,0x69,0xE3}}; //9
int espacio[4]= {0,0,0,0};
void escribir(char* letra)
{
int i;
for(i=0;i<=3;i++) //escribimos los 4 pixeles
{
port_b=letra[i]; //escribimos un pixel
delay_us(T_tim); //lo exponemos el tiempo calculado
}
}
#int_ccp1
void handle_ccp1_int()
{
timer=0xFFFF-(T_rev/pixeles)/usxtick;
T_tim=timer*usxtick;
if(contador!=pixeles)
T_rev=contador*T_tim;
contador=0;
set_timer1(timer); //reiniciamos timer1
}
#int_timer1
void handle_timer1_int()
{
contador++;
set_timer1(timer); //reiniciamos timer1
}
void main()
{
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
setup_ccp1(CCP_CAPTURE_RE);
enable_interrupts(int_ccp1);
enable_interrupts(int_timer1);
enable_interrupts(global);
set_tris_b(0x00);
port_b=0x00;
while(TRUE)
{
escribir(num[0]);
escribir(espacio);
escribir(num[1]);
escribir(espacio);
escribir(num[2]);
escribir(espacio);
escribir(num[3]);
escribir(espacio);
escribir(num[4]);
escribir(espacio);
escribir(num[5]);
escribir(espacio);
escribir(num[6]);
escribir(espacio);
escribir(espacio);
}
}
#include <16f873a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
#use delay(clock=20000000)
#byte port_b=0x06
#use fast_io(b)
#define pixeles 120 //total de pixeles horizontales
//contador: nºdesbordamientos de tmr1
//timer: valor con el q cargamos tmr1
//T_rev: periodo de revolucion
//T_tmr: periodo de desbordamiento de tmr1
long int contador,timer;
double T_rev,T_tmr;
const float usxtick=0.2;
//matriz y caracteres a mostrar
char matriz[60];
char num[10][4]={{0x7E,0x91,0x89,0x7E}, //0
{0x00,0x82,0xFF,0x80}, //1
{0xE2,0x91,0x89,0x86}, //2
{0x81,0x89,0x95,0x63}, //3
{0x18,0x14,0x12,0xFF}, //4
{0x8F,0x89,0x89,0x71}, //5
{0x7C,0x92,0x91,0x60}, //6
{0xE1,0x11,0x09,0x07}, //7
{0x76,0x89,0x89,0x76}, //8
{0x06,0x89,0x69,0xE3}}; //9
char espacio[4]= {0,0,0,0};
#INT_CCP1
void handle_ccp1_int()
{
if(contador!=pixeles)
{
T_tmr=T_rev/pixeles;
timer=65536-(T_tmr/usxtick);
T_rev=contador*(65536-timer)*usxtick;
}
set_timer1(timer);
contador=0;
}
#INT_TIMER1
void handle_timer1_int()
{
//dividimos el display en 2 de 180º
port_b=contador<(pixeles/2)?matriz[contador++]:matriz[contador++ -60];
set_timer1(timer);
}
void main()
{
int i,j;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_ccp1(CCP_CAPTURE_RE);
enable_interrupts(INT_CCP1);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
set_tris_b(0x00);
port_b=0x00;
//este par de bucles cargan la matriz con los numeros del 1 al 6
//intercalando un espacio de por medio
for(i=0;i<=6;i++)
{
for(j=0;j<=3;j++)
{
matriz[8*i+j]=num[i][j];
matriz[8*i+4+j]=espacio[j];
}
}
for(j=0;j<=3;j++)
{
matriz[56+j]=espacio[j];
}
while(TRUE);
}Muchas gracias RALF! Haria el esquematico si tuviera algun software decente jeje. Ya voy a ver q consigo. Igual no es mucha ciencia, tenemos un regulador para bajar los 9V de la bateria a 5V, despues un pic16f873a con su alimentacion, su cristal de 20MHz, y el CCP1 al fototransistor.Hola gera!
Creo q lo mas dificil aca fue el montado sobre la caja de CDs jajaja. Asi y todo, todavia no me convence, cuando tenga algo de tiempo (porq ando a full con la facu :S) voy a sacar la v2.0 ;)
salutes!
El cine funciona a 24fps y no se nota ningún parpadeo, eso lo consigues girando a 1440 rpm. Manolo lo explica al principio del hilo mejor que nadie.
De ahi en adelante aumentar la velocidad sólo te complicará las cosas ya que dispondras de menos tiempo para encender los led e ir más fino con todo en general, además de una mecánica más robusta.
Además, los dispositivos comerciales llegan a girar a menos velocidad todavia, aun no estoy los suficientemente informado, pero lo estaré por la cuenta que me trae. Os iré comentando todo lo que vaya investigando.
Más o menos tengo ideado como hacer uno con 32 leds RGB y 64 colores de paleta, lleva parado un par de meses por vacaciones y ahora por los exámenes, pero en seguida voy a volver a ponerme con ello y os iré contando.
Más o menos tengo ideado como hacer uno con 32 leds RGB y 64 colores de paleta, lleva parado un par de meses por vacaciones y ahora por los exámenes, pero en seguida voy a volver a ponerme con ello y os iré contando.32??? Esa es una buena cantidad de LEDs, encima RGB, osea q estarias controlando 96 señales simultaneamente :shock: estoy ansioso por ver como haces eso. Yo por ahora estoy viendo de mejorar la mecanica del mio, y de paso voy a ver si puedo usar unos leds bicolores :D
El unico detalle minusculo, es que tengo casi 20 años que no hago una tarjetita (P.C.B), alli es donde veo el mayor problema :D :DQ coincidencia, yo tambien llevo 21 años sin hacer una PCB. El mio lo arme en una plaquita de pruebas y encajo todo justo jeje.
Saludos
No quiero usar los 4096 pulsos de pwm que admite el 5940 sino solo 256 por lo que en principio he pensado generar el Gsclock y el Blank del tlc 5940 mediante circuiteria externa usando un 555 y un 74hct40103 para que el 555 me de los pulsos de gsclock y el 40103 los de blank cada 256.
Si mi radio de giro son 15cms la circunferencia tendra 15*PI*R=94cms.Buenas!! mira, la cantidad de pixeles horizontales esta dado por el diametro dividido el ancho de cada pixel. Eso queda a tu gusto, si queres pixeles mas ajustados o no. Podes probar distintos valores hasta q encontres uno q te guste. Mi giroplay tiene mas o menos ese radio y le hice entrar 120 pixeles.
Los leds son de 5mm pero weno con que la res horizontal sea de 1 cm me vale.
Esto supone que a 24FPS tendo que poner 24*94 pixels por 10 filas.
Si el trasto gira a 25 frames por segundo y meto 100 pixels de res horizontal tengo que variar los 2 tlcs 2500 veces por segundo.
Esto hace que por segundo tengo que mandar a los tlcs 2500*192*2 bits = 960000 bits por segundo.
Aparte de esto leer cada giro,asignar tiempo por pixel dependiendo de la velocidad,leer la memoria donde estaran los datos etc.
LOCURAAAAAA TOTAAAAAAL.
El problema es que al necesitar 12 bits por canal del tlc no me salen las cuentasssss.
Todo lo demás en realidad debería realizarse por hardware
¿Quizás con potenciómetros digitales para regular los mA que llegan a cada canal, en vez de PWM?
Como el sistema gira constantemente, no hay casi tiempo en cada pixel para lograr que de el tono deseado antes que debas apagarlo para darle el siguiente color para la otra columna. Eso limita al final cuantos tonos reales puedes lograr con el PWM en un giroplay..En un PUBLIK al ser un sistema estático no hay problema.
De todas formas, si la velocidad del PWM es mucho más alta que la de giro, algún efecto en la variación de la intensidad debe producir, al igual que si en un osciloscopio sampleas la señal a una frecuencia menor a la misma.
alguien tiene idea de como se hace para que a partir de un movimiento circular, grafiquemos un plano cuadrado como el que vimos en los videos anteriores?
alguien tiene idea de como se hace para que a partir de un movimiento circular, grafiquemos un plano cuadrado como el que vimos en los videos anteriores?
Yo no he hecho la prueba, pero imagino que no está calculando en tiempo real senos y cosenos para saber qué información poner en cada led. Como la resolución es baja, supongo que tendrá un array en el que aparecen las coordenadas de los leds a encender según el ángulo de giro en cada momento.
calculo que es asi... debe ser una matriz completa... para ésto la velocidad del PAP tiene que ser muy estable...
Que tal amigos!
Saludos
Magnífico, Ralf, quedan muy chulos esos RGB.
Me sorprende que no tengas problemas mecánicos con una protoboard girando a esa velocidad a pesar de que la has precintado.
En un vídeo VHS, Suky.
En que equipo se puede conseguir un motor así? Los bobinados serán capaz de soportar unos 250mA? ~ Pensado rápidamente, 16 leds + microcontrolador :rolleyes:
En que equipo se puede conseguir un motor así? Los bobinados serán capaz de soportar unos 250mA? ~ Pensado rápidamente, 16 leds + microcontrolador :rolleyes:
Hola Suky!
16 Leds+ micro puede ser menos corriente. Las variaciones de corriente a más de 10mA en un LED no provocan demasiada variación "perceptible" como para que sea necesaria una corriente de LED elevada. Por supuesto es cuestión de ensayar y ver qué resulta. Otra cosa que no hay que dejar de pensar. Yo utilizo un sistema de dos cabezas. Con un sistema de 4 o más cabezas pueden lograrse mayores tensiones y corrientes, es decir, mayor transferencia de energía.
De todos modos, con 3,3V un sistema de dos cabezas puede ser suficiente.
Mientras realizaba los ensayos utilicé el POV (http://www.neoteo.com/pov-escribe-con-luz-en-el-aire.neo) que hace tiempo armé y pude alimentarlo sin problemas. El secreto está en el PWM adecuado que se aplica al bobinado. No debe calentar el bobinado, no debe producir efectos audibles y debe poseer el duty apropiado para el/los bobinados a exitar. En el enlace que dejé másarriba están todos los detalles.
Los equipos VHS ya no se usan más y en cualquier taller de service encontrarás muchos equipos abandonados por los clientes que se pasaron al DVD hace años. ;-) (te lo digo por experiencia y por fata de lugar en mi taller :D )
Saludos!
Mario
Hola.
Si no tienes idea de como programar, te recomiendo que comiences con algo mas sencillo ... como encender el LED RGB, en el foro hay info acerca de eso.
Saludos
Hola a todos,:shock: Como simularías el giro? :shock:
Alguien sabe como simular un giroplay en el proteus, y cual seria el circuito.
Gracias
Dandole vueltas a la Lap con un lazo!!!!