Mejorar el rango de enlace RF de 433MHz

7

Tengo un sistema compuesto por un sensor inalámbrico que transmite las lecturas de temperatura a una base principal.

El sistema de sensor inalámbrico se compone de:

  1. Imagen 12F683 para tomar la lectura de temperatura (codificada en Manchester)
  2. Transmisor de soluciones RF AM-RT4-433 para transmitir los datos
  3. Actualmente en una pequeña placa de pan (proto board) con un cable de longitud de onda de 1/4 que actúa como una antena

La codificación de Manchester es: 0 = 10 y 1 = 01 por un tiempo total de 416 micro segundos (cada mínimo y máximo es de 208 micro segundos)

La base del receptor se compone de (todo en el panel de pan de nuevo)

  1. Receptor HRR30 de RF Solutions con un cable de 1/4 de longitud de onda para la antena
  2. el microcontrolador mbed que decodifica los datos del receptor y busca un patrón de sincronización corto y luego recibe el paquete de datos (el patrón de sincronización es 15 1s seguido de un 0 y luego comienzan los datos)

Todo esto funciona bien cuando se transmite de un lado de mi escritorio al otro (1-2 m), pero una vez que muevo el transmisor a otra habitación, se vuelve muy poco confiable. Actualmente, el sistema remoto toma una lectura del sensor, luego enciende el transmisor para enviar los datos y luego apaga el transmisor una vez transmitido. Puedo obtener un poco de transmisión a distancias mayores al aumentar la cantidad de veces que se transmite el paquete de datos de 1 a 5 con un breve retraso entre ellos.

Este tipo de trabajo funciona pero aún no es muy confiable. Ambas tablas se ejecutan desde 5V.

Cualquier sugerencia sobre dónde buscar problemas sería genial. Supongo que el uso de antenas de pan y látigos no es muy bueno, pero habría esperado que el rango fuera de más de 2 metros. ¿Tal vez me equivoque?

Sé que otras frecuencias de más de 433 MHz podrían servirme mejor y he usado los transceptores RFM12B, pero me gustaría mantener estos componentes por ahora.

    
pregunta SimonBarker

3 respuestas

4

Los módulos que está utilizando son solo 0dBm (1mW), que es bastante bajo. Los RFM12 a los que está acostumbrado normalmente son 8dBm (6mW) y tienen un protocolo robusto y listo para usar. También se montan en superficie, así que supongo que los está utilizando montados en una PCB.

Mi primer pensamiento sería aislar los problemas de RF de los problemas de protocolo. Configure un transmisor haciendo 101010101010 a la velocidad requerida para transmitir los datos en su aplicación. Parece que tienes una frecuencia de aproximadamente 2400Hz, lo que es bueno para larga distancia sin ser tan lento como para confundir cualquier AGC en el receptor. Use un alcance en el receptor o configure algo para detectar este patrón similar a un preámbulo, y vea hasta dónde puede llegar con su configuración actual. Esto debería permitir resolver si se trata de un problema de RF o de un protocolo.

No conozco el receptor HRR30, pero la mayoría de los receptores de AM básicos tienen un AGC no ajustable en ellos. Esto significa que puede ser difícil calcular exactamente cuánto tiempo necesita un preámbulo para sesgar la ganancia correctamente, y también es difícil determinar qué velocidades de datos son compatibles. Un preámbulo demasiado corto y el receptor aún se obtendrá y responderá al ruido. Una velocidad de datos demasiado lenta y la ganancia estarán por todas partes. Su configuración suena bien, pero puede valer la pena investigarla.

El embarque de estos transmisores y receptores está plagado de problemas. No creo que tengas que recurrir a nada más que un dipolo de onda cuarta. Obtenga el módulo en una PCB simple y probablemente verá una gran mejora.

Otra suposición importante, pero con proyectos como este, a menudo no vale la pena implementar la corrección de errores. Simplemente transmita varias veces y suponga que perderá algunos paquetes. Si eso no es aceptable, un sistema de envío / recepción será mejor que la corrección de errores.

    
respondido por el Cybergibbons
2

Hice casi el mismo proyecto, pero AVR uno y alcanzó un rango de unos 30 metros al aire libre y unos 15 metros en interiores (edificio de concreto) a 5 voltios. Por favor, encuentre más detalles sobre: Lado de TX:

  1. elemento de lista
  2. 2xLM335 sensores de temperatura conectados a ADC0 y ADC1
  3. transmisor de ebay 433MHz El cheapo
  4. Usando UART nativo
  5. antes de la transmisión, cada byte se codifica en 2 bytes codificados en Manchester.
  6. transmisión de paquetes: - bytes del preámbulo (0xF0) - dirección de destino -- Dirección de la fuente - número de bytes - datos de datos - suma de cheques

lado RX:

  1. elemento de lista
  2. 16x02 LCD
  3. Receptor de ebay 433MHz El cheapo
  4. Usando UART nativo
  5. Cada byte recibido se decodifica en un nibble.
  6. Contador de paquetes válidos.

Puede consultar el código fuente aquí <>> cuenta.

    
respondido por el Vladimir Georgiev
1

Necesitará un elemento conducido de aproximadamente 6 "de alto y 4 radiales de la misma longitud para obtener una buena eficiencia a 433MHz. También consideraría qué hay en la pared o cuántas paredes está intentando transmitir. .

Otra opción es alargar tu preámbulo. Es posible que desee buscar un protocolo mejor para superar un bit o dos volteados.

    
respondido por el MarkSchoonover

Lea otras preguntas en las etiquetas