TODOPIC
Mecatrónica => DMX512 - Diseños y Proyectos => Mensaje iniciado por: stk500 en 26 de Enero de 2008, 09:07:54
-
Un saludos a todos!
Bien hace dia que estoy estudiando Compilar en C y soy nuevecitos, tengan paciencia conmigo, ya que necesitos muchas ayudas, estos son mis primero pasos programando en C, la version que yo uso es la 3,249 , yo quiero que me digan si corrijan esta configuracion.
#case // para evitar problema de mayuscula minuscula
#include <16F876.h>
#device adc=10
#fuses HS,NOPROTECT,NOWDT
#use delay(clock=20000000) //20Mhz Cristal
#use RS232(baud=250000,rcv=PIN_C7,xmit=PIN_C6)// pin RC7 para el SN75176
#use fixed_io(a_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3) //canales del 1 a 4
#define PIN_DMXERROR PIN_RC5 // recibiendo error dmx
#define PIN_DMXOK PIN_RC6 // DMX OK
#define PIN_SWITCH1 PIN_B0 // dip switch define canales grupos de 4
#define PIN_SWITCH2 PIN_B1 // dip switch para canales grupos de 4
#define PIN_SWITCH3 PIN_B2 // // // // // grupos de 4
#define PIN_SWITCH4 PIN_B3 // // // // // grupos de 4
#define PIN_SWITCH5 PIN_B4 // // // // // grupos de 4
#define PIN_SWITCH6 PIN_B5 // // // // // grupos de 4
#define PIN_SWITCH7 PIN_B6 // // // // // grupos de 4
#define PIN_SWITCH8 PIN_B7 // // // // // grupos de 4
#define T1_PRESCALE 1 // times prescaler 1
#define PWM_FQ 200 // esta es la frecuencia de trabajo de pwm
#define MAX_PWMS 4 // el maximo de pwm
#define PWM_STEP (((FOSC/256)/T1_PRESCALE)/PWM_FQ)
en define switch quiero usar BCD para direcionar los canales, un esquema lo tengo ya acabado gracias a mi amigo Manolo
Editado título por Redpic: Receptor por "recibidor".
-
stk,échale un ojo al resto de posibles fuses.Quizá quieras añadir alguno más.
Menú View - Valid Fuses
-
Rafael, podrías definir todo el PORTB como PIN_SWITCH en lugar de hacerlo pin a pin. Al fin y al cabo cuando te refieras a él lo harás al byte completo.
¿Puedes pegar aquí el esquema?, será mejor que lo vea el resto porque seguramente encontrarán más modificaciones que las que yo te sugerí.
-
:mrgreen: gracia Genio del Ron :D
Por fin lo logre gracias Manolo, gracias Modulay
(http://img214.imageshack.us/img214/7483/4chdmxkk1.png)
-
Rafael, las resistencias que acompañan al dipswitch tienen que estar conectadas al polo opuesto que este. Si el dipswitch lo conectas a Vdd, las resistencias a GND o viceversa. De esta manera cuando cierres un microinterruptor, meterás una señal al pin; cuando lo abras, meterás la contraria a través de la resistencia.
-
Cuídate también de unir todos los puntos que van a masa,veo que los tienes separados.
También te serviría usar las instancias que necesites del símbolo "GND"
-
El condensador que lleva el max481 entre su pin 5 y masa ¿es a propósito? ¿dicho pin no debería ir conectado directamente a masa?
-
Has vuelto a conectar mal el switch.
Deja las resistencias como están y conecta los switches a masa en vez de a Vcc.
-
Muchas gracias Modulay por tu sugerencia.
pero me gustaria saber si la Configuracion del Pic esta bien ante de seguir.
otras pregunta y que no se todavia como implementar los Dip switch y pido ayudas
gracias
-
La configuración del PIC parece correcta. Pero es verdad que tienes esos dos errores en la placa:
- el dipswitch ponlo a masa
- une todas las masas del circuito utilizando el símbolo de tierra. Ese condensador en la masa del MAX485 no puede estar ahí
No entiendo tu pregunta sobre la implementación de los dip switch, ¿qué necesitas?
-
La configuración del PIC parece correcta. Pero es verdad que tienes esos dos errores en la placa:
- el dipswitch ponlo a masa
- une todas las masas del circuito utilizando el símbolo de tierra. Ese condensador en la masa del MAX485 no puede estar ahí
No entiendo tu pregunta sobre la implementación de los dip switch, ¿qué necesitas?
Gracias Manolo por tu gran ayuda.
lo corregi, pero hay error del condensador que va a MA485, deberia ir de masa y plus, pero ya lo cambiare,
Bien Manolo, te comentaba que no se como implementar los Dip switch, no se como definirlo ya que no encuentro Info o hay otras manera de hacerlo mejor?????
como comprendera el Dip Switch aqui sirve para direcionar los 4 canales entre los 512 canales de la tramas, es asi o me equivoco?
mi idea es con los Switch en OFF ocupara los 4 primero canales y con el Switch 1 - 2 - 3 - etc no se como hacerlo
Alguien tiene algunas ideas???
Muchas gracias
-
simplemente tiene que leer el valor del puerto al que tenes conectado el dip Switch,vos estas escribiendo en binario digamos el valor del canal a leer, aunque con 8 bit solo podrás setear 256 canales.
Saludos
-
Exacto, como dice Esteban basta con leer PORTB pero sólo tendrás 8 bits ahí. Necesitarás un switch adicional para poder llegar a 512.
-
(http://img253.imageshack.us/img253/1723/4chdmxeq7.png)
Bien, aqui he hechos los cambios y agregue un interruptor mas como Terminator
Aun sigo si entender como calcular las conmutaciones de los Switch, como dice el Colega Estefan eso me lo imaginaba ya pero como los calculos o lo implemento, tengo mis dudas.
Alguien que sea tan amable y me diga algunos paso o me de algun ejemplo?
ya que todos lo que encuentro en la Red es con Assembler.
-
No hay que calcular nada, simplemente lles el valor de ese puerto y listo, ya que con los interruptores vos estas escribiendo el canal en binario, digamos que si vos en los interruptores pones lo siguiente:
00001001 (1= on, 0 = off del dip Switch)
ese numero en binario es 9, estarias setenado el canal 9, ya que vos cuando lees ese valor, ya sea que lo leas en binario, decimal o en exa obtendrías el valor 9, y para saber si se trata de los primeros 256 numeros o los 256 mas altos tendras que testear el estado de RC7, si RC7 esta en uno, el valor del canal seria 255 + 9 = 264.
Saludos
-
Hola Rafael, los dip swich, toman valores en binario como te dicen los amigos, es por eso que los equipos DMX traen tablas para asignar el canal, pero esto es bien simple... ejemplo
swich 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1
valor 128 - 64 - 32 - 16 - 8 - 4 - 2 - 1
entonces, si "colocas" en uno el swich, sumas su valor correspondiente... para el canal 1, solo enciendes el 1
para el canal 2, solo asignas el numero 2 (valor 2)
pero para el canal 3, tendras que asignar el 1 y 2 (valor 1 + valor 2 =3)
para el canal 35 tendras swich 6 (valor 32) + swich 2 (valor 2) + swich 1 (valor 1)
se entiende?
La diferencia radica en que los dip swich, estan numerados desde el 1 (uno), y nosotros, contamos al primer bit como cero, y alli si, daria la formulita del peso del bit, como 2 ELEVADO a la posicion del bit
Espero que se entienda
Un gran abrazo!
Norberto
-
Lo siento, este proyecto lo tengo abandonado.
Saludo
-
hola, me podras ayudar??? necesito fabricar un receptor dmx 512 de 3 canales, ya que aca en argentina no lo puedo consguir, es para fabricar un proyecto con iluminacion de leds, con 3 o 4 canales ya me sirve... me podras ayudar? espero tu respuesta, una barzo Daniel
-
te puedo pàsar algo de tres canales espero que te te sirva .Esto es l programa
SALUDOS FA
-
La configuración del PIC parece correcta. Pero es verdad que tienes esos dos errores en la placa:
- el dipswitch ponlo a masa
- une todas las masas del circuito utilizando el símbolo de tierra. Ese condensador en la masa del MAX485 no puede estar ahí
No entiendo tu pregunta sobre la implementación de los dip switch, ¿qué necesitas?
Gracias Manolo por tu gran ayuda.
lo corregi, pero hay error del condensador que va a MA485, deberia ir de masa y plus, pero ya lo cambiare,
Bien Manolo, te comentaba que no se como implementar los Dip switch, no se como definirlo ya que no encuentro Info o hay otras manera de hacerlo mejor?????
como comprendera el Dip Switch aqui sirve para direcionar los 4 canales entre los 512 canales de la tramas, es asi o me equivoco?
mi idea es con los Switch en OFF ocupara los 4 primero canales y con el Switch 1 - 2 - 3 - etc no se como hacerlo
Alguien tiene algunas ideas???
Muchas gracias
Perdon soy demasiado nuevo en esto, estoy arrancando con los pics de apoco... lo que quiero saber si con ese diseño se puede hacer Strobo o solamente el RGB y el dimmer... no se si me estoy expresando bien..... saludos y muchas gracias...
-
Hola Esteban_k y Bienvenido a nuestros Foro Todopic!!
con ese diseño no, esto es solo una parte de implementacion, el codigo no esta acabado,pero
claro que puede hacer lo que quiera con cada canal, aunque depende lo que vaya hacer, ya que las mesas de luces puede hacer todos los efectos que quiera para eso estan, los normal en un Receptor DMX512 es que recibe todos tipo de efectos que lo preprograme con la mesa(Transmisor), no obstante se puede programar un Receptor que solo reciba el efecto que desee, espero sacarte de tus dudas.
Saludos
-
(http://img253.imageshack.us/img253/1723/4chdmxeq7.png)
Bien, aqui he hechos los cambios y agregue un interruptor mas como Terminator
Aun sigo si entender como calcular las conmutaciones de los Switch, como dice el Colega Estefan eso me lo imaginaba ya pero como los calculos o lo implemento, tengo mis dudas.
Alguien que sea tan amable y me diga algunos paso o me de algun ejemplo?
ya que todos lo que encuentro en la Red es con Assembler.
Hola como estan espero q bien
necesito armar este receptor de 4 canales con este pic, no se si me pueden facilitar el Frimware para grabarle al pic.
pregunto el MAX no tiene que ser el Max 485?
el oxilador; puedo usar un cristal de 20 MHz. con dos capasitores?
Gracias un saludo
-
stk,échale un ojo al resto de posibles fuses.Quizá quieras añadir alguno más.
Menú View - Valid Fuses
disculpa amigo tedras tu codigocompleto de tu proyecto de 4canales quiero realizar algo paarecido espero y puedas proporcionarme tu codigo tengo duda en como dirreccionarlos switch esperocntar con tu ayuda
ja_02_da@hotmaill.com
saludos...