viernes, 31 de octubre de 2008

Telecontrol G7


Quien no ha deseado llegar a la casa y tener encendida la calefacción, o al irnos de vacaciones despreocuparnos de conseguir un familiar que nos riegue las plantas, o enterarnos de algún modo que está sonando la alarma del auto que está estacionado a 2 cuadras del trabajo. Estas son algunas de las situaciones que se dan a menudo en nuestro diario vivir y por esa razón hice este dispositivo que puede ser de utilidad para alguien.

La propuesta:

Decidí hacer este proyecto por que quería controlar de forma remota un dispositivo eléctrico empleando un celular, en mi caso se trata de una bomba de agua que se encuentra a 500 metros de la casa.
Gracias a la tecnología GSM, el bajo costo de los aparatos celulares y los paquetes económicos de mensajes SMS que ofrecen las empresas proveedoras de servicio de telefonía celular, hacen posible este tipo de dispositivo, que a mas de uno le puede interesar usar en su hogar, comercio o industria.

Empleando el puerto serie incorporado en los teléfonos móviles es posible diseñar sistemas de telecontrol.
Mediante el envío de mensajes SMS se puede encender o apagar un artefacto eléctrico como: sistemas de riegos, sistemas de iluminación, maquinas expendedoras de bebidas, etc.
Al generase una situación de alarma en el equipo a controlar, el sistema G7 dispone de 2 entradas que al activarse envía un SMS describiendo que entrada fue la que generó el mensaje de alerta.
Enviando un SMS se puede interrogar al sistema e inmediatamente este le reenvía un SMS con el estado en el que se encuentran las entradas y salida.
Para la activación remota de un dispositivo se dispone de una salida la cual se puede controlar enviando un mensaje breve, al recibirlo el G7 lo procesa y lo ejecuta y posteriormente envía un mensaje corto confirmando la acción.
Los SMS de alerta y confirmación enviados por el G7 son almacenados directamente en el borrador del celular.

Aplicaciones:

Sistemas de alarma de vehículos o inmuebles.
Aviso de disparo de sensores: termostatos, presostatos, detectores de nivel, etc.
Domótica.
Sistemas de riego.
Formando parte de una automatización a la entrada de un PLC.
Características:
Los mensajes de alerta, confirmación y comando son almacenados en el teléfono.
Posee 2 entradas que se activa una poniéndola a masa con un contacto NA y la otra aplicando tensión.
Una salida por rele de 220 V / 5 A.
Alimentación a través de un adaptador de corriente entre 9V a 12V DC / 500mA.
Esta incorporado el cargador de batería del teléfono.
Batería de respaldo de 9V en caso fallar la alimentación principal.
En el caso de faltar la alimentación principal y la de respaldo los datos de configuración permanecen inalterables en la memoria Eeprom del micro.
Led que indica el estado de funcionamiento.

El proyecto:

Traté de que fuera fácil de usar y de emplear materiales económicos y factibles de conseguir en Uruguay. El celular usado es un Sony Ericsson T290 i, pero también se puede usar el modelo T230 o J300i fabricados también por la Sony Ericsson.
En general sirven los teléfonos que acepten los comandos AT y que posean MODEM.

Comunicación de datos en la red GSM:

Podemos dividir la comunicación de datos en la red GSM en tres tipos:
CSD- Circuit Switched Data. Básicamente sustituye a una línea telefónica fija. Posee velocidades que pueden alcanzar los 14400 bps y es tarifado en función del tiempo, independientemente de la cantidad de datos transmitido. Por lo tanto, para reducir costos la conexión solo es hecha cuando hay datos para ser transmitidos.
GPRS- General Packet Radio Service. Es una conexión a una red de paquetes de datos. Una vez conectado en esa red, el sistema está siempre “on line” pudiendo transferir datos inmediatamente, se tarifa solamente sobre los datos transmitidos sin considerar el tiempo de conexión. Como GPRS es compatible con el protocolo TCP/IP, las operadoras de GSM ponen a disposición un gateway para Internet, posibilitando controlar equipos a través de Internet. Este sistema está siendo muy utilizado debido a la flexibilidad y bajo costo de operación.
SMS- Short Message Service. Es el servicio de envío y recepción de pequeños mensajes de texto (hasta 160 caracteres). Es de fácil implementación, y se tarifa en función de los mensajes enviados.

La comunicación:
La comunicación entre el celular y el sistema se realiza usando los comandos AT.
El cable de comunicación entre el celular y la placa controladora es el modelo DCU-11 que viene para conectar al puerto USB de la PC, para esta aplicación, lo tuve que desarmar y adaptar, en concreto, lo único que uso es el conector para el teléfono y un trozo del conductor.






La placa controladora:


