Autor Tema: Problema con dmx  (Leído 7140 veces)

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

Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Problema con dmx
« en: 27 de Enero de 2010, 18:16:15 »
Hola resulta que tengo que hacer unas secuencias con dmx y leds rgb , un pic 16f747 sera el maestro y tendra 255 esclavos , bueno yo nunca e manejado ese protocolo pero estoy leyendo para entenderle , lo que observe fue que para hacer esas secuencias la memoria interna del pic no me alcanza ya que son 255 datos cada escena de la secuencia , ai alguna manera de manejar una memoria externa con protocolo dmx?? o algun consejo que me den .

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Problema con dmx
« Respuesta #1 en: 27 de Enero de 2010, 18:47:06 »
¿No puedes cambiar a un pic más grande?

Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Re: Problema con dmx
« Respuesta #2 en: 27 de Enero de 2010, 19:12:29 »
si cual me recomiendas? que tenga mucha memoria de programa

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Problema con dmx
« Respuesta #3 en: 27 de Enero de 2010, 19:13:56 »
Cuanta memoria necesitas??
Como son esas secuencias DMX??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Re: Problema con dmx
« Respuesta #4 en: 27 de Enero de 2010, 19:19:25 »
Es una pista de baile con 255 cuadros , cada cuadro lleva un pic que va a tener 3 salidas pwm para combinar los colores rgb,
y todos esos pics los controla un pic maestro , que tiene que tener mucha memoria para tener guardadas todas las secuencias que va a mandar para formar figuras en la pista, le calculo que son 255bytes cada escena y nececito muchas escenas como mas de 200.

El maestro va a ordenarles como prender a cada uno de los 255 esclavos

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Problema con dmx
« Respuesta #5 en: 27 de Enero de 2010, 21:17:22 »
bien! debo aclararte que el protocolo DMX512 se compone de un Transmisor y un Receptor,ahora bien el master lo puede implementar con un Multiplexer, donde deberia usar tambien un convertidor ADC.
deberia tambien decirnos que lenguaje de programacion usa o va a usar?

« Última modificación: 27 de Enero de 2010, 21:19:55 por stk500 »

Desconectado jacrmr

  • PIC10
  • *
  • Mensajes: 16
Re: Problema con dmx
« Respuesta #6 en: 28 de Enero de 2010, 14:26:45 »
Citar
Es una pista de baile con 255 cuadros , cada cuadro lleva un pic que va a tener 3 salidas pwm para combinar los colores rgb,
y todos esos pics los controla un pic maestro , que tiene que tener mucha memoria para tener guardadas todas las secuencias que va a mandar para formar figuras en la pista, le calculo que son 255bytes cada escena y nececito muchas escenas como mas de 200.

El maestro va a ordenarles como prender a cada uno de los 255 esclavos

Supongo que por escena te refieres a un frame ("escena" en el argot DMX ó en la industria del entretenimiento tiene una connotación muy diferente). Y supongamos que haces tu frecuencia de refresco al mínimo posible que serían 30 Hertz para tener una animación decente con lo mínimo de recursos (por 30 Hertz no se debe confundir con la frecuencia de tu PWM, la cual debe estar por encima de los 180 Hertz si quieres que al filmar con una videocámara no veas interferencia por el refresco. Más sobre las frecuencias involucradas al final). Si vas a manejar 255 cuadros y todos son RGB tendrás:

255 pixeles X 3 colores X 30 Hertz = 22,950 bytes por segundo (en realidad lo que tú nombras "escena" no ocupa como tú piensas 255 bytes, sino 765).

A menos de 30 Hertz tus animaciones se verán muy cortadas. Y si quieres hacer animaciones que involucren fades in y out y lo ideal sería una frecuencia de 60 frames por segundo o aún mayor. Nuevamente, no confundir las tres frecuencias involucradas en cualquier pantalla de leds:

a) Una cosa es tu frecuencia del PWM. Debe ser suficientemente alta para que los leds no produzcan ningún parpadeo. Si vas a filmar no es suficiente superar la persistencia de visión del ojo humano, sino de la videocámara, mínimo unas 3 veces.

b) Otra cosa es la frecuencia de refresco de tus frames, es decir, como si tu pista fuera una TV tú asignarás cuántos cuadros (frames) por segundo son aceptables. Nuevamente si quieres filmar debes superar mínimo por 3 la frecuencia de la cámara para no ver secuencias "cortadas".

c) Finalmente está la frecuencia con que suministras los datos de tus frames. En tu caso es la velocidad que haces que los datos pasen del maestro a tus esclavos. Si elegiste DMX no hay posibilidad de pasar de 44 Hertz aproximadamente.

