TODOPIC
Mecatrónica => DMX512 - Diseños y Proyectos => Mensaje iniciado por: RALF2 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 (http://www.freedmx.com/) 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
'****************************************************************
'* 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
-
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:
-
Te ha quedado muy cortito y entendible el código, Ralf. Felicidades.
-
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
-
:mrgreen: y una foto o video funcionando :)
Saludo
-
Te ha quedado muy cortito y entendible el código, Ralf. Felicidades.
Coincido con Manolo.
Lo mismo me animo y hago algo sobre esto... ;-)
-
Que tal amigos!
Aqui les coloco el esquema del dmx_512 :mrgreen:
Saludos
-
Ralf, en ese esquema te falta la parte de adaptación de la señal, ¿verdad?
-
No solo eso, sino que veo 2 entrada de señal, y estoy dudoso, Raul asi que arregla eso Please :D
Saludo :mrgreen:
-
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
-
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
(http://img85.imageshack.us/img85/5958/rgbdmx512.png)
-
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
-
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
-
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
-
voy a verlo Raul, y ya te comentare.
Saludo
-
http://rapidshare.de/files/40849316/DMX_RGB.rar.html
Saludos
Hola colega vos sabes que estoy interesado en tu proyecto hace varios dias ando buscando un controlador dmx rgb y justo di con el tuyo sera que podras poner de nuevo el archivo DMX_RGB.RAR por que el enlace esta roto espero no molestarte saludos
-
Que tal amigos!
Disculpen la tardanza! :mrgreen:
Estoy retomando mis estudios de ingenieria y no entro por eso casi al foro :mrgreen:
Aqui les dejo el archivo.
http://rapidshare.com/files/245975542/DMX_RGB.rar.html
Saludos
-
Hola Ralf como te va estoy por construir tu proyecto ya tengo el pic y todo decime hay alguna posibilidad de modificar la direccion DMX ya sea mediante el .hex o agregandole un dip switch sera que me podes dar una mano??? a la salida del pic o sea los terminales que se conectan al led es necesario agregarle la resistencia para limitar la corriente o no? se puede colocar un transistor NPN para aumentar la corriente que maneja cada una de las salidas?
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
-
Podrias pasar de nuevo el link del programa que no funciona?
Muchas gracias
-
hola, te pregunto, y disculpa mi ignorancia, porque almacenas 10 valores en el array si vas a utilizar 4? saludos
-
A solicitud del publico resubo el programa del DMX_RGB :mrgreen:
Espero les sea util!
http://www.mediafire.com/?8tkafb6s48te84y
Saludos
-
A solicitud del publico resubo el programa del DMX_RGB :mrgreen:
Espero les sea util!
http://www.mediafire.com/?8tkafb6s48te84y
Saludos
muchas gracias por subirlo de nuevo es lo que necesito :) :)
-
Hola Amigos!, con el permiso de Ralf2, cargo el archivo aquí en el foro...
-
hola amigos, podrian ayudarme, estoy haciendo un receptor dmx con el 16f628, tengo todo funcionando, pero me falta agregar un canal como de dimer general, osea tengo los tres colores que los atenuo independientemente uno del otro, pero tengo que con un solo canal mas variar los tres a la vez como si fuera un master, el tema es asi si yo hago un color X con los tres colores quiero poder encenderlo y apagarlo sin tocar los otros tres canales, trabajo en asembler, muchas gracias