Autor Tema: Proton Dmx_512  (Leído 30472 veces)

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

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Proton Dmx_512
« en: 20 de Julio de 2008, 19:43:19 »
Que tal amigos!
Aqui les voy a colocar un ejemplo de un receptor  que hice sobre el dmx 512 utilizando para ello el compilaodor proton development suite  :mrgreen:

Para poderlo probarlo pueden bajar el manolator utilizado por el amigo Nocturno.
Aprobecho para darles las gracias a nocturno y el amigo stk500 por toda la colaboracion prestada para la realizacion de este proyecto.

El programa que utilice para probarlo lo pueden bajar aqui entran a donde dice magnulator! y bajan el programa, Non uart version schematic es el primero alli hay un esquema de como lo van a montar y no usa el 6n137.  Ese es el que utilice  :mrgreen:

El receptor dmx lo que hace es recibir 256 canales (esto porque el software manolator solo permite 256 y no 512) de los cuales los 10 primeros incluyendo el canal 0 son almacenados en un array y luego son mostrados en la lcd solo 4  :mrgreen:
Se puede modificar para capturar otros canales y mas aun. los canales se seleccionan por software.

Espero que les guste  :mrgreen:
Saludos
Código: [Seleccionar]
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2008 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 24/06/2008                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
            Device = 16F876A       'declaro el procesador a utilizar
            XTAL 20       'cristal externo de 20MHz

            LCD_DTPIN PORTC.0       'interfase a 4 lineas a partir de portc.0
            LCD_RSPIN PORTC.4       'rs pin
            LCD_ENPIN PORTC.5       'e pin
            LCD_INTERFACE 4       'interfase a 4 lineas
            LCD_LINES 4       'lcd a utilizarr 16x4

            HSERIAL_BAUD = 250000       ' Set baud rate to 250k
            HSERIAL_RCSTA = %11010000       ' Enable serial port and continuous receive
            HSERIAL_TXSTA = %01100101       ' Enable transmit and asynchronous mode
            HSERIAL_CLEAR = On       ' Optionally clear the buffer before receiving
            ALL_DIGITAL = TRUE       ' todas las entras en modo digital

            Dim BREK As Byte       'variables a utilizar en el programa
            Dim X As Byte
            Dim ST1[10] As Byte       ' array que contendra los datos del dmx solo 10 (st1[0] al st1[9])
            Dim DUMMY As Byte       ' byte encargado de vaciar el buffer de recepcion, antes de recibir
                                         'la señal del dmx
            Symbol Rx = PORTB.3       'alias a algunos pines y registros del pic
            Symbol SPEN = RCSTA.7
            Symbol CREN = RCSTA.4
            Symbol RCIF = PIR1.5

            DelayMS 500       'retardo para estabilizar el sistema en el arranque
            Cls       'borra la pantalla del lcd

            GoTo MAIN       'salta a main
ERROR_OERR:       'rutina de chequeo de errores (oerr) leer data sheet
            Cls       'boora la lcd
            Print "ERROR OERR"       'imprime el error en a lcd
            DelayMS 2000       'retardo de 2 seg para visualizar el mensaje en la lcd
            GoTo MAIN

ERROR_FERR:       'rutina de chequeo de errores (ferr) leer data sheet
            Cls       'boora la lcd
            Print "ERROR FERR"       'imprime el error en a lcd
            DelayMS 2000       'retardo de 2 seg para visualizar el mensaje en la lcd
            GoTo MAIN

ERROR_DMX:       'rutina de chequeo de error en la recepcion del dmx
            Cls       'boora la lcd
            Print "ERROR DMX"       'imprime el error en a lcd
            DelayMS 2000       'retardo de 2 seg para visualizar el mensaje en la lcd
            GoTo MAIN

'Aqui comiensa la rutina de recepcion de los datos por dmx512 solo son mostrados en la lcd los primeros
'4 canales

MAIN:
            CREN = 0       'deshabilita la recepcion del usart del pic
            BREK = PulsIn Rx , 0       'Espera a que se genere el pulso del break del dmx
            If BREK <= 44 Then MAIN       'si el pulso es mayor o igual a 88µseg (44 x 2µs)
                                                'comiensa a recibir los canales del dmx, sino salta a main

            For X = 0 To 9       'lazo para capturar solo 10 canales de los cuales solo se veran 4
            ST1[X] = HRSin , {1000 , ERROR_DMX}       'en la lcd
            If RCSTA.1 = 1 Then ERROR_OERR       'si durante la recepcion ocurre un error este es
            If RCSTA.2 = 1 Then ERROR_FERR       'mostrado en la lcd y vuelve a empesar desde main
            Next X
                                                'borroa la lcd
            Cls
            Print DEC3 ST1[1] , ", " , DEC3 ST1[2] , At 2 , 1 , DEC3 ST1[3] , ", " , DEC3 ST1[4]       'imprime el canal 1 y 2 en la primera linea
            DelayMS 100       'imprime el canal 3 y 4 en la segunda linea
            GoTo MAIN

            End


 
« Última modificación: 28 de Febrero de 2010, 11:58:33 por stk500 »

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Proton Dmx_512
« Respuesta #1 en: 21 de Julio de 2008, 02:28:24 »
En hora buena Raul  :-/ :-/ :-/
Venga que quiero ver ese Esquema por aqui y como te comente voy a ver si lo hago y lo pruebo  :mrgreen: :mrgreen:

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Proton Dmx_512
« Respuesta #2 en: 21 de Julio de 2008, 02:45:46 »
Te ha quedado muy cortito y entendible el código, Ralf. Felicidades.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #3 en: 21 de Julio de 2008, 15:59:47 »
Muchas gracias Amigos!
Esa es precisamente la idea hacer algo sencillo y que se entienda  :mrgreen:
Esta semana te coloco el esquema stk500 para que lo veas mejor  :mrgreen:

SAludos

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Proton Dmx_512
« Respuesta #4 en: 21 de Julio de 2008, 17:51:40 »
 :mrgreen: y una foto o video funcionando  :)
Saludo

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Proton Dmx_512
« Respuesta #5 en: 21 de Julio de 2008, 19:02:39 »
Te ha quedado muy cortito y entendible el código, Ralf. Felicidades.

Coincido con Manolo.

Lo mismo me animo y hago algo sobre esto... ;-)
Saludos desde Granada, España.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #6 en: 22 de Julio de 2008, 16:46:14 »
Que tal amigos!
Aqui les coloco el esquema del dmx_512  :mrgreen:

Saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Proton Dmx_512
« Respuesta #7 en: 23 de Julio de 2008, 02:02:05 »
Ralf, en ese esquema te falta la parte de adaptación de la señal, ¿verdad?

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Proton Dmx_512
« Respuesta #8 en: 23 de Julio de 2008, 02:38:25 »
No solo eso, sino que veo 2 entrada de señal, y estoy dudoso, Raul asi que arregla eso Please  :D
Saludo :mrgreen:

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #9 en: 23 de Julio de 2008, 14:44:43 »
Que tal amigos!
Solo les coloque lo referente al receptor y si usa dos señales para el dmx.
Lo que sucede es que en las primeras pruebas utilice el portb.3 para recibir la señal del break (mediante el pulsin) y el portc.7 lo utilice para recibir los datos del dmx (por medio del hrsin)  como tal  :mrgreen:
No obstante se podria utilizar solo el portc.7 para recibir tanto la señal del break como los datos dmx  :mrgreen:

Les voy a colocar el esquema completo transmisor y receptor en la proxima entrega para que lo vean entonces mejor  :mrgreen:

Saludos

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #10 en: 03 de Noviembre de 2008, 23:09:55 »
Que tal amigos!
Bueno aqui les coloco el esquema para el control de un led rgb, controlado via dmx512  :mrgreen:

Proximamente el programa  :mrgreen:

Saludos

« Última modificación: 28 de Febrero de 2010, 12:09:29 por stk500 »

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Proton Dmx_512
« Respuesta #11 en: 04 de Noviembre de 2008, 02:20:26 »
gracia Raul!  :mrgreen:
una pregunta? me imagino que solo va con los primero 3 Canales, osea Ch-1,Ch2-,Ch3 de la Trama? porque iinteresante seria amigo conumutarlo digo yo :mrgreen: :mrgreen: asi podia hacer un Panel de 170 LED :lol:
Saludos


Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #12 en: 04 de Noviembre de 2008, 07:51:56 »
Que tal stk500!
Me leiste la mente  :D  pues es asi, solo lo hice para que leyera los tres primeros canales (canal 1, canal2 y canal 3) pero es configurable facilmente para que este lea a partir del canal que desees  :mrgreen:
Primero posteare ese y luego hare otro para que lea a partir del canal que desees, ya que, el tiempo lo tengo muy limitado  :(

Saludos

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Proton Dmx_512
« Respuesta #13 en: 06 de Noviembre de 2008, 15:22:26 »
Que tal amigos!
Aqui les coloco todo lo necesario para realizar el proyecto, que les habia prometido.

Voy a hacer una aclaracion con respecto a este proyectito  :mrgreen:
El programa que utilice para el transmisor del dmx512 fue basado en la herramienta llamada manolator el cual fue desarrrollado por el señor kristof Nys, asi que el merece todos los creditos por la interfaz grafica que realizo, y la cual permite enviar los datos via dmx512.
Para mayor informacion pueden visitar el siguiente link, http://www.freedmx.com/

En los archivos adjuntos se muestra todo lo necesario para poder realizar el proyecto junto con el manolator_noxtal.hex el cual debe ser cargado en el pic16f88 para realizar la cominicacion con la pc.
Deben tener mucho cuidado a la hora de realizar el conexionado del conector db25 segun el plano adjunto aqui y el colocado en el post anterior, ademas coloque el .bas y el .hex llamado dmx_rgb que son los programas realizados por mi para recibir los datos provenientes del dmx512 (manolator) y utilizados para controlar la luminosidad de un led del tipo RGB  :mrgreen: :-/

Nota:
No me hago responsable por cualquier daño directo o indirecto que le pueda pasar a su pc o a su cerebro  :shock:
en la realizacion de este proyecto  :D

http://rapidshare.de/files/40849316/DMX_RGB.rar.html

Saludos
« Última modificación: 06 de Noviembre de 2008, 15:24:45 por RALF2 »

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Proton Dmx_512
« Respuesta #14 en: 07 de Noviembre de 2008, 03:35:41 »
voy a verlo Raul, y ya te comentare.
Saludo


 

anything