Varias observaciones... No especificas si tu maestro recibe DMX y tus esclavos usan una comunicación propietaria (sería lo ideal). Si el maestro recibe DMX y de ahí retransmites DMX a los esclavos tu diseño no tiene mucho sentido, a menos que tus distancias entre cada cuadro sean enormes, que aquí no es el caso. No es necesario ya que podrías enviar DMX directamente a tus 255 "esclavos" (que en realidad serían maestros). El DMX se hizo precisamente para eso, como si cada cuadro fuera una luminaria con una dirección base asignada, y te olvidas de andar diseccionando el diseño en maestro/esclavos. Si por el contrario tu maestro no recibe DMX, sino que es autónomo y sólo lo usas para guardar las secuencias tendrás que usar memoria externa. Si ocupas 22,950 bytes por segundo, necesitarás aproximadamente 1.4 megabytes para un minuto de animaciones. La parte de agregar memoria externa (incluso decenas de megabytes) es de lo más sencillo por lo que no deberás tener ninguna complicación.

Te pongo un video no de pista, sino de barras de leds (que es idéntico, sólo cambia la disposición), usando una pequeña memoria externa en donde están grabadas las secuencias. El PIC que se utilizó es un 16F877, y alimenta 64 pixeles RGB por barra (son 4 barras con animaciones independientes ó 256 "pixeles RGB". Por simplicidad muestro sólo una). Las secuencias son hechas en cualquier programa que te realice archivos en frames y de ahí programadas en la memoria externa. El DMX entrante dispara las diferentes escenas programadas. El tiempo total de secuencia ronda los 45 segundos, pero con una frecuencia de refresco de 60 Hertz. Se utilizó una pequeña compresión propietaria para comprimir estos 45 segundos en una memoria externa de 128 Kilobytes.

Espero haber sido claro y sacarte de alguna duda.


Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Re: Problema con dmx
« Respuesta #7 en: 29 de Enero de 2010, 20:17:53 »
bien! debo aclararte que el protocolo DMX512 se compone de un Transmisor y un Receptor,ahora bien el master lo puede implementar con un Multiplexer, donde deberia usar tambien un convertidor ADC.
deberia tambien decirnos que lenguaje de programacion usa o va a usar?



A lo que pasa es que me exprese mal , sera un transmisor y 255 receptores . El lenguaje que usare es ensamblador como soy nuevo en esto aun no programo microcontroladores en C .

Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Re: Problema con dmx
« Respuesta #8 en: 29 de Enero de 2010, 20:26:57 »
Citar
Es una pista de baile con 255 cuadros , cada cuadro lleva un pic que va a tener 3 salidas pwm para combinar los colores rgb,
y todos esos pics los controla un pic maestro , que tiene que tener mucha memoria para tener guardadas todas las secuencias que va a mandar para formar figuras en la pista, le calculo que son 255bytes cada escena y nececito muchas escenas como mas de 200.

El maestro va a ordenarles como prender a cada uno de los 255 esclavos

Supongo que por escena te refieres a un frame ("escena" en el argot DMX ó en la industria del entretenimiento tiene una connotación muy diferente). Y supongamos que haces tu frecuencia de refresco al mínimo posible que serían 30 Hertz para tener una animación decente con lo mínimo de recursos (por 30 Hertz no se debe confundir con la frecuencia de tu PWM, la cual debe estar por encima de los 180 Hertz si quieres que al filmar con una videocámara no veas interferencia por el refresco. Más sobre las frecuencias involucradas al final). Si vas a manejar 255 cuadros y todos son RGB tendrás:

255 pixeles X 3 colores X 30 Hertz = 22,950 bytes por segundo (en realidad lo que tú nombras "escena" no ocupa como tú piensas 255 bytes, sino 765).

A menos de 30 Hertz tus animaciones se verán muy cortadas. Y si quieres hacer animaciones que involucren fades in y out y lo ideal sería una frecuencia de 60 frames por segundo o aún mayor. Nuevamente, no confundir las tres frecuencias involucradas en cualquier pantalla de leds:

a) Una cosa es tu frecuencia del PWM. Debe ser suficientemente alta para que los leds no produzcan ningún parpadeo. Si vas a filmar no es suficiente superar la persistencia de visión del ojo humano, sino de la videocámara, mínimo unas 3 veces.

b) Otra cosa es la frecuencia de refresco de tus frames, es decir, como si tu pista fuera una TV tú asignarás cuántos cuadros (frames) por segundo son aceptables. Nuevamente si quieres filmar debes superar mínimo por 3 la frecuencia de la cámara para no ver secuencias "cortadas".

c) Finalmente está la frecuencia con que suministras los datos de tus frames. En tu caso es la velocidad que haces que los datos pasen del maestro a tus esclavos. Si elegiste DMX no hay posibilidad de pasar de 44 Hertz aproximadamente.

Varias observaciones... No especificas si tu maestro recibe DMX y tus esclavos usan una comunicación propietaria (sería lo ideal). Si el maestro recibe DMX y de ahí retransmites DMX a los esclavos tu diseño no tiene mucho sentido, a menos que tus distancias entre cada cuadro sean enormes, que aquí no es el caso. No es necesario ya que podrías enviar DMX directamente a tus 255 "esclavos" (que en realidad serían maestros). El DMX se hizo precisamente para eso, como si cada cuadro fuera una luminaria con una dirección base asignada, y te olvidas de andar diseccionando el diseño en maestro/esclavos. Si por el contrario tu maestro no recibe DMX, sino que es autónomo y sólo lo usas para guardar las secuencias tendrás que usar memoria externa. Si ocupas 22,950 bytes por segundo, necesitarás aproximadamente 1.4 megabytes para un minuto de animaciones. La parte de agregar memoria externa (incluso decenas de megabytes) es de lo más sencillo por lo que no deberás tener ninguna complicación.

Te pongo un video no de pista, sino de barras de leds (que es idéntico, sólo cambia la disposición), usando una pequeña memoria externa en donde están grabadas las secuencias. El PIC que se utilizó es un 16F877, y alimenta 64 pixeles RGB por barra (son 4 barras con animaciones independientes ó 256 "pixeles RGB". Por simplicidad muestro sólo una). Las secuencias son hechas en cualquier programa que te realice archivos en frames y de ahí programadas en la memoria externa. El DMX entrante dispara las diferentes escenas programadas. El tiempo total de secuencia ronda los 45 segundos, pero con una frecuencia de refresco de 60 Hertz. Se utilizó una pequeña compresión propietaria para comprimir estos 45 segundos en una memoria externa de 128 Kilobytes.

Espero haber sido claro y sacarte de alguna duda.





a) Eso lo hare con los modulos internos que tienen los microcontroladores ahi se puede seleccionar la frecuencia del pwm

b)Si tienes razon , vere alguna manera de que el microcontrolador receptor le de una frecuencia de salida a los leds para que no se note el parpadeo

c) ok  :)


Especificando lo que me falto : Si como lo dices el maestro ( en realidad es el transmisor me exprese mal) es autonomo y guardara las secuencias despues las enviara a los 255 receptores, los receptores que estaran mas alejados del transmisor estaran a una distancia de 36 metros aproximandamente.

Tengo unas preguntas es que apenas estoy aprendiendo ,

que memorias externas puedo usar en conjunto con el microcontrolador?

que protocolos utilizan?

Puedo usar esos protocolos y el dmx512 en el mismo transmisor??
« Última modificación: 29 de Enero de 2010, 20:33:17 por punkins3 »

Desconectado jacrmr

  • PIC10
  • *
  • Mensajes: 16
Re: Problema con dmx
« Respuesta #9 en: 29 de Enero de 2010, 23:00:03 »
Citar
que memorias externas puedo usar en conjunto con el microcontrolador?

que protocolos utilizan?

Puedo usar esos protocolos y el dmx512 en el mismo transmisor??

Pues básicamente depende a cuáles memorias tengas acceso de conseguir en tu mercado. Te recomiendo memorias paralelas para que no pierdas tiempo con la lentitud de los protocolos seriales. No sé si tendrás ya algún programador de memorias, pueden ser EEPROM del tipo 29F010, etc. Depende de cuántos sean los Kilobytes o Megabytes que requieras. Cualquier microcontrolador a 20 MHz tiene tiempo suficiente para compartir el envío de la trama DMX y la lectura de las memorias.

Desconectado punkins3

  • PIC10
  • *
  • Mensajes: 6
Re: Problema con dmx
« Respuesta #10 en: 31 de Enero de 2010, 00:42:19 »
Citar
que memorias externas puedo usar en conjunto con el microcontrolador?

que protocolos utilizan?

Puedo usar esos protocolos y el dmx512 en el mismo transmisor??

Pues básicamente depende a cuáles memorias tengas acceso de conseguir en tu mercado. Te recomiendo memorias paralelas para que no pierdas tiempo con la lentitud de los protocolos seriales. No sé si tendrás ya algún programador de memorias, pueden ser EEPROM del tipo 29F010, etc. Depende de cuántos sean los Kilobytes o Megabytes que requieras. Cualquier microcontrolador a 20 MHz tiene tiempo suficiente para compartir el envío de la trama DMX y la lectura de las memorias.


bueno voya empezar a hacer el codigo cualquier cosa que pase aqui les comento


 

anything