¿Por qué este Arduino RF Receiver está cambiando el valor de un lado a otro?

0

Entonces, tengo un receptor de 315 MHz conectado a un Arduino e imprimiendo constantemente el valor del A0 Analógico en el pin del Serial Plotter integrado en el software Arduino.

Esta es la gráfica. Puede ver que al final hay algunos datos de otro transmisor de 315 mhz.

Mi pregunta es, ¿por qué hay tanto ruido cuando algo está sucediendo? ¿Esto es normal? Tal vez un chip receptor malo?

    
pregunta geekman

2 respuestas

9

Los receptores de RF baratos no entienden si los datos están presentes o no. No pueden distinguir entre ruido o datos. No utilizan un protocolo, no reconocen marcos de datos, cargas útiles o velocidad de transmisión.

Entonces, cuando no hay datos (es decir, no hay una señal fuerte deseada) presente, el circuito AGC (Control automático de ganancia) en el receptor continúa aumentando la ganancia hasta que se encuentra algo y, en su caso, es ruido.

Cuando aparecen datos reales "sólidos", el AGC retrocede rápidamente para evitar la saturación de los circuitos de RF y obtiene una salida de datos.

Aquí hay una idea de lo que sucede en un receptor de FM después del demodulador: -

EstoutilizalaterminologíadeunsistemadeFM(segmentadordedatos)peroseaplicaigualmenteauncircuitodeAGCqueintentaconstantementeencontrarelnivelcorrectoysolopuedehacerlodespuésdehaberrecibidounospocosbytesdepreámbulo./p>

ParaunreceptordeAM,esperaríaunaimagencomoesta:-

El borde izquierdo de la imagen es cuando el receptor está encendido y el AGC aumenta rápidamente la ganancia para intentar obtener una señal decente. El ruido es dominante aquí porque no hay transmisión de RF. A lo largo viene una transmisión y el AGC tarda un poco en establecerse. Hacia el lado derecho de la imagen, el AGC se ha estabilizado para adaptarse a la amplitud del soporte de datos y, como es de esperar, el ruido superpuesto sobre los datos se ha atenuado significativamente debido al AGC.

Hay dos líneas punteadas débiles en el centro de la imagen: estos son umbrales idealizados para reconstruir los datos con un comparador mediante histéresis.

    
respondido por el Andy aka
1

Mi opinión basada en sus comentarios es que la tasa de muestreo del ADC Arduino es demasiado baja para mostrar correctamente la salida del receptor. La frecuencia de muestreo es de aproximadamente 9.6kHz, que con el teorema de Nyquist da un ancho de banda de señal máximo de 4.8kHz.

Use un osciloscopio para medir la señal o conéctelo a la entrada serial del Arduino.

    
respondido por el Dejvid_no1

Lea otras preguntas en las etiquetas