# Transmision de datos entre PIC por RF



## llalexll (Mar 2, 2009)

Hola a todos, estoy tratando de hacer una comunicacion inalambrica entre 2 PIC 16F877A, para ello estoy usando modulos tanto de transmision como de recepcion a 433Mhz, ahora bien, seria posible que conectando directamente las patas de Tx del PIC con la del Modulo, y la pata de Rx del Modulo con la del 2do PIC, se de una buena comunicacion?

O quizas necesita algun circuito adicional, para transmitir perfectamente ? 

PD: Yo prove de la forma que mencione, es decir contectando directamente las patas del TX del pic y del modulo, y las patas del RX tambien del Pic y del modulo. Y me funciona, solo que a muy poca distancia, aporx. 50cm, al alejar los modulos no me transmite ni recibe nada, espero sus respuestas.

Gracias


----------



## Tratante (Mar 4, 2009)

Hola

Que velocidad de transmision estas configurando en el PIC? 9600, 19200...

A bajas velocidades es posible que obtengas buenos resultados en relacion a la distancia.

Saludos


----------



## Elvic (Mar 4, 2009)

saludos llalexll
 podrías poner mas información de los módulos RF, alguna matricula de identificación o hoja de datos, para saber de que clase o configuración estas usando, quizá los módulos solo operan en esa distancia que mencionas


----------



## Ferny (Mar 5, 2009)

Yo estoy metido en un proyectito que implica transmisión serie inalámbrica bidireccional y conseguí transmitir sin problemas de un extremo a otro de mi casa a una velocidad de 2400 baudios, pero sí es cierto que encontré problemas de transmisión que se solucionaron cambiando un poco el protocolo de comunicaciones (transmitir mensajes no muy largos y hacer una pausa de unos pocos ms entre mensajes, y sobre todo transmitir continuamente para evitar que el receptor empiece a recoger basura...). También ayudó mucho añadir un condensador de desacoplo (100nF) lo más cerca posible de los pines de alimentación del transmisor y del receptor.

Eso en una protoboard. Hace poco encargué un PCB para hacer el circuito ya bien y estoy a la espera de recibirlo, aunque todavía me tardará unas semanas. Espero poder subir la velocidad al menos a 4800 baudios ya que en teoría mis módulos de RF tienen un máximo de 9600. En cuanto a la conexión, los pines RX y TX del integrado que implementa el puerto serie van directos a los pines del transmisor y receptor RF, o sea que no se necesita una circuitería adicional...

Algo que te puede ayudar es alimentar el transmisor con 12V, pero primero mira que los soporte por si acaso... Así conseguirás mayor distancia de transmisión.


----------



## llalexll (Mar 11, 2009)

Ferny muchas, pero muchas gracias, logre realizar la transmisión inalambrica a 1200 baudios.
Ahora tengo otro problema, aver si me ayudan con esto, para transmitir los datos inalambricamente, use cristales de 4Mhz, para cada PIC, ahora necesito enviar del PIC receptor, a otro PIC, que seria el que me procesa la información y realiza una tarea determinada, lo malo es que este ultimo PIC usa un cristal de 20Mhz !  No logro tener una comunicacion entre estos (esta comunicacion es alambrica), por favor espero una respuesta ..!


----------



## Ferny (Mar 11, 2009)

La velocidad del reloj no debería tener nada que ver. El problema estará por otro lado, puede ser muchas cosas, quizá en el programa que ejecuta el PIC (si usas la UART, fíjate que esté bien definidos los baudios y bien configurada la velocidad del reloj)


----------



## llalexll (Mar 12, 2009)

Lo que pasa es que estoy trasmitiendo, con el pic de RF a 1200 baudios, y recepcionando con el PIC de procesamiento a 9600 baudios, ya que viendo la configuracion en modo serial del PIC 16F877A, a 20Mhz, no se puede trabajar con 1200 baudios, lo que estuve viendo era trabajar a 16Mhz y ahi si me dejaria trabajar.

