Tutorial - APC220

LA COMUNICACIÓN POR RADIOFRECUENCIA
Permite la comunicación inalámbrica  entre dos puntos usando como medio de transmisión el aire, las señales son ondas electromagnéticas que oscilan a una frecuencia determinada, que pueden variar de los 3 kHz a los 300 GHz. 

Las frecuencias de communicación se pueden dividir de la siguiente manera:


En la transmisión se tienen siempre dos componentes:
# Transmisor: Es el elemento encargado de codificar y enviar la señal que deseamos transmitir.
# Receptor: Es el elemento encargado de recepcionar y decodficar la señal transmitida.


Las señales son enviadas y captadas por medio de antenas, siendo un circuito especialmente diseñado el encargado de aislar la señal a la frecuencia que deseamos obtener, estos elementos son generalmente llamados "tune circuit" y "resonador".

Algo que siempre debemos tener en cuenta, es la distancia de transmisión que depende significativamente de muchos factores tales como:
# Longitud de onda.
# Ruido.
# Potencia del transmisor.
# Calidad del receptor.
# Longitud de la antena.
# Ruido.
# Señales de transferencia.
# Otros.

Es por ello, que al momento de escoger un módulo de comunicación inalámbrica por radiofrecuencia debemos tomar en consideración los factores mencionados. Podemos mencionar, que es muy distinto enviar comandos a un robot tales como avanzar o retroceder a una distancia de 1000 m, que enviar video a la misma distancia con los mismos elementos.

APC220
Este módulo de comunicación inalámbrica tiene la ventaja de ser configurable, mientras que en otros módulos comerciales la frencuencia de oscilación del transmisor y el resonador del receptor estan determinados por el inductor y capacitor usados (valores fijos). Permite ajustar varios parámetros tanto los mencionados, como tener la ventaja de funcionar tanto de transmisor y receptor, permientiendo una comunicación bidireccional. 

Algunas de las características que posee el módulo son los siguientes:
# Frecuencia de trabajo: 418 MHz a 455 MHz.
# Alimentación: 3.3V a 5.5V
# Corriente consumida: 25 a 35 mA.
# Rango de transmisión: Hasta 1000m (a 2400 bps).
# Interfaz de comunicación: UART/TTL
# Rango de baudios: 1200 a 19200 bps.
# Buffer receptor: 256 bytes.
# Temperatura de trabajo: -20°C a +70°C.
# Cantidad de canales: Más de 100.
# Modulación: GFSK.
# Potencia de señal de salida: 20 mW

 Los módulos APC220 siempre constan de:
# 2 módulos receptor/transmisor APC220.
# 1 convertidor UART/TTL a RS232.

Algunas aplicaciones pueden ser:
# Medición automática (AMR).
# Sensado inalámbrico.
# Automatización industrial.
# Control de señal de tráfico.
# Control remoto y monitoreo.
# Gestión de tráfico.
# Reemplazo a sistema cableado.
# Detección de petroleo y gas.
# Control de robots.

Para mayor información puede descargar el "Manual APC220" que se encuentra en inglés.

CONEXIÓN DEL MÓDULO
El módulo puede conectarse a una computadora por medio de un covertidor UART/TTL a RS232. Este tiene la función de configurar el módulo de comunicación. El esquema de conexión es el siguiente:


El módulo también puede conectarse a un microcontrolador usando el siguiente esquema de conexión:


CONFIGURACIÓN INICIAL
El módulo antes de ser usado, debe de ser configurado (programado) tanto el receptor como el transmisor; para ello, conectamos como se muestra en la siguiente figura:


Luego, debemos bajar el programa APC22X_V1.2A. Para ejecutarlo y realizar una correcta configuración es necesario abrirlo como administrador.


Al abrir el programa aparecerá la siguiente ventana:


Ahora debemos verificar que el módulo se encuentra conectado. Al ser un módulo que crea un puerto USB virtual, este creará un puerto como "COM15" o similar, y esto ocasionará problemas al momento que el programa lea el módulo. Lo recomendable es tener un COM bajo (COM1 a COM5 es deseable). Al momento de hacer click en "Read" nos dará una respuesta como la siguiente:


Cerramos la ventana anterior. Para ajustar el puerto, debemos entrar al panel de control de nuestra PC. Estando dentro, encontraremos el dispositivo instalado y dando click derecho entraremos a sus propiedades.


Dentro de "Propiedades" abrimos la pestaña "Hardware" y en ella volvemos a entrar a "Propiedades".


Al abrir nos toparemos con una ventana "General" la cual tiene una opción "Cambiar la configuración".


Dentro de la ventana deberemos hacer click en la opción "Configuración de puerto" y en la misma entraremos a "Opciones avanzadas...".


Como último paso, en la ventana desplegable de "Número de puerto COM" escogemos una nueva que no esté en uso como el "COM5" y daremos click en aceptar.


Teniendo el puerto del convertidor solucionado, volvemos a entrar al programa como adiministrador y hacemos click en "Read". En la parte inferior debe aparecer "Found device!".


Ahora nos toca cambiar la configuración. Recomendamos para la prueba la siguiente:

RF Parameters:
# RF frequency: 434 MHz.
# RF TRx rate: 9600 bps.
# RF Power: 9 (Max).

Net Parameters:
# NET ID: 12345 (Este número puede ser cualquiera, pero debe ser igual para los dos módulos)
# NODE ID: 123456789012 el último número resaltado debe ser distinto para cada módulo, por lo que el siguiente podría ser (123456789013).
# AUTO ADD1: Sin check

Series Parameters:
# Series rate: 9600 bps.
# Series Patity: Disable.

Luego de haber ajustado la configuración, damos click en "Write" y nos debe dar como respuesta "write succeed!".


PROGRAMA DE PRUEBA
Para probar la correcta comunicación entre los dos módulos, haremos una prueba de "Hola mundo". Para ello debemos conectar el microcontrolador como se muestra.

  # RXD (APC220) ==> Pin 1 (Arduino Uno).
  # TXD (APC220) ==> Pin 0 (Arduino Uno).
  # GND (APC220) ==> GND (Arduino Uno).
  # VCC (APC220) ==> VCC (Arduino Uno).


Debemos tener en cuenta que al estar usando un Arduino UNO, se comparten los pines de RX y TX a la vez por el convertidor RS232 del Arduino UNO y el módulo de radiofrecuencia. Es por ello que al momento de querer compilar un nuevo programa, debemos desconectar el módulo de radiofrecuencia.

El programa de prueba no necesita ninguna librería y se muestra a continuación:
/*
   PROGRAMA DE PRUEBA: APC220
   CONEXION:
             RXD: Arduino Pin 1
             TXD: Arduino Pin 0
             GND: Arduino GND
             VCC: Arduino 5V
             
   Autor: Renato H.
   http://beetlecraft.blogspot.pe/
  
   El siguiente programa es de uso publico, cualquier modificacion o mal uso del mismo que pudiera 
   ocasionar el mal funcionamiento de la plataforma de uso de la misma no es responsabilidad del autor
*/

void setup(){
  Serial.begin(9600); // Velocidad de comunicacion
                      // La velocidad del puerto serial debe ser
                      // la misma que la de configuracion del modulo
}

void loop(){
 Serial.println("Hola mundo"); // Mensaje "Hola mundo"
 delay(1000);                  // Retraso de envio cada 1 segundo
}
Para verificar que el módulo está enviando el mensaje, conectaremos el módulo a la PC por medio del convertidor UART/TTL a RS232. La conexión es de la siguiente manera:


Luego de programar el Arduino, podemos alimentarlo en otra parte y abrir otra vez el entorno de programación y observaremos que al tener conectado el módulo con el convertidor en el puerto aparecerá el COM al que está conectado, en este caso el "COM5" que es el mismo del configurado en un paso anterior.


Al abrir el puerto, el mensaje deberá aparecer en pantalla como se muestra:


Autor: 

2 comentarios: