domingo, 26 de abril de 2009

Telecontrol gsm con un celular



Es una de las primera publicaciones que hice en este blog, pero en esta estoy incluyendo el esquema del circuito eléctrico y algunos tips para que puedan hacer el programa que les permita enviar un sms y llamar a un numero telefónico, todo de forma remota usando el celular.

Lo primero es conseguir un celular gsm que acepte los comandos AT, en este proyecto usé un Sony Ericsson T290, pero sirven los modelos T230, J300, Z300, T260.

El cable de comunicación entre el celular y el sistema que utilizo es el DCU-11, los pines que se deben usar son Rx (4), Tx (5), GND (10) y Power (11).


La comunicación

El pic que uso es el 16F628A, que ya tiene incorporado puerto serie, esto es una gran ventaja para comunicarse con el puerto del teléfono. Este circuito lo obtuve en Internet y funciona muy bien, la modificación que le hice fue dar vuelta los transistores para que el emisor quedara a masa.

Lo que hace el programa del pic:
Lo primero es enviar al teléfono por única vez el comando AT + CPMS="ME","ME", con esto elijo enviar los sms desde la memoria del teléfono y no desde el sim.

Para hacer una llamada: ATD5555555;.

Cuando el teléfono recibe este comando disca el numero 5555555 el punto y coma que está al final del numero no es un capricho, si no se pone el teléfono asume que la llamada es en modo dato.

Para enviar un mensaje se deben borrar todos los mensajes que existen en la memoria del teléfono, luego se escribe el mensaje a enviar, pero no lo enviamos, para que de esta forma quede almacenado en la memoria y en la primera posición.
Ahora pasamos a enviar el mensaje con el comando: AT + CMSS=1, esto le dice al teléfono que envíe el mensaje almacenado en la posición 1 de la memoria.

Con el comando AT + CMGD = 5, se borran los mensajes recibidos, en este caso borra el mensaje que está guardado en la posicion 5 de la memoria del teléfono.

El video:

Pido disculpa por que está en Ingles mal pronunciado por un uruguayo, lo hice para una revista de USA. Falta mostrar cuando se activan los dos canales de entrada en ese caso envía un sms de alerta.

domingo, 19 de abril de 2009

Microchip, Freescale, Texas innovan sus microcontroladores

Para ser más competitivos en una economía difícil, los fabricantes están innovando sus microcontroladores. Como siempre, la preocupación fundamental son aumentar la velocidad y la memoria de sus productos, pero son también la integración de otras funciones, como la pantalla táctil y capacidades avanzadas de protocolos de comunicación.

Microchip Technology Inc. 's PIC18F87J90 este microcontrolador de 8-bit con controlador de LCD- 64-128 KB Flash y 4 KB de memoria RAM. Se dice que es en la industria el primer microcontrolador de 8-bit que incluye un reloj en tiempo real y calendario (RTCC) y una unidad de medida de tiempo de carga (CTMU).
El PIC18F87J90 está dirigido a integrarse en las aplicaciones que utilizan interfases de usuarios táctiles capacitivas o inductivas.



Freescale Semiconductor's MPC8569E III es un procesador de alto rendimiento, de bajo consumo. Dirigido a las aplicaciones avanzadas de comunicaciones inalámbricas, con el apoyo de una amplia gama de protocolos inalámbricos de hasta 1,3 GHz. Está diseñado para hacer frente a la demanda de bajo costo para la operación de equipos de acceso de banda ancha, tales como estaciones base 3G/WiMAX/LTE, RNC, pasarelas y ATM / TDM / IP de los equipos.



Texas Instruments de 32-bit TMS320F2802x/F2803x microcontroladores

Estos están dirigidos para aplicaciones sensibles al coste. A partir de menos de 2 dólares cada uno, el nuevo microcontrolador "Piccolo", como son conocidos, con característica arquitectónica, avances periféricos y el aumento de los tamaños en el encapsulado a partir de 38 pines. Su rendimiento en tiempo real hace que el dispositivo sea un candidato para la industria, los consumidores y de las aplicaciones de automatización, tales como la energía solar micro inversores, iluminación con LED, los aparatos de línea blanca, línea eléctrica de comunicaciones y cargadores de baterías para los automóviles híbridos.









Leer más: Design News.

miércoles, 1 de abril de 2009

Reloj con el DS1307 ajustable por PC


Buscando un CI que actuara como reloj encontré el PCF8583P de Philips y el DS1307 fabricado por Dallas Semiconductor.
En el PC8583P observé dos cosas que no me gustaron, la primera es que no tiene una entrada para conectar una batería de respaldo, y la segunda es que la fecha no se ajusta al cambio del mes. Hice la siguiente prueba: configuré la hora 23:59:00 y la fecha 31/12/08, al cabo de un minuto la fecha indicaba 32/12/08.

El reloj DS1307 permite contar: horas, minutos, segundos, fecha, mes, año y día de la semana, y esta compensado hasta el año 2100.
Posee una entrada para conectar una batería de respaldo de 3V, y haciendo la prueba anterior, el DS1307 respondió de forma correcta con la fecha 01/01/09.

La comunicación entre el reloj y el pic se hace por el bus I2C, y el pic empleado en este proyecto es el 16F88 que posee puerto serie y bus I2C.
La configuración del reloj se hace vía PC a través del puerto serie.
Para probar el circuito se usó el programa de simulación Proteus 7.2, el único cristal presente en el circuito es el del reloj con una frecuencia de oscilación de 32.768KHz.
El pic trabaja con una frecuencia de 4MHz provista por el oscilador interno que tiene incorporado.

El programa.

El programa fue escrito en lenguaje C usando el compilador CCS versión 4.02, la biblioteca del DS1307 no está incorporada en el compilador la que uso la obtuve en Internet.
Después de configurar al microcontrolador queda habilitada la interrupción para recibir
datos desde la PC.
Cada vez que se pulsa una tecla en el teclado de la PC se produce la interrupción de lectura del puerto serie, el valor ingresado se compara con el número 123 (puede ser otro) si coincide con este valor se va a la función de ajuste del RTC, en caso contrario, se va a la función que muestra la hora y la fecha.
Todo esto es lo que hace el programa, a tener en cuenta es que los datos que se almacenan en el RTC son convertidos a BCD, en la biblioteca del DS1307 está la función que hace la conversión de binario->BCD y BCD->binario.
Los datos que se ingresan se deben hacer con la tecla Alt presionada, por ejemplo: Alt 0123 después suelte la tecla Alt, y se ingresa al modo de ajuste del RTC .
Para ingresar un dato de 2 dígitos haga lo siguiente; por ejemplo: 59 minutos, digite Alt 059 y luego suelte la tecla Alt, el cero entes de la cifra es importante de lo contrario no acepta el dato.
No existe tecla de retorno en caso de haber ingresado mal un dato se debe repetir el proceso de ajuste.
Para ver la hora y fecha actualizada solo tiene que presionar cualquier tecla.
El programa que se usa para ver funcionando el sistema en la PC, es a través de Hiperterminal de Windows, se ajusta para “9600” bauds, bits de datos “8”, paridad “ninguna”, bit de stop “1”, control de flujo “ninguno”.

El propósito de todo esto es el de investigar el funcionamiento de un reloj de tiempo real (RTC), y quizás ayudar a alguien que necesita incorporar un RTC a su proyecto.

Fuentes:

DS1307 es el proyecto para descargar con el código fuente y circuito para simular.

Para bajar el compilador PIC-C version 4.023 .

Proteus 7.2 programa para simular circuitos.

Hoja de datos del DS1307.