Ahora tengo otra preguntita ... ^^  la parte que controla el PIC es un tablero de Leds, lo que me pasa es que cuando conecto todo, el tablero me genera un ruido que se filtra en el receptor, y me recepciona cualkier cosa, alguna idea para solucionar esto ?


----------



## llalexll (Mar 17, 2009)

Bueno muchas gracias a todos los que respondieron el post, en especial a Ferny, por fin logre acabar el proyecto y me salio muy bien, gracias a todos. =)


----------



## Ferny (Mar 18, 2009)

¿Cómo solucionaste al final el tema del ruido?


----------



## llalexll (Mar 18, 2009)

Bueno, lo que hice fue colocar 2 fuentes, una para la pantalla y otra para el receptor, oviamente tuve que unir las tierras para que exista comunicacion.. pero me resulto bien, ahh y tambien use cable automotriz, para conectar los circuitos a las fuentes.


----------



## bernardo ovallos (Abr 25, 2009)

hola a todos en mi trabajo de tesis necesito transmitir datos inalambricamente que los obtengo de un electromiografo me contaron por ahy q*UE *exite un intengrado que realiza todo ese proceso sera q*UE* alguien me colabora  gracias


----------



## ivan_mzr (Abr 25, 2009)

Cuando dices datos te refieres a digital? si es asi, utilizas algun tipo de protocolo? 
Si quieres puedes expresar mas tu idea ò ser mas especifico en tu problema.


----------



## Christianknt (Jul 29, 2009)

llalexll, me puedes decir de que forma puedo evitar tener que unir las tierras para lograr la comunicacion? Saludos


----------



## natalmx (Abr 14, 2010)

llalexll dijo:


> Ferny muchas, pero muchas gracias, logre realizar la transmisión inalambrica a 1200 baudios.
> Ahora tengo otro problema, aver si me ayudan con esto, para transmitir los datos inalambricamente, use cristales de 4Mhz, para cada PIC, ahora necesito enviar del PIC receptor, a otro PIC, que seria el que me procesa la información y realiza una tarea determinada, lo malo es que este ultimo PIC usa un cristal de 20Mhz !  No logro tener una comunicacion entre estos (esta comunicacion es alambrica), por favor espero una respuesta ..!



Hola, yo estoy trabajando actualmente con modulos de RF FSK a 915 MHz, y ya le logrado el envío de datos del Transmisor a Receptor, pero veo que tu ya solucionaste el probema de la distancia con lo que te dijo Ferny de aumentar el voltaje del Transmisor a 12 V, pero no entendí si con eso solucinaste el problema de la distancia de transmisión con eso, o con qué? Espero me puedas decir por favor.


----------



## Liss (May 31, 2010)

Hola, yo acutalmente estoy haciendo una tranmision inalambrica de pic a pic, mi problema es que cuando la informacion de el primer pic se la manda al segundo, estÈ la manda a un dac0800 y la salida de el dac me tiene que dar una salida analogica y no me funciona, todo esta correcto, llega bien la informaciÒn pero de el dac no sale nada, alguien me puede ayudar por favoooooooooor, gracias.

  El pic que estoy utilizando es el 16f877a


----------



## natalmx (May 31, 2010)

Hola Liss yo también trabaje con transferencia inalámbrica por RF, de un PIC a otro.

A lo mejor está de más decir que PIC use, porque con cualquiera se puede, pero bueno. Use los PIC's: PIC16F877A como transmisor y PIC16F628 (Parecido al PIC16F84A) pero... con mas salidas y entradas, además tiene un reloj interno para ya no usar el Oscilador de 4MHz (por ejemplo) y los 2 capacitores de 22pf.

Mira... te explico como lo logré yo. Para no meterme en tanto relajo con la programación y todo eso, a la salida del PIC uso un convertidor y los datos de ese convertidor van al Transmisor (TX) y envía los datos al (RX) y a la salida del RX va otro convertidor que me los convierte para qu estosentren al PIC y ahí decidas que hacer. En envío de datos es de 4 bits osea que viéndolo de otra forma tienes 16 combinaciones, osea que en tu programció puedes tener 16 tipos de instrucciones para que dependiendo de la convinación que llegue haga algo el PIC.