Utilizo el microcontrolador pic 16F628A, no es caro y ya tiene incorporado puerto serie (Usart), lo que simplifica mucho la programación y la comunicación con el teléfono.
En la placa existen borneras para conectar el cable de comunicación con el celular, para los sensores, para el artefacto eléctrico a controlar, para la alimentación principal y la batería de respaldo.



Existe un jumper que sirve para entrar en el modo de programación, cuando esta puesto, el micro obtiene del teléfono los mensajes comandos y el número del celular de quien lo envía. Toda esta información se almacena en la memoria eeprom (no volátil) del micro y es usado luego por el programa principal para comparar con los mensajes recibidos.

El firmware:

Una de las tareas del programa es revisar el estado de las entradas y si alguna esta activa envía el mensaje avisando cual se activo.
Luego chequea en el celular la bandeja de entrada de mensajes, si ingresó uno nuevo, lo lee y obtiene el número del celular que lo envió y una parte del mensaje, para luego comparar con los datos que residen en la eeprom del micro y de coincidir con alguno de los datos almacenados, se ejecutará la tarea que le fue solicitado hacer, el siguiente paso es borrar el mensaje en el celular para dar lugar a que ingresen nuevos mensajes. En concreto para validar un comando debe coincidir el número de teléfono de quien envía el SMS más el texto del mensaje con los datos que están almacenados en la eeprom.
El programa del microcontrolador (firmware) fue escrito en lenguaje “C” empleando el compilador CCS.

Los mensajes:

Los mensajes los proceso en el modo PDU, si uno los lee no entiende nada porque está formado por una cadena de caracteres en hexadecimal. Lo que utilizo es el número telefónico de quien envía el SMS y una parte del texto del mensaje, todo lo demás (fecha, hora, número del centro de mensajes, etc) lo descarto.

Conclusión:

Fue bastante complejo hacer este proyecto ya que establecer la comunicación con el celular y el sistema fue lo mas difícil de lograr, es mas llegué a pensar que no podría pero como soy porfiado no paré hasta lograrlo. En cuanto a los materiales no hubo problemas ya que se consiguen en plaza.
Este sistema puede crecer aún mas, tiene capacidad para manejar 3 salidas y 4 entradas en total, por eso pienso que aún no he terminado.
Si a alguien le interesó me gustaría conocer su opinión.

INSTRUCTIVO.

El sistema posee dos entradas Z1y Z2 y una salida a reley.
La entrada Z1 se activa cuando se aplica un pulso o un nivel constante de tensión continua entre 6 V y 15V, y la entrada Z2 se activa cuando el contacto normal cerrado de un sensor se abre.
Programación:
1º) Borre todos los mensajes recibidos y enviados del celular que se usa en el sistema de telecontrol G7.
2º) Escriba en este celular el mensaje que se va a enviar cuando se activa la entrada Z1, por ejemplo: Tanque de agua lleno. Luego deberá ingresar el número de celular a quien desea que llegue este mensaje. Lo siguiente es guardar este mensaje en la carpeta de “Elementos no enviados”, esta es una opción que se activa al no enviar el mensaje.
3º) Escriba el mensaje que se va a enviar cuando se activa la entrada Z2, por ejemplo: Alarma activada, siguiendo el procedimiento descrito en el numeral 2.
4º) Escriba el mensaje que se va a enviar cuando se activa la salida, por ejemplo: Motor encendido, siguiendo el procedimiento descrito en el numeral 2.
5º) Escriba el mensaje que se va a enviar cuando se desactiva la salida, por ejemplo: Motor apagado, siguiendo el procedimiento descrito en el numeral 2.
6º) Desde el celular que usted usa para apagar/encender y recibir los mensajes que envía el sistema G7, deberá enviar los mensajes de control al celular que es usado por el telecontrol G7. El primer mensaje de control a enviar, es el de reporte de estado de la salida, el segundo mensaje, es con la orden de encender, por ejemplo: Encender motor, y por último, deberá enviar el mensaje con la orden de apagar, por ejemplo: Apagar motor.
7º) Conecte el celular a la placa a través del cable (verifique que esté encendido), luego alimente la placa con tensión de corriente continua (12V), el led comenzará a parpadear, coloque el jumper, el led quedará encendido de forma permanente, quite el jumper, espere unos segundos, cuando el led comience a parpadear nuevamente, el sistema ya está pronto para comenzar a funcionar.

Diagrama del cableado:

La entrada Z1 se activa cuando se aplica un pulso de tensión con una duración mayor a los 100 ms, o una tensión de valor constante, en ambos casos entre 6V a 15V y con referencia al borne COM.
La entrada Z2 se activa cuando se abre el contacto normal cerrado (NC) del sensor conectado al borne Z2 y el borne COM.
La salida del relay es normal abierto y soporta un tensión de 220V alterna y una corriente de carga de 8A.
La entrada de tensión de alimentación del sistema debe ser de corriente continua entre 9V y 12V y una corriente de 500mA.La batería de respaldo es de 9V.