Modulos RF 315 Mhz y micro 16f887

Del esquemático que vi, salvo que los módulos recomienden eso, colocar un capacitor de 100nF a derivación en la salida/entrada de la antena es muuuuuuy raro, más si ese capacitor (idealmente) presenta una impedancia de 5mOhms a 315MHz :unsure:.

Si me parece correcto colocar ese capacitor de 100nF entre Vcc del módulo y GND.

Pero que no se supone que por ahi no salen 315Mhz, si no solo la señal demodulada de unos cuantos KHz :confused:

Edito: No veo donde coloco el capacitor en la antena, hable de mas!
 
Última edición:
Los capacitadores estan entre vcc y gnd, como les dije me puse a trabajar lo que hice fue lo siguiente poner antenas (un alambre de cobre en forma de solenoide) en ambos módulos y agregue al código un par de lineas, una transmisor que denomine dirección como alguna vez me sugirieron (en el transmisor) y una lineas en el receptor que si no era esa dirección quien enviaba, simplemente se saliera logrando con esto ya solucionar el problema que les mencione. quiero agradecerles por su ayuda y dirección en esto que en realidad no tenia mucho conocimiento
 
Después de leerme todo el tema, y todos los otros que encontré, relacionados con el tema, termino escribiendo acá, como muchos hicieron luego de no poder solucionar su problema. Tengo una proto armada con un 18F4550 y un 16F877A, el primero como receptor, y el segundo como emisor (adjunto programas más adelante). Comunicados por USART a través de dos modulos RF de 315 MHz, con un protocolo de comunicación y todo para evitar ruidos, pero no hay caso. Estando a 3 centímetros de distancia llego a obtener algunos datos correctos. Al conectarlos por cable funcionan correctamente. No sé si los modulitos habrán venido descalibrados en cuanto a su frecuencia de fábrica. El receptor tiene una bobina variable, pero está pegada para no modificarle el botón movible (no se como llamarlo). Cada vez que se obtiene una trama completa correcta, hace titilar un led blanco. Si no detecta un valor 0xAA, utilizado como inicio de transmision, o sincronización, enciende un led rojo.
Adjunto imagen abajo. No se distingue, pero estaba funcionando, y el LED rojo encendido.
Me olvidaba, les puse una antena de cable UTP de 10 cm aprox a cada módulo.
Muchas gracias

EMISOR:
Código:
#include <16f877a.h>
#fuses XT,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
#use delay(clock=4000000)
#use rs232(baud=1200, xmit= pin_c6, rcv=pin_c7, bits=8)

#define SINCRO    0
#define INICIO    1
#define DIREC     2
#define DATO      3
#define CHECKSUM  4

//int8 DATOS[5] 0=SINCRO, 1=INICIO, 2=DIREC, 3=DATOS, 4=CHECKSUM

int DATOS[5] = {0xAA, 0x7E, 0x66, 0x66};

void main()
{

int i;
DATOS[CHECKSUM] = DATOS[DIREC] + DATOS[DATO];

while(true)
{
   for(i=0;i<5;i++)
   {
   putc(DATOS[i]);
   //putc(0xAA);
   //delay_ms(60);
   }
}
}

RECEPTOR:
Código:
#include <18f4550.h> 
#fuses INTRC_IO,NOWDT,PLL1,CPUDIV1,NOFCMEN,NOPUT,BROWNOUT,NOLVP,NOMCLR,NOWRT,NOCPD
#use delay(clock=8000000) 
#use rs232(baud=1200, xmit=pin_c6, rcv=pin_c7, bits=8, ERRORS)

#define SINCRO    0
#define INICIO    1
#define DIREC     2
#define DATO      3
#define CHECKSUM  4

//int DATOS[5] = {0xAA, 0x7E, 0x66, 0x66};

int DATOS[5]; //0=SINCRO, 1=INICIO, 2=DIREC, 3=DATO, 4=CHECKSUM
int i,j;

#int_RDA
void RDA_isr()
{
   if(i<5)
   {
      DATOS[i] = getch();
      if (DATOS[0] == 0xAA && i<5)
      { 
         i++;
      }
      else
      {  
         output_toggle(pin_b6);
         i=0;
      }
   }
}


void main()
{     
   setup_oscillator(OSC_8MHZ|OSC_INTRC|OSC_PLL_OFF);
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
   i = 0;
   while(1)
   {
      if(i==5)
      {
         if(DATOS[SINCRO]== 0xAA && DATOS[INICIO] == 0x7E && DATOS[DIREC] == 0x66 && DATOS[CHECKSUM] == (int)(DATOS[DIREC] + DATOS[DATO]))
         {
            output_toggle(pin_b7);
         }
         else
         {
            for(j=0;j<5;j++)
            {
               DATOS[i] = 0;   
            }
         }
      i=0;
      }     
   }
}
 

Adjuntos

  • IMG_2026.jpg
    IMG_2026.jpg
    88 KB · Visitas: 12
Atrás
Arriba