Te adjunto en un PDF el circuito eléctrico y los valores y matrículas de cada componenete para que si quieres sólo compres los componentes y listo los conectes a tu PIC y puedas envíar datos de un tamañode 4 bits.

Tanto transmisor y receptor trabajan a 915MHz (FSK) y la distancia máxima es de 250 metros libre de obstáculos (según el fabricante). (Claro con unas buenas antenas) las antenas las puedes agregar con unos alambres o pequeños cables soldados a donde debe ir la antena en el TX y RX, entre más largo esté el cable o alambre mayor distancia.

En el PDF que te pongo no vienen en específico la matrícula del TX y RX. Te lo pongo aquí: TX (Transmisor): (HM-T915, FSK 915Mhz); RX (Receptor): (HM-R915, FSK 915MHz).

Tambiénte adjunto las imágenes del TX y RX para qué te des una idea de como son:

Ok, ahora te explico unos detalles: En el PDF las entradas (osea bits a transmitir) son con "push boton", tu en vez de esos conectarás 4 salidas de tu PIC que será el transmisor, y así mismo de lado del receptor tiene 4 led´s para representar los bits que transmite, tu ahí si quieres puedes dejar los led´s para ver que efectivamente llegan los datos, pero ahí mismo tu conectarás las 4 entradas que irán a tu PIC receptor (conéctalas antes de los led's, no después de los led's).

Y ya en tu programa pones que represeta cada combinación de bits que llegen, si se mueve un motor o apaga algo, manda algo por una pantalla LCD, etc, (infinidad de cosas). 

Pero así como te paso el PDF pueden transmitir datos sin la necesidad de PIC, sólo los PIC ahora tomaran el papel de los push botton y el otro tomara el papel de decidir que hacer con los datos que lleguen. Aaaa y no es que trabajen con 9 Volts, trabajan con 5 pero ahí se conecta una pila de 9V (de las cuadradas) y después se reduce el voltaje con el 7805, que tu puedes meterle los 5V directos y omitir esos componentes, para no gastar mucho . Y ojo!!! Las resistencias que llevan los convertidores (HT12D Y HT12E) deben ser de 47K y 1M a fuerzas si no no funciona 

Suerte!!! Cualquier cosa para eso está toda la comunidad del foro. Espero haya sido clara la explicación.

Aaaaa!!! Si no consigues los transmisores que te menciono, dime y te puedo recomendar varias tiendas en la ciudad de México.


----------



## Liss (Jun 1, 2010)

Hola natalmx:

   Oye niÑo muchas gracias, ahorita estoy checando lo que me mandaste y creo que me sera de gran ayuda, ahorita que salga de trabajar me lanzo al laboratorio y comienzo con esto, me interesaria si puedes claro, seguir en contacto para posibles fallas que puedan surgir, o aun mejor para comunicar que ya funciono jajjaj.

Saludos


----------



## natalmx (Jun 1, 2010)

Claro!!! creeme que muchas veces he necesitado ayuda de muchos foros y me la han dado, creo que ahora es tiempo de yo hacer lo mismo. Además cuando yo andube trabajando con este tema de radiofrecuencia, muchas veces las personas son envidiosas para compartir la información y la exponen a medias. Por eso... espero que esta publicación sea de gra ayuda para muchos!!! y en caso de que tengas dudas no duddes en preguntarme. Con gusto te ayudaré a los interesados con este tema.


----------



## beto3574 (Oct 4, 2010)

hola a todos...estoy implementando el radio enlace de esta paginahttp://www.muchotrasto.com/EmulacionCDCRS-232USB.php

pero con unos modulos transceiver hr1001 el problema que tengo es que cuando envio los datos por el chat de la pagina antes mencionada al otro lado me llegan un monton de caracteres extraños¡¡¡ aclaro que ya ensaye solo la interfaz con los pic 18f4550 en el computador y funcionan bien, el mensaje que envio llega correctamente, los dos modulos los pongo a funcionar a 9600baudios,, alguien podria guiarme??? los modulos transmiten pero lo estan haciendo de forma erronea, adjunto datasheet del modulo que utilizo

de antemano les agradezco cualquier ayuda

saludos


----------



## bLiNdEN (Nov 18, 2010)

llalexll que tal:

Buen día, una pregunta, me pudieras decir que módulos de RF son los que usas??, estoy empezando un proyecto, pero siempre he trabajado con Xbee, y necesito otras opciones de transmisión. Gracias por tu aporte, espero tu respuesta.

Atte.
Blinden


----------



## Ettneciv (Abr 27, 2011)

natalmx dijo:


> Hola, yo estoy trabajando actualmente con modulos de RF FSK a 915 MHz, y ya le logrado el envío de datos del Transmisor a Receptor, pero veo que tu ya solucionaste el probema de la distancia con lo que te dijo Ferny de aumentar el voltaje del Transmisor a 12 V, pero no entendí si con eso solucinaste el problema de la distancia de transmisión con eso, o con qué? Espero me puedas decir por favor.




Podrias ayudarme a solucionar la parte del encoder-decoder utilizando el mismo pic para esta funcion?


----------



## eco28 (May 2, 2011)

natalmx dijo:


> Hola Liss yo también trabaje con transferencia inalámbrica por RF, de un PIC a otro.
> 
> A lo mejor está de más decir que PIC use, porque con cualquiera se puede, pero bueno. Use los PIC's: PIC16F877A como transmisor y PIC16F628 (Parecido al PIC16F84A) pero... con mas salidas y entradas, además tiene un reloj interno para ya no usar el Oscilador de 4MHz (por ejemplo) y los 2 capacitores de 22pf.
> 
> ...



oye yo voy a empezar a manejar estos modulos rf y queria preguntarte si los has utilizado sin el encoder y el decoder, no se si me puedas ayudar...


----------



## lesterh7 (Jul 23, 2011)

que tal mucho gusto alguien me podria ayudar, tengo los modulos HM-TR915TTL que me salieron caritos. nomas quiero saber si puedo usarlos tambien con el encoder y decoder HT12E y HT12D.????  o tiene siempre que ser con un micro que tega  PUERTO SERIAL (RS232)?. muchas gracias!


----------



## chvstracker21 (Sep 25, 2011)

natalmx    oye que onda estoy trabajando con esos  modulos pero la bronca esque uqiero pasar de un sensor con cumincacion  i2c  al trasmisor y   ya   despus del receptor que lo  interprete el pic 16f877a  mi pregutna es que si  el sensor    con comunicacion i2c tiene que ir al pic 16f877a y ese al encoder y del encoder al trasmisor  o o puedo  meter directo al  encoder el sensor  i2c


----------



## terminator (Jun 17, 2012)

Ferny dijo:


> Yo estoy metido en un proyectito que implica transmisión serie inalámbrica bidireccional y conseguí transmitir sin problemas de un extremo a otro de mi casa a una velocidad de 2400 baudios, pero sí es cierto que encontré problemas de transmisión que se solucionaron cambiando un poco el protocolo de comunicaciones (transmitir mensajes no muy largos y hacer una pausa de unos pocos ms entre mensajes, y sobre todo transmitir continuamente para evitar que el receptor empiece a recoger basura...). También ayudó mucho añadir un condensador de desacoplo (100nF) lo más cerca posible de los pines de alimentación del transmisor y del receptor.
> 
> Eso en una protoboard. Hace poco encargué un PCB para hacer el circuito ya bien y estoy a la espera de recibirlo, aunque todavía me tardará unas semanas. Espero poder subir la velocidad al menos a 4800 baudios ya que en teoría mis módulos de RF tienen un máximo de 9600. En cuanto a la conexión, los pines RX y TX del integrado que implementa el puerto serie van directos a los pines del transmisor y receptor RF, o sea que no se necesita una circuitería adicional...
> 
> Algo que te puede ayudar es alimentar el transmisor con 12V, pero primero mira que los soporte por si acaso... Así conseguirás mayor distancia de transmisión.



Hola ferni, quizas este tema es muy antiguo, pero para mi es nuevo. Mira, tal vez me des unas pautas para solucionar mi problema: he logrado transmitir serialmente entre dos pic 16f628, usando oscilador interno (no cristal). Ahora, use los modulos de RF y segun una literatura los conexté, pero nada. Seguí otra recomendacion de usar cristal para mejor estabilizacion, pero nada. Te comento que lo que hace el circuito (como prueba inicial) es presionar botones en el pic de tx y encender los leds en el pic de rx. (directamente con cable funciona ok). L oqueesta pasando ahora es que los leds del pic receptor (ya con el modulo Rx) se enciende en forma aleatoria. Lo que voy hacer, antes de tener tu amable respuesta, es concectar esos condensadores de 100 nf entre los pines positivo y negativo de cada circuito. Gracias.
Terminator.


----------



## miguelus (Jun 17, 2012)

Buenos días.
Si conectamos un Diodos Led o cualquier otra forma de monitoreo en la salida de datos del RX, veremos que aleatoriamente y continuamente se están detectando datos.
Recordemos que estos receptores están trabajando en la banda de 433,92Mhz, esta frecuencia es de "Uso Común" lo que significa que es Libre y la puede utilizar quien quiera.
Al usar esta frecuencia tenemos que asumir y aceptar las interferncias que nos produzcan otros servicios.
Si queremos envíar datos tenemos que tener en cuanta lo anteriormente citado, una forma de minimizar los errores de Transmisión es ser muy redundantes en el envío de datos y esperar que, en algún tiempo muerto, nuestra señal consiga ser recibida en nuestro receptor.
El mayor trabajo tendrá que ser del Firmware que grabemos en el Pic ya que tendrá que ser el encargado de filtrar todo lo que se reciba hasta detectar una transmisón válida.
Podemos monitorear la señal recibida por el RX viendo la actividad en la salida de datos, de esta forma podemos evaluar cuál es la actividad dentro de esta banda en la zona dónde vivamos.

Sal U2


----------



## Xwicho (Jul 3, 2012)

e estado investigando esto pero aun asi no lo allo lo cual me dio una idea y necesito ayuda es parecido a lo de eset tema nose si se pueda hacer esto si no se puede pues disculpa

https://www.forosdeelectronica.com/f22/localizacion-objeto-78782/


----------



## Jaime Molleja (Jul 15, 2012)

Hola yo tengo tambien un "problema" con este tema, yo quiero mandar con un emisor y receptor RF con su correspondientes decodificador y codificador, una señal pulsatoria mediante un 555 al receptor con el emisor rf, y al recibirla mandarsela a un servo y por otro canal a un motor dc brushless porque quiero hacer un hovercraft (aerodeslizador) a control remoto para el segundo curso de Electronica. Entonces,¿como podria calcular esos 20 ms que tiene que recibir el motor o el servo con el Circuito integrado 555?

Si alguien me puede ayudar se lo agradezco!!!


----------



## Marian737 (Jul 15, 2012)

miguelus dijo:


> Buenos días.
> Si conectamos un Diodos Led o cualquier otra forma de monitoreo en la salida de datos del RX, veremos que aleatoriamente y continuamente se están detectando datos.
> Recordemos que estos receptores están trabajando en la banda de 433,92Mhz, esta frecuencia es de "Uso Común" lo que significa que es Libre y la puede utilizar quien quiera.
> Al usar esta frecuencia tenemos que asumir y aceptar las interferncias que nos produzcan otros servicios.
> ...



Miguelus ¿cómo sería esto de monitorear la señal recibida por el RX viendo la actividad de datos?. ¿Puedes orientarme al respecto? Gracias !!


----------

