Autor Tema: Receptor DMX (DMX512)  (Leído 162828 veces)

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

Desconectado Limako

  • PIC10
  • *
  • Mensajes: 3
Re: Receptor DMX (DMX512)
« Respuesta #120 en: 04 de Septiembre de 2013, 22:46:05 »
Una pequeña duda de tu codigo Nocturno.

En la parte de interrupcion de la USART.
La variable DMX_INDICE, indica apartir de que parte de la trama comenzamos a cojer los datos?
por que si yo pongo TotalCanales a 9 por ejemplo, y quiero que esos canales sean del 200 al 208, como tendira que hacer.
Por que claro estoy tratando de montarlo en un 16f876a y me funciona todo, pero ahora quiero hacer funcionar lo del dipswitch que hay por ahi, y claro si pongo total canales un numero elevado se me queda sin RAM el micro.

Alguna sugerencia? Gracias ;)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Receptor DMX (DMX512)
« Respuesta #121 en: 05 de Septiembre de 2013, 03:40:17 »
Y como está diseñado el código necesitas almacenar toda la trama. De todas formas ahora no tengo acceso al fuente para ver qué cambios podrían hacerse.

Desconectado jahir golbem

  • PIC10
  • *
  • Mensajes: 18
Re: Receptor DMX (DMX512)
« Respuesta #122 en: 05 de Septiembre de 2013, 12:54:13 »
 ((:-))
« Última modificación: 05 de Septiembre de 2013, 12:56:57 por jahir golbem »

Desconectado jahir golbem

  • PIC10
  • *
  • Mensajes: 18
Re: Receptor DMX (DMX512)
« Respuesta #123 en: 05 de Septiembre de 2013, 12:55:48 »
Y como está diseñado el código necesitas almacenar toda la trama. De todas formas ahora no tengo acceso al fuente para ver qué cambios podrían hacerse.

Que tal amigo nocturno yo igual ando en eso de los dip shwitch, mi pregunta es si cres que lo pueda realizar con este registro del pic... ADDEN=0;          // Desactivada la autodetección de dirección y al activarlo que quede asi.... ADDEN=1;          // Desactivada la autodetección de dirección.....
podrás sugerirme si puedo activarlo de esa manera, o tendrás algún ejemplo de como utilizar este registro para poder guiarme.
saludos..
  :)

Desconectado Limako

  • PIC10
  • *
  • Mensajes: 3
Re: Receptor DMX (DMX512)
« Respuesta #124 en: 27 de Septiembre de 2013, 09:44:54 »
Gracias por los aportes, que hacen que aqui pueda ir el mio, con un pequeño pic, un 12f1840, 3 canales, y dipswitch.

Subo, simulacion en proteus, esquematico, hex, y codigo ccs.

el esquematico es orientativo en cuanto a la etapa de salida, cada uno sabra lo que quiere controlar.
si se quiere se puede dejar sin dipswitch, y el sistema para controlar el 4017, siempre que el pin RA3 este con la resistencia a masa.

No se si al activar las interrupciones por la USART el pin de TX/RA0 se sigue pudiendo usar independientemente como una cuarta salida y canal, sin que esto afecte a la interrupcion y recepcion de datos, asi que por eso subo el codigo por si alguien quiere probar o lo que sea.

En el codigo escrito mas atras para un 16f628, he hecho las modificaciones tipicas para el modelo de PIC, y luego he añadido, dos nuevas variables, contador y canal.
Contador se deja en cero, y canal si se quiere establecer un canal sin poner dipswitch por programa, si no se deja en cero tambien.
el canal 0 es = al 1. Y bueno en la interrupcion de UART al final de ella vereis como hace para seleccionar el canal que interese, sin saturar la ram del micro.


Desconectado jahir golbem

  • PIC10
  • *
  • Mensajes: 18
Re: Receptor DMX (DMX512)
« Respuesta #125 en: 27 de Septiembre de 2013, 11:34:11 »
Gracias por los aportes, que hacen que aqui pueda ir el mio, con un pequeño pic, un 12f1840, 3 canales, y dipswitch.

Subo, simulacion en proteus, esquematico, hex, y codigo ccs.

el esquematico es orientativo en cuanto a la etapa de salida, cada uno sabra lo que quiere controlar.
si se quiere se puede dejar sin dipswitch, y el sistema para controlar el 4017, siempre que el pin RA3 este con la resistencia a masa.

No se si al activar las interrupciones por la USART el pin de TX/RA0 se sigue pudiendo usar independientemente como una cuarta salida y canal, sin que esto afecte a la interrupcion y recepcion de datos, asi que por eso subo el codigo por si alguien quiere probar o lo que sea.

En el codigo escrito mas atras para un 16f628, he hecho las modificaciones tipicas para el modelo de PIC, y luego he añadido, dos nuevas variables, contador y canal.
Contador se deja en cero, y canal si se quiere establecer un canal sin poner dipswitch por programa, si no se deja en cero tambien.
el canal 0 es = al 1. Y bueno en la interrupcion de UART al final de ella vereis como hace para seleccionar el canal que interese, sin saturar la ram del micro.






 ((:-)) ((:-)) ((:-)) muy bien amigo buen proyecto. ((:-)) ((:-)) ((:-))

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Receptor DMX (DMX512)
« Respuesta #126 en: 27 de Septiembre de 2013, 13:01:23 »
¡Magnífico!, a ver si nos muestras un vídeo del cacharro funcionando.

Desconectado Jansen

  • PIC10
  • *
  • Mensajes: 1
Re: Receptor DMX (DMX512)
« Respuesta #127 en: 09 de Febrero de 2014, 06:23:01 »
Hola me presento soy Jansen y bueno queria gradecer el buen trabajo que haceis con estos proyectos y queria preguntar una duda si me lo permiten, el codigo me da error desde que invoco el pic a usar con el #include <16F628A> y bueno ya todos los errores arraid de esto, he de mencionar que en c no estoy puesto solo arduino pero seria una gran ayuda que puedan resolverme el problema, gracias de antemano  :)
« Última modificación: 09 de Febrero de 2014, 06:55:44 por Jansen »

Desconectado dinoelectro

  • PIC10
  • *
  • Mensajes: 3
Re: Receptor DMX (DMX512)
« Respuesta #128 en: 09 de Diciembre de 2014, 22:49:46 »
Hola frahg1, primero que nada, no es mio, es de todos..
Segundo, para agregarle direccion, hay una forma muy simple que solo ocupa dos pines. Te paso el esquematico, la rutina la tendras que crear vos, pero mirarando el diagrama lo entenderas.
(ver imagen adjunta)
este esta publicado en este sitio: http://picprojects.org.uk/projects/dmx/dmx688/index.htm, para el que no lo conozca se los recomiendo.

Por ultimo quiero hacer una aclaracion, no tomen este circuito como algo profesional. Yo lo abandone por que no estaba muy contento con su funcionamiento. para ese  pic generar 9 pwm por soft y procesar la trama dmx es mucho. Alguien con mas experiencia tal vez pueda corregirme.
Para mi la clave esta en utilizar otros medios para generar los pwm como por ejemplo con TLC5940.

Saludos y suerte!

Yo tampoco he logrado generar PWM y procesar la trama DMX con el mismo PIC16FXXX... Pero utilice un PIC32 que posee 6 PWM embebidos y bueno fue una solucion resulto mucho mas mas economica que comprar el TLC5940.. saludos!

Desconectado alexhumbertoa

  • PIC10
  • *
  • Mensajes: 49
Re: Receptor DMX (DMX512)
« Respuesta #129 en: 02 de Enero de 2015, 12:23:22 »
Yo logré generar 20 salidas pwm por soft comandadas por trama DMX usando interrupciones, en un pic16f877
La protoboard es la mejor amiga del ruido.

Desconectado Joseph90

  • PIC12
  • **
  • Mensajes: 89
Re: Receptor DMX (DMX512)
« Respuesta #130 en: 28 de Abril de 2015, 10:06:42 »
Yo logré generar 20 salidas pwm por soft comandadas por trama DMX usando interrupciones, en un pic16f877

Hola amigo, pordías por favor decirme como lo hiciste?.
El tema es que estoy tratando de hacer un dimmer de 8 canales con un PIC16F74 a 20 Mz, pero la parte de recepción DMX consume mucho tiempo y al desatenderme el micro tan solo 1us la parte de dimmerizacion no me queda bien. Lo que estoy tratando de hacer es mi programa más eficiente....
suldos desde CUBA.......   
El problema del hombre no está en la boma atómica, sino en su corazón. Albert Einstein.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Receptor DMX (DMX512)
« Respuesta #131 en: 28 de Abril de 2015, 10:16:04 »
A mi entender el dimmer lo harias con el modulo PWM, al menos con el pic16f877, asi que por mas que desatendas la salida, el modulo va a seguir funcionando.

El tema es que tu PIC no posee eso o queres hacer muchas mas. Pienso que estarias jugando con las interrupciones de timers para realizar un dimmer.
Es decir hacer una interrupcion corta que te sirva para ambos, tanto para generar el PWM como para verificar el DMX
« Última modificación: 28 de Abril de 2015, 10:21:00 por KILLERJC »

Desconectado Joseph90

  • PIC12
  • **
  • Mensajes: 89
Re: Receptor DMX (DMX512)
« Respuesta #132 en: 28 de Abril de 2015, 10:21:31 »
Exactamente amigo KILLERJC, todo el programa juega con interrupciones externas, interrupciones del puerto serie e interrupciones de timers, el asunto es que cuando el micro cae en una interrupcion por puerto serie demora mucho tiempo ahí y me demora aunque sea por solo unos us el timer y por tanto la dimmerización.
El problema del hombre no está en la boma atómica, sino en su corazón. Albert Einstein.

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Receptor DMX (DMX512)
« Respuesta #133 en: 28 de Abril de 2015, 15:01:44 »
Hola Joseph90, podria especificar que clase de dimmer esta haciendo o quiere hacer?
Dimmer para Lamparas incandecente o simplemente Leds Dimmer?
yo he hecho Led Dimmer sin tener que usar interrupciones externas.
para que la necesitas las interrupciones externas?
te aclaro, los Dimmer ProFi, no necesitan interrupciones externas porque entonce no seria DMX standard. ;-)

Saludos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Receptor DMX (DMX512)
« Respuesta #134 en: 28 de Abril de 2015, 23:03:08 »
Es que si. Si posee otras interrupciones entonces va a tener problemas, en especial por que el micro no es capaz de atender varias interrupciones o no posee una prioridad de interrupcion.
La que quedaba era no usar la interrupcion de la UART y de los pines de entrada. Y en main un bucle leyendo sus flags y actuar acorde a lo que se necesita, pero jamas interrumpiendo la generacion del timer.


 

anything