[Ayuda] DMX + 75176 + AMICUS18
Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 al 10 de 22

Tema: [Ayuda] DMX + 75176 + AMICUS18

  1. #1
    Usuario
    Mensajes
    9
    Gracias
    2
    Agradecido 0 veces en 0 posts

    [Ayuda] DMX + 75176 + AMICUS18

    Hola gente, si bien soy nuevo en el foro, soy fanatico de los articulos de neoteo en especial de los articulos del amigo Mario, gracias a él me anime a hacer cosas. Bueno les comento lo que estoy queriendo hacer, resulta que compre una placa amicus 18, y tengo una consola DMX, y quiero hacer un receptor DMX , como driver RS485 uso el 75176. La idea es poder ver por la consola del amicus18 lo que recibo en los 4 primeros canales. Posteo el codigo, haber si me pueden dar una mano.
    Código:
              '  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
             HRSOut "ERROR OERR",13 
             '  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
                         HRSOut "ERROR FEER",13
                '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
                         HRSOut "ERROR DMX",13
                '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
                HRSOut "funciono",10
                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
              HRSOut Dec3 ST1[1],4
                        HRSOut Dec3 ST1[2],4
                                  HRSOut Dec3 ST1[3],4
    '            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
    El problema es que no recibo nada, y en la consola recibo caracteres extraños, supongo que porque cambie la velocidad del puerto serie, pero entonces nose como hacer para poder recibir . Helpppppppppppp

  2. #2
    Usuario
    Mensajes
    29
    Gracias
    2
    Agradecido 4 veces en 4 posts
    Hola amigo, Bienvenido al Foro! , es muy interesante tu proyecto, lamentablemente no puedo ayudarte debido a mi poca experiencia, yo también compre una placa amicus18, y estoy experimentando, pero me parece que tu problema viene porque estas queriendo configurar a una velocidad el puerto serie (250k baudios) para el DMX, mientras que en la consola de amicus estas leyendo a 9100bps, entonces llegan caracteres raros. Te recomendaría que en vez de la consola uses un servo o un led por ejemplo y que le asignes la lectura que lees( de 0 a 255) a ese led o a ese servo para que veas si recibis los datos correctamente. Con respecto a la implmentacion del protocolo DMX y a como lees los datos desde el 75176 no te puedo ayudar, Seguramente vendrán los gurus en tu ayuda, saludos!

  3. #3
    Usuario Avatar de Yesbond
    Mensajes
    838
    Gracias
    317
    Agradecido 434 veces en 237 posts
    Hola @gaston23,
    Seria muy bueno que colocaras tu circuito y si puedes unas fotos para ver todo un poco mejor.
    A primera vista lo que veo es que si estas usando el Amicus18, pues este software unicamente funciona con el PIC18F25K20, y unicamente funciona con un cirstal de 16Mhz, no puede funcionar con otro diferente con el de 20 Mhz que declaras al inicio de tu programa; es mas, no debes declarar el cristal porque es con el unico que puede trabajar.
    En el Amicus18 tampoco necesitas declararle los pines del lcd alfanumerico, este los reconoce automaticamente y pues tu le estas declarando pines, y puede que te este afectando en algo.
    Puedes hecharle un vistaso al articulo de Mario: Amicus: Software libre para PIC 18F25K20 seguramente ya los has leido pero al final aparece el link para descargar el manual del Amicus, esta muy bueno, te da muchisima informacion.

    Saludos

  4. #4
    Usuario
    Mensajes
    9
    Gracias
    2
    Agradecido 0 veces en 0 posts
    Gracias a ambos por responder, con respecto a yesbond, las lineas que tu haces referencias en mi codigo, estan comentadas, es decir no se compilan. Con respecto al esquema es uno que saque de un foro adjunto foto.
    Gracias.


  5. #5
    Usuario Avatar de Mario
    Ubicación
    En mi corazón
    Mensajes
    2,219
    Gracias
    910
    Agradecido 2,354 veces en 1,118 posts
    Hola Gastón

    Bienvenido al foro!

    Tendrías una imagen más grande? No se vé nada en esa miniatura. Por lo que ví es la misma que pusiste en TodoPic.
    Por otro lado, has hecho el intento de comunicación a 9600bps? Porqué colocas 250000bps? De donde sale ese valor?

    Después veríamos el resto si sigue sin funcionar, pero esa velocidad es imposible Gastón.
    Cuéntanos si has ensayado a 9600bps.

    Saludos!
    Mario

  6. #6
    Usuario
    Mensajes
    9
    Gracias
    2
    Agradecido 0 veces en 0 posts
    Hola Mario, gracias por la respuesta, la velocidad esa la saque de la pagina de DMX que habla sobre el protocolo
    Ujjal's DMX512 Pages....The DMX512 Packet
    y de otros codigos de ejemplo.
    Estoy ensayando a 9600 bps, pero sigo recibiendo caracteres extraños.
    adjunto esquema aumentado.


    Uploaded with ImageShack.us

  7. #7
    Usuario
    Mensajes
    9
    Gracias
    2
    Agradecido 0 veces en 0 posts
    en vez del max481 es el 75176

  8. #8
    Usuario Avatar de Mario
    Ubicación
    En mi corazón
    Mensajes
    2,219
    Gracias
    910
    Agradecido 2,354 veces en 1,118 posts
    Cada vez me confundo más.

    Disculpáme que no comprenda bien lo que estás haciendo.
    Tienes una placa Amicus por un lado, tienes una consola que se comunica por DMX por otro lado y tú quieres hacer un receptor DMX como el que muestras en el circuito. ¿Esto que digo es correcto?

    En el circuito que has colocado, IC1 ¿que PIC es?

    Si a ese PIC los vas a usar como receptor, ¿que recibirás allí? ¿ Sólo encenderán los LEDs conectados a los pines 6, 9 y 13 ?
    Además de las resistencias Pull-Up que se ven conectadas a los pines 17, 18, 1, 2, 3, 10, 11, 12 y 4 .... ¿lo otro que se vé son dip-switch?

    El código que has pegado arriba, lo utilizas en el módulo Amicus o en el receptor que estás implentando.

    Por último, No creo que consigas trabajar a 250K con ningún PIC. La velocidad máxima conocida es de 115K2, pero suponiendo que 250K sea la velocidad de funcionamiento, ¿a Arduino lo hacías trabajar a esa velocidad?

    Aclárame esas dudas y la seguimos.
    Saludos!
    Mario

  9. #9
    Usuario
    Mensajes
    9
    Gracias
    2
    Agradecido 0 veces en 0 posts
    Cita Iniciado por Mario Ver mensaje
    Cada vez me confundo más.

    Disculpáme que no comprenda bien lo que estás haciendo.
    Tienes una placa Amicus por un lado, tienes una consola que se comunica por DMX por otro lado y tú quieres hacer un receptor DMX como el que muestras en el circuito. ¿Esto que digo es correcto?

    En el circuito que has colocado, IC1 ¿que PIC es?

    Si a ese PIC los vas a usar como receptor, ¿que recibirás allí? ¿ Sólo encenderán los LEDs conectados a los pines 6, 9 y 13 ?
    Además de las resistencias Pull-Up que se ven conectadas a los pines 17, 18, 1, 2, 3, 10, 11, 12 y 4 .... ¿lo otro que se vé son dip-switch?

    El código que has pegado arriba, lo utilizas en el módulo Amicus o en el receptor que estás implentando.

    Por último, No creo que consigas trabajar a 250K con ningún PIC. La velocidad máxima conocida es de 115K2, pero suponiendo que 250K sea la velocidad de funcionamiento, ¿a Arduino lo hacías trabajar a esa velocidad?

    Aclárame esas dudas y la seguimos.
    Saludos!
    Mario
    Disculpame Mario, por la confusion, te comento, quiero armar un receptor DMX, como tu bien digiste, tengo la consola DMX, tengo el amicus, y en base a ese esquema que puse más arriba, estoy tratando de hacer el receptor dmx, uso el 75176 en vez del circuito que proponen. El codigo que uso es el codigo posteado arriba. La velocidad esa de 250K es la velocidad que habla el protocolo y los codigos que estan dando vuelta en internet.
    Resumiendo:

    CONSOLA ---> Receptor DMX (AMICUS+75176) ---> DRIVER LED RGB

    Los dipswitch es para leer la direccion de mi DMX pero no los uso, osea en mi codigo lo que quiero recuperar por ahora son las 3 primeras direcciones nada mas.
    eso es lo que quiero hacer.
    el 75176 lo coloco al pin RC7 del amicus que dice RX.
    Nunca hice esta prueba con arduino la de conectar por DMX, si hice la de usar la consola para ver el estado de variables o esas cosas.

  10. #10
    Usuario Avatar de Mario
    Ubicación
    En mi corazón
    Mensajes
    2,219
    Gracias
    910
    Agradecido 2,354 veces en 1,118 posts
    OK.

    Entonces lo que aparece como IC1 sería el módulo Amicus entonces?
    Si así fuera, ¿porqué has colocado un cristal de 20Mhz?

    Otra cosa, El Hardware Amicus tiene un plug hueco para la alimentación a partir de una fuente externa de 9VCC o con 5Volts a través del puerto USB. El 7805 que se vé en la imagen ¿cómo lo implementas?

    ¿Qué seguridad tienes que tu consola trabaja a 250K? ¿Tienes algún manual de ella, alguna posibilidad de setear esa velocidad a voluntad?¿O es algo que tu crees que trabaja a esa velocidad?

    Otra cosa. Estás transmitiendo mucho (HRSOut) en el código y el esquema que muestras no permite esa posibilidad. Sólo tienes conectada la entrada de Rx, como bien dices, a RC7 en Amicus. La transmisión no se realiza nunca porque los pines 2, 3 y 4 del SN están fijos a GND. Además el código en ninguna parte muestra que envíes un pin a estado alto como para encender algún led ...

    Hay muchas cosas que no tienen explicación Germán, pero no te preocupes, yo tengo paciencia y espero que tú también la tengas para sacar adelante esto.

    Cuéntame un poco más. Este circuito, ¿es tuyo? ¿el código? ¿de dónde los has sacado?

    Saludos!
    Mario

Página 1 de 3 123 ÚltimoÚltimo

Los visitantes encuentran esta página buscando por:

amicus18

sn75176 dmx

dmx

75176

sn75176 reemplazo

Receptor DMX con PIC

75176 dmx

dmx 75176

18f2550 receptor dmx

receptor dmx con arduino

receptor dmx arduino

receptor dmx circuito

1

descargar archivo receptor led rgb dmx 512

leer dmx con arduino

dmx con arduino esquema

18f2550 dmx

circuito 75176 digramaDIAGRAMA CIRCUITO DMX ESQUEMATICOejemplos SN75176esquema receptor dmx com sn75176arduino dmx esquemaaplicaciones del ic 75176fhacer circuito dmx

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37