¿Cómo evitar el choque de múltiples módulos de RF [315/433 Mhz]?

1

Estoy trabajando en un proyecto que requiere múltiples RF trabajando juntas (alrededor de 100). Esta será una comunicación unidireccional desde TX - > RX.

Estaré configurando múltiples 433/315 Mhz a bajo costo en un área en particular. ¿Cómo puedo asegurarme de que un par particular de RF no choque / interfiere con otro par? Para cada transmisor, habrá receptor. No hay receptor central allí.

Agregaré un microcontrolador de 8 bits en el lado del transmisor que se conectará al transmisor de RF y enviaré los datos cuando sea necesario.

En el lado del receptor, agregaré otro microcontrolador para decodificar el paquete y realizar la tarea en consecuencia.

He leído que se pueden seleccionar hasta 500 canales diferentes, lo que evitará la interferencia, pero no pude encontrar mucha información al respecto.

¿Cómo puedo resolver el problema? El costo es un factor importante o, de lo contrario, habría utilizado el módulo HopeRF en el que se puede configurar la ID de la red y funciona con una red en particular.

    
pregunta Embedded Geek

2 respuestas

4
  

¿Cómo puedo asegurarme de que un par de RF en particular no coincida / interfiera?   con otro par.

Envíe la menor cantidad de datos posible en el menor tiempo posible y viva con los inevitables conflictos de transmisión haciendo que los intervalos de tiempo entre las transmisiones sean pseudoaleatorios. De lo contrario, coloque un receptor con el transmisor y use una topología de maestro único a esclavo múltiple.

  

He leído que se pueden seleccionar hasta 500 canales diferentes, los cuales   evitará la interferencia, pero no podría encontrar mucha información al respecto.

Los módulos que ha seleccionado no se pueden usar de manera confiable con diferentes frecuencias portadoras.

¿Funcionará? Todo se reduce a qué tan pocos datos deben enviarse y con qué frecuencia puede vivir con la corrupción debido a los choques estadísticos.

    
respondido por el Andy aka
0

Dado que este es un tema bastante antiguo, puede que ya no esté interesado en una respuesta, ya sea que haya resuelto o abandonado el problema. De todos modos, tengo un problema muy similar, por eso encontré este hilo. En mi opinión, la única solución al problema de la interferencia es asegurarse de que ningún transmisor individual transmita al mismo tiempo que otro. Dado que todos los sensores de RF de 433 MHz transmiten una portadora modulada ASK en la misma frecuencia, el envío simultáneo de cualquier información los hace ilegibles. Hay básicamente 2 formas de evitar el bloqueo:

  • tienen todos los tx sincronizados con un reloj central y cada tx tiene un intervalo de tiempo preciso cuando pueden transmitir.
  • una variación de esto podría consistir en que cada unidad tx tenga también un módulo rx y solo se transmitirá después de que se haya abordado la rx con su código de dirección individual. El "reloj" central puede ser un tx central que envía códigos de dirección secuenciales a cada una de las combinaciones de tx-rx en un cierto ritmo. Una vez que un módulo tx-rx recibe su código de dirección, envía sus datos, que serán recibidos por todos los receptores, pero utilizados solo por el que está emparejado con este tx particular. El reloj central tx también puede emparejarse con su propio receptor que también recibirá la transmisión de acuse de recibo y, por lo tanto, sabe que el módulo de recepción se ha direccionado correctamente. Si este módulo no responde, esto muestra que puede faltar o no haber recibido la solicitud correctamente. El "clock" tx puede volver a intentarlo varias veces y eventualmente marcar este modelo como faltante. La ventaja de este sistema es que ningún módulo atascará ningún otro. La desventaja es que el ciclo completo puede ser bastante largo, dependiendo de la duración de cada intervalo de transmisión de datos de confirmación de solicitud y la cantidad de módulos. Si la mayoría de los módulos no tienen datos para enviar, esto es una pérdida de tiempo. Esto podría evitarse con otra variación de esta idea:
  • de nuevo, agregue un rx a cada módulo tx. Si este módulo desea enviar datos, primero verificará si se está enviando otro módulo. Si no, envíe una solicitud que dirija al módulo central de "reloj". Todavía existe la posibilidad de que dos o más módulos realicen la misma solicitud al mismo tiempo, pero estas solicitudes no serán legibles debido a la interferencia. Si el módulo central recibe una solicitud identificable (no atascada) de cualquier módulo, enviará un código "permitido" al módulo solicitante (incluida la dirección y un código de datos determinado). Todos los módulos recibirán esta cadena, pero solo el direccionado sabrá que puede comenzar a transmitir ahora. Todos los demás tienen que esperar un tiempo determinado para asegurarse de que nadie atasque esta transmisión. Solo cuando todos los módulos ven que esta transmisión ha finalizado, pueden intentar enviar su propia solicitud de asignación.

Esta es solo una posible solución, pero no necesariamente una solución práctica, ya que necesita agregar un procesador pequeño como attiny85 y un rx a cada módulo tx.

    
respondido por el Volker Piasta

Lea otras preguntas en las etiquetas