Autor Tema: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA  (Leído 5743 veces)

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

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Hola a la gente del foro, estoy experimentando con los módulos de RF, estoy tratando de comunicar dos pic, usando el usart de estos y por medio de los los módulos mencionados, pero no funciona. Si conecto directamente el pin TX del trasmisor al pin RX del receptor, funciona perfectamente, incluso enviando cadenas bastante extensas y complejas.
Si trato de hacer una comunicación por aire, en el pin RX del pic receptor recibo "cualquier cosa" y cuando la señal se queda en un valor bajo por mucho tiempo este se queda "clavado" y no puedo sacarlo de ese estado, probé ya casi de todo: invertí la salida del pic transmisor de tal forma que el estado de reposo sea bajo, de la misma forma invertí la salida del módulo receptor así el estado de reposo de la señal que ingresa al pic receptor sea alto, condición normal en la norma RS232. Quizás esté haciendo algo más con la programación de estos. He leído algo en el foro relacionado con el tema, pero hay cosas que no me quedan claras, leí algo de generar una señal cuadrada de 50ms de duración en estado alto y 5ms en estado bajo o algo así, pero no se como hacer para que el pic receptor interprete esa señal como de “reconocimiento” y después pasarlo a modo usart y procesar lo que viene como datos RS232, espero que alguien me de una idea, saludos Darío.

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #1 en: 09 de Octubre de 2013, 04:48:54 »
has probado a bajar la velocidad de transmisión??
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #2 en: 09 de Octubre de 2013, 09:33:35 »
Hola, si, ya probé eso, saludos.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #3 en: 09 de Octubre de 2013, 09:54:18 »
Puedes poner los links de acceso a las hojas de datos del emisor y receptor ??
La comunicacion es unidireccional, no??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #4 en: 09 de Octubre de 2013, 10:10:16 »
Hola, si, la comunicación es unidireccional, tengo información de como se conectan los módulos nomas, no tengo más nada.   

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #5 en: 09 de Octubre de 2013, 10:46:50 »
Creo que el Kid de tu cuestion es encontrar la informacion correcta de esos modulos.

Si por ejemplo te comunicas por bluethoth tenes que precargarle la velocidad de transmisión al modulo antes, o no funciona.
Quien dice que estos modulos no necesiten alguna precarga antes de utilizarlos ??

Se que normalmente eso no es asi, pero muchos temas de comunicación que pasaron por este foro, se resolvieron cuando quien hizo la consulta se junto con las hojas de datos y se entero como realmente deben funcionar esos modulos.

Aunque sea imagenes de los módulos deberias poner aqui, asi te ayudamos a encontrarlos...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #6 en: 09 de Octubre de 2013, 11:00:11 »
bueno, subo fotos de los módulos.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #7 en: 09 de Octubre de 2013, 13:16:55 »
Creo que esta es una de las posibles fabricas que lo hace:

http://www.anbosalarm.com/show-39-112.html

y el transmisor:

http://www.anbosalarm.com/show-38-149.html
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #8 en: 09 de Octubre de 2013, 17:02:31 »
Hola, muchas gracias por el dato, voy a revisar, pero creo que el problema está en la programación de los pic, saludos.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #9 en: 11 de Octubre de 2013, 13:45:06 »


GRUTTIS ¿Transmites con algun tipo de codigo? Es necesario, en la mayoria de modulos RF, transmitir con algun tipo de codificacion, el codigo Manchester va muy bien para este tipo de tranmisiones, a parte te debes crear un protocolo para verificar que la transmision es buena, debes tener el receptor recibiendo 0 cuando no hay transmision (para no saturarlo) el tamaño de la antena tambien es inportante (va relacionada con la frec).

Echale un ojo a este hilo donde Elreypic explica todo esto, a ver si los modulos que el utiliza y los tuyos son del mismo tipo:

http://www.todopic.com.ar/foros/index.php?topic=40735.0

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #10 en: 15 de Octubre de 2013, 17:42:39 »
 Hola a la gente del foro, en primer lugar, gracias por el interés en dar una mano jaja, creo que encontré una posible solución, estuve analizado con osciloscopio y tal como dicen ustedes y como he leído en otros foros, el módulo receptor es muy sensible al ruido:

*Encendido, apagado de tubos fluorescentes.
*Encendido de motores eléctricos o cualquier equipo que genere ruido por la línea o por el aire.
*Al contacto de la antena con las manos, etc. etc.
Mi idea es enviar datos con la norma RS232 o USART ya que de esta forma no se necesita “inventar” un protocolo y se podrían controlar varios equipos con un solo decodificador, teniendo en cuenta esto, se me ocurrió lo siguiente:
   

Transmisor: 

Programé un micro controlador para que realice la tarea de enviar los datos, como se sabe, el estado de la señal de reposo de la norma es alto, intercalé un inversor (compuerta), entre el µP y el transmisor. Lo programé de esa forma: al pin TX lo configuro como salida digital normal, así genero una señal cuadrada de 50ms en nivel alto y 5ms en nivel bajo, (como se aconseja), después de esto configuro al pin TX como salida serie del USART y envío una cadena de datos en los que van codificados que equipo quiero controlar y si lo quiero encender o apagar. Después de ajustes en la programación, esto funcionó perfectamente.

Receptor:

Con el receptor, tuve más complicaciones jaja, a la salida del modulo puse un MAX232 que cumple con dos cosas, adaptar el nivel de salida del módulo e invertir la señal, de tal forma que al ingresar al µP, su nivel de reposo sea alto. Descubrí que en mi caso, el modulo receptor que compré no funciona bien con una tensión de +5V, logré encontrar un punto justo alimentando a este con una tensión de +8V.
Con la programación hago lo siguiente, configuro el USART, pero desabilito la recepción con uno de los bits disponible para eso y la señal que entrega el MAX232 la conecto al pin RX y a otro pin configurado como entrada digital del µP, entonces lo que hago es estar constantemente explorando este pin, cuando hay un cambio en la señal la mido y si su duración es de 50ms, habilito la recepción, decodifico los datos y actúo, si mide menos de eso, lo considero ruido y a otra cosa. Como puedo habilitar o des habilitar la recepción, estos datos iniciales no son registrados por el USART, hasta ahora esté funcionando perfectamente, incluso trasmito la cadena una sola vez, es decir, no repito la secuencia y la respuesta es muy buena, solo queda agregar líneas para poder controlar otros equipos, probar distancias y agregar “chiches”. Espero alguna sugerencia o que sirva para otros que están experimentado, saludos         

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #11 en: 15 de Octubre de 2013, 19:13:02 »


GRUTTIS ¿Transmites con algun tipo de codigo? Es necesario, en la mayoria de modulos RF, transmitir con algun tipo de codificacion, el codigo Manchester va muy bien para este tipo de tranmisiones, a parte te debes crear un protocolo para verificar que la transmision es buena, debes tener el receptor recibiendo 0 cuando no hay transmision (para no saturarlo) el tamaño de la antena tambien es inportante (va relacionada con la frec).

Echale un ojo a este hilo donde Elreypic explica todo esto, a ver si los modulos que el utiliza y los tuyos son del mismo tipo:

http://www.todopic.com.ar/foros/index.php?topic=40735.0

Hola tapi.
Creo que no vas a poder usar codigo Manchester. Segun veo en el datasheet la señal de entrada va de 0 a Vcc ( en un datasheet cualquiera de uno de estos bichos dice 0,3 max para low y Vcc-05 como minimo para High). El codigo Manchester va de un voltaje positivo a otro negativo. Si el voltaje positivo fuera Vcc entonces iria de +Vcc a -Vcc.
Si estoy errado pido disculpas, pero es lo que interpreto.
Saludos.

Edito: No recuerdo si esta dentro de las reglas del foro, pero de no ser así, estaria bueno que el titulo del mensaje lo escriban en minuscula, salvo donde corresponda mayusculas (por ejemplo en PIC, RAM, etc.). Gracias. Saludos.
« Última modificación: 15 de Octubre de 2013, 19:24:04 por Darkman_A »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #12 en: 16 de Octubre de 2013, 13:58:23 »
Citar
Hola tapi.
Creo que no vas a poder usar codigo Manchester. Segun veo en el datasheet la señal de entrada va de 0 a Vcc ( en un datasheet cualquiera de uno de estos bichos dice 0,3 max para low y Vcc-05 como minimo para High). El codigo Manchester va de un voltaje positivo a otro negativo. Si el voltaje positivo fuera Vcc entonces iria de +Vcc a -Vcc.
Si estoy errado pido disculpas, pero es lo que interpreto.
Saludos.

Pues yo el codigo Manchester que uso, no se si hay mas, es del siguiente modo, para emitir a 9600 Baudios cada bit es de 104uS para emitir un 1 se mandan los primeros 52uS en bajo (0V) y los otros 52 en alto (5V) y el 0 al reves (o es asi o al reves, no estoy seguro  :lol: :lol:). De todos modos si es un protocolo donde uno mismo se haga emisor y receptor, se puede enviar como se quiera siempre que despues se interprete correctamente.

Es la codificacion que emplea el protocolo RC-5 de los mandos a distancia de Philips, si no estoy equivocado.

Desconectado GRUTTIS

  • PIC10
  • *
  • Mensajes: 26
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #13 en: 17 de Octubre de 2013, 09:11:06 »
Hola, es interesante lo de este código, pero en mi caso prefiero usar el código USART, por los motivo explicados, saludos.   

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: COMUNICACIÓN ENTRE DOS PIC POR MEDIO DEL USART Y POR RF, NO FUNCIONA
« Respuesta #14 en: 17 de Octubre de 2013, 14:09:37 »
El codigo Manchester va bien para transmitir con ruido porque estan cambiando constantemente de nivel los datos a transmitir y ademas como en un bit si el receptor recibe un 1 sabe que lo proximo a recibir es 0 y veceversa, si se mete ruido y hay dos 1 o dos 0 detecta que la transmision es erronea, pero si a ti te va bien otro codigo, pues perfecto.

Para transmitir por la USART como los modulos transmiten en inverter se complica mas, pero no es muy dificil hacer la USART por soft y tener en cuenta esa inversion, incluso se puede transmitir normal y en la recepcion invertir lo recibido, bueno cada uno como le vaya mejor. Se puede hacer la recepcion por flancos, flanco ascendente=1 y descendente=0, si no hay flanco es que hubo fallo.


 

anything