- Módulo RF RFM69HCW
- RFM69HCW
- Configuración de pines y descripción del módulo RFM69
- Preparación de la placa de desarrollo personalizada
Paso 3: Prepare una PCB para ello, estoy siguiendo este tutorial de PCB hecho en casa. Imprimí la huella en una placa de cobre y la dejé caer en la solución de grabado
Paso 4: Siga el procedimiento para ambas placas y suelde su módulo a la huella. Después de soldar, ambos módulos se ven así a continuación
La configuración de pines del módulo RF RFM69HCW se muestra en la siguiente figura
- Materiales necesarios
- Conexión de hardware
- Ejecución del boceto de ejemplo
- Trabajo del boceto de ejemplo
Cuando se trata de brindar capacidades inalámbricas a sus proyectos, el transmisor y receptor híbrido ASK de 433Mhz es una opción común entre ingenieros, desarrolladores y aficionados debido a su bajo precio, bibliotecas fáciles de usar y soporte comunitario. También hemos construido algunos proyectos como domótica controlada por RF y timbre inalámbrico usando este módulo RF de 433MHz. Pero muchas veces un transmisor y receptor híbrido ASK simplemente no es suficiente, su naturaleza de comunicación unidireccional y de rango bajo lo hace inadecuado para muchas aplicaciones
Para resolver este problema constante, los desarrolladores de HopeRF diseñaron un nuevo módulo de RF llamado RFM69HCW. En este tutorial, aprenderemos sobre el módulo RF RFM69HCW y sus ventajas. Primero, haremos PCB hecho en casa para RFM69HCW y luego conectaremos RFM69HCW con Arduino para verificar su funcionamiento para que pueda usarlo en proyectos de su elección. Entonces empecemos.
Módulo RF RFM69HCW
El RFM69HCW es un módulo de radio económico y fácil de usar que opera en la banda sin licencia ISM (Industria, Ciencia y Medicina) similar al Módulo RF nRF24L01 que hemos utilizado en proyectos anteriores. Se puede usar para comunicarse entre dos módulos o se puede configurar como una red de malla para comunicarse entre cientos de módulos, lo que lo convierte en una opción perfecta para construir redes inalámbricas de corto alcance y económicas para sensores utilizados en la automatización del hogar y otros proyectos de adquisición de datos.
Características de RFM69HCW:
- +20 dBm - Capacidad de salida de potencia de 100 mW
- Alta sensibilidad: hasta -120 dBm a 1,2 kbps
- Baja corriente: Rx = 16 mA, retención de registro de 100 nA
- Pout programable: -18 a +20 dBm en pasos de 1dB
- Rendimiento de RF constante en un rango de voltaje de módulo
- Modulaciones FSK, GFSK, MSK, GMSK y OOK
- Sincronizador de bits incorporado que realiza la recuperación del reloj
- 115 dB + rango dinámico RSSI
- Detección automática de RF con AFC ultrarrápido
- Motor de paquetes con CRC-16, AES-128, sensor de temperatura incorporado FIFO de 66 bytes
- Alto presupuesto de enlace
- Muy bajo costo
RFM69HCW
Frecuencia
El RFM69HCW está diseñado para funcionar en la banda ISM (Industry, Scientific and Medical), un conjunto de frecuencias de radio sin licencia para dispositivos de corto alcance y baja potencia. Las diferentes frecuencias son legales en diferentes áreas, por eso el módulo tiene muchas versiones diferentes 315,433,868 y 915MHz. Todos los principales parámetros de comunicación de RF son programables y la mayoría de ellos se pueden configurar dinámicamente; además, el RFM69HCW ofrece la ventaja única de los modos de comunicación programables de banda estrecha y banda ancha.
Nota: Debido a su potencia comparativamente baja y su corto alcance, la implementación de este módulo en un proyecto pequeño no será un problema, pero si está pensando en hacer un producto con él, asegúrese de que está usando la frecuencia correcta para tu ubicación.
Rango
Para comprender mejor el alcance, tenemos que tratar con un tema bastante complicado llamado RF Link Budget. Entonces, ¿qué es este presupuesto de enlaces y por qué es tan importante? El presupuesto del enlace es como cualquier otro presupuesto, algo que tienes al principio y que gastas con el tiempo si tu presupuesto se agota no puedes gastar más.
El balance del enlace también tiene que ver con un enlace o la conexión entre el emisor y el receptor, se llena con la potencia de transmisión del emisor y la sensibilidad del receptor y se calcula en decibelios o dB también es frecuencia- dependiente. El presupuesto del enlace se deduce de todo tipo de obstáculos y ruido entre el emisor y el receptor, como la distancia, cables, paredes, árboles, edificios, si el presupuesto del enlace se agota, el receptor solo crea algo de ruido en la salida y no obtendremos ninguna señal utilizable. Según la hoja de datos del RFM69HCW , tiene un balance de enlace de 140 dB en comparación con los 105 dB del transmisor híbrido ASK, pero ¿qué significa esto si es una diferencia importante? Afortunadamente, encontramosCalculadoras de presupuesto de Radio Link en línea, así que hagamos algunos cálculos para comprender mejor el tema. Primero, supongamos que tenemos una conexión de línea de visión entre el remitente y el receptor y que todo es perfecto, ya que sabemos que nuestro presupuesto para RFM69HCW es de 140 dB, así que verifiquemos la mayor distancia teórica que podemos comunicar, configuramos todo en cero y la distancia a 500KM, frecuencia a 433MHz y obtenemos una potencia de recepción horizontal de 139.2 dBm
Ahora, configuro todo en cero y la distancia a 9KM de frecuencia en 433MHz y obtenemos una potencia de recepción horizontal de 104.3 dBm
Entonces, con la comparación anterior, creo que todos podemos estar de acuerdo en que el módulo RFM69 es mucho mejor que el transmisor híbrido ASK y un módulo receptor.
La antena
¡Precaución! Es obligatorio colocar una antena en el módulo porque sin ella el módulo puede dañarse por su propia potencia reflejada.
Crear una antena no es tan difícil como parece. La antena más simple se puede hacer solo con un cable 22SWG de una sola hebra. La longitud de onda de una frecuencia se puede calcular mediante la fórmula v / f , donde v es la velocidad de transmisión y f es la frecuencia de transmisión (promedio). En el aire, v es igual ac , la velocidad de la luz, que es 299.792.458 m / s. La longitud de onda para la banda de 433 MHz es por tanto 299.792.458 / 433.000.000 = 34,54 cm. La mitad es de 17,27 cm y una cuarta parte es de 8,63 cm.
Para la banda de 433 MHz, la longitud de onda es 299.792.458 / 433.000.000 = 69,24 cm. La mitad de esto es 34,62 cm y una cuarta parte es 17,31 cm. Entonces, de la fórmula anterior, podemos ver el proceso de calcular la longitud del cable de la antena.
Requisitos de energía
El RFM69HCW tiene un voltaje de funcionamiento entre 1.8V y 3.6V y puede consumir hasta 130mA de corriente cuando está transmitiendo. A continuación en la tabla, podemos ver claramente el consumo de energía del módulo en diferentes condiciones.
Advertencia: si su Arduino elegido usa niveles lógicos de 5V para comunicarse con el periférico, la conexión del módulo directamente a Arduino dañará el módulo
Símbolo |
Descripción |
Condiciones |
Min |
Typ |
Max |
Unidad |
IDDSL |
Actual en modo de suspensión |
- |
0,1 |
1 |
uA |
|
IDDIDLE |
Actual en modo inactivo |
Oscilador RC habilitado |
- |
1.2 |
- |
uA |
IDDST |
Corriente en modo de espera |
Oscilador de cristal habilitado |
- |
1,25 |
1,5 |
uA |
IDDFS |
actual en sintetizador modo |
- |
9 |
- |
uA |
|
IDDR |
actual en modo de recepción |
- |
dieciséis |
- |
uA |
|
IDDT |
Suministro de corriente en modo de transmisión con la combinación adecuada, estable en todo el rango VDD |
RFOP = +20 dBm, en PA_BOOST RFOP = +17 dBm, en PA_BOOST RFOP = +13 dBm, en el pin RFIO RFOP = +10 dBm, en el pin RFIO RFOP = 0 dBm, en el pin RFIO RFOP = -1 dBm, en el pin RFIO |
- - - - - - |
130 95 45 33 20 dieciséis |
- - - - - - |
mamá mamá mamá mamá mamá |
En este tutorial, usaremos dos Arduino Nano y dos convertidores de nivel lógico para comunicarnos con el módulo. Estamos usando Arduino nano porque el regulador interno incorporado puede administrar la corriente máxima de manera muy eficiente. El diagrama de Fritzing en la sección de hardware a continuación se lo explicará más claramente.
NOTA: Si su fuente de alimentación no puede proporcionar 130 mA de corriente máxima, su Arduino puede reiniciarse o, lo que es peor, el módulo puede fallar en comunicarse correctamente, en esta situación, un condensador de gran valor con baja ESR puede mejorar la situación.
Configuración de pines y descripción del módulo RFM69
Etiqueta |
Función |
Función |
Etiqueta |
HORMIGA |
Salida / entrada de señal RF. |
Tierra de energía |
GND |
GND |
Tierra de antena (igual que tierra de potencia) |
E / S digital, software configurado |
DIO5 |
DIO3 |
E / S digital, software configurado |
Restablecer entrada de disparo |
RST |
DIO4 |
E / S digital, software configurado |
Entrada de selección de chip SPI |
NSS |
3,3 V |
Suministro de 3,3 V (al menos 130 mA) |
Entrada de reloj SPI |
SCK |
DIO0 |
E / S digital, software configurado |
Entrada de datos SPI |
MOSI |
DIO1 |
E / S digital, software configurado |
Salida de datos SPI |
MISO |
DIO2 |
E / S digital, software configurado |
Tierra de energía |
GND |
Preparación de la placa de desarrollo personalizada
Cuando compré el módulo, no venía con una placa de conexiones compatible con la placa de pruebas, por lo que decidimos hacer una yo mismo. Si tiene que hacer lo mismo, siga los pasos. Además, tenga en cuenta que no es obligatorio seguir estos pasos, simplemente puede soldar cables al módulo de RF y conectarlos a la placa de pruebas y aún funcionará. Sigo este procedimiento solo para obtener una configuración estable y resistente.
Paso 1: Prepare los esquemas para el módulo RFM69HCW
Paso 3: Prepare una PCB para ello, estoy siguiendo este tutorial de PCB hecho en casa. Imprimí la huella en una placa de cobre y la dejé caer en la solución de grabado
Paso 4: Siga el procedimiento para ambas placas y suelde su módulo a la huella. Después de soldar, ambos módulos se ven así a continuación
La configuración de pines del módulo RF RFM69HCW se muestra en la siguiente figura
Materiales necesarios
Aquí está la lista de cosas que necesitará para comunicarse con el módulo
- Dos módulos RFM69HCW (con frecuencias coincidentes):
- 434 MHz (WRL-12823)
- Dos Arduino (estoy usando Arduino NANO)
- Dos convertidores de nivel lógico
- Dos tableros de ruptura (estoy usando una tabla de ruptura hecha a medida)
- Un pulsador
- Cuatro LED
- Una resistencia de 4.7K cuatro resistencias de 220Ohms
- Cables de puente
- Alambre de cobre esmaltado (22AWG), para hacer la antena.
- Y finalmente soldar (si aún no lo has hecho)
Conexión de hardware
En este tutorial, estamos usando Arduino nano que usa lógica de 5 voltios, pero el módulo RFM69HCW usa niveles lógicos de 3.3 voltios como puede ver claramente en la tabla anterior, por lo que para comunicarse correctamente entre dos dispositivos es obligatorio un convertidor de nivel lógico, en el diagrama de fritzing a continuación le hemos mostrado cómo conectar el Arduino nano al módulo RFM69.
Nodo remitente del diagrama de Fritzing
Nodo remitente de la tabla de conexión
Pin de Arduino |
Pin RFM69HCW |
Pines de E / S |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RED |
D9 |
- |
LED_BLUE |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Nodo receptor del diagrama de Fritzing
Nodo receptor de tabla de conexión
Pin de Arduino |
Pin RFM69HCW |
Pines de E / S |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Ejecución del boceto de ejemplo
En este tutorial, configuraremos dos nodos Arduino RFM69 y lograremos que se comuniquen entre sí. En la siguiente sección, sabremos cómo poner el módulo en funcionamiento con la ayuda de la biblioteca RFM69, escrita por Felix Rusu de LowPowerLab.
Importando la biblioteca
Con suerte, ha realizado un poco de programación con Arduino antes y sabe cómo instalar una biblioteca. De lo contrario, consulte la sección Importar una biblioteca.zip de este enlace
Conectando los Nodos
Conecte el USB del Nodo Remitente a su PC, se debe agregar un nuevo número de puerto COM a la lista "Herramientas / Puerto" del IDE de Arduino, anótelo, ahora conecte el nodo Receptor, otro puerto COM debería aparecer en Herramientas / Lista de puertos, también anótelo, con la ayuda del número de puerto subiremos el boceto al nodo emisor y receptor.
Abriendo dos sesiones de Arduino
Abra dos sesiones de Arduino IDE haciendo doble clic en el icono de Arduino IDE después de que se cargue la primera sesión, es obligatorio abrir dos sesiones de Arduino porque así es como puede abrir dos ventanas de monitores en serie Arduino y monitorear simultáneamente la salida de dos nodos
Abrir el código de ejemplo
Ahora, cuando todo está configurado, necesitamos abrir el código de ejemplo en ambas sesiones de Arduino para hacerlo, vaya
Archivo> Ejemplos> RFM6_LowPowerLab> Ejemplos> TxRxBlinky
y haz clic en él para abrirlo
Modificar el código de ejemplo
- Cerca de la parte superior del código, busque #define NETWORKID y cambie el valor a 0. Con este Id, todos sus nodos pueden comunicarse entre sí.
- Busque el #define FREQUENCY cambie esto para que coincida con la frecuencia de la placa (la mía es 433_MHz).
- Busque #define ENCRYPTKEY, esta es su clave de cifrado de 16 bits.
- Busque #define IS_RFM69HW_HCW y descomente si está utilizando un módulo RFM69_HCW
- Y finalmente, busque #define NODEID, debería estar configurado como RECEIVER por defecto
Ahora cargue el código en su nodo receptor que ha configurado previamente.
Es hora de modificar el croquis para el nodo remitente
Ahora, en la macro #define NODEID, cámbielo a SENDER y cargue el código en su Nodo Sender.
Eso es todo, si ha hecho todo correctamente, tiene dos modelos de trabajo completos listos para probar.
Trabajo del boceto de ejemplo
Luego de la carga exitosa del Sketch observará que se enciende el LED Rojo que está conectado con el pin D4 del Arduino, ahora presione el botón en el Nodo Remitente y observará que el LED Rojo se apaga y el LED Verde que está conectado al Pin D5 del Arduino se ilumina como se muestra en la imagen de abajo
También puede observar ¡Botón presionado! texto en la ventana del monitor serial como se muestra a continuación
Ahora observe el LED Azul que está conectado al Pin D9 del Nodo Remitente, parpadeará dos veces y en la ventana Monitor Serial del Nodo de Recepción observará el siguiente mensaje y también el LED Azul que está conectado al pin D9 en el nodo receptor se iluminará. Si ve el mensaje anterior en la ventana Monitor serial del nodo receptor y también si el LED se enciende ¡Felicitaciones! Ha comunicado con éxito el módulo RFM69 con Arduino IDE. El funcionamiento completo de este tutorial también se puede encontrar en el video que se encuentra al final de esta página.
En general, estos módulos demuestran ser excelentes para construir estaciones meteorológicas, puertas de garaje, controlador de bomba inalámbrico con indicador, drones, robots, su gato… ¡el cielo es el límite! Espero que hayas entendido el tutorial y hayas disfrutado construyendo algo útil. Si tiene alguna pregunta, déjela en la sección de comentarios o utilice los foros para otras consultas técnicas.