Você está na página 1de 9

Secretaría de Educación Pública

TECNOLÓGICO NACIONAL DE MÉXICO


Instituto Tecnológico de Veracruz

PROYECTO

ALUMNOS:
URIEL CORRO CISNEROS
SANTILLAN GUEVARA JOSE ENRIQUE
VALENZUELA VICHY VALERIA

MATERIA
MECATRONICA

GRUPO Y CLAVE DE LA MATERIA:


DE 9:00 A 10:00
Objetivo General
Diseñar y construir un contacto eléctrico de 127 VCA a 60 Hz que sea activado por
tiempo o por medio de una señal bluetooth y se apague por sobre corriente.

Objetivos Específicos
Observar la función del PIC 18F4550 controlando el voltaje y la corriente por
medio de una señal bluetooth con la finalidad de encender un contacto
temporizado el cuál llegado un tiempo determinado se apagará con la ayuda del
módulo RTC.

Planteamiento del problema


Hoy en día la Domótica está siendo tema en boca de todos los que nos
apasionamos por la ingeniería y automatización de todo lo que esté funcionando.
La ventaja de los avances tecnológicos que tenemos ahora nos ayuda a globalizar
la automatización a otra escala nunca antes imaginada.
Este proyecto deja entre ver una pequeña parte de esto mencionado ya que por
medio de un dispositivo inteligente podemos controlar a distancia un contacto.
A día de hoy este tipo de aparatos existe pero no está muy popularizado,
esperamos que con este tipo de proyectos dados por los profesores la gente se
interese más por este tipo de tecnologías y abra un mercado nuevo en México.

Introducción
¿Qué es un Contacto Remoto Temporizado?
En este proyecto tenemos como finalidad el diseño y la construcción de un
contacto eléctrico que será controlado por medio de 2 módulos: RTC y Bluetooth
en función con el PIC 18F4550 para activar el contacto en la hora programada en
el reloj de tiempo real.
La función de este proyecto es controlar el voltaje y la corriente que activará el
contacto gracias a la señal del módulo Bluetooth y el tiempo en el RTC para que
posteriormente se desactive en el momento de sobre cargo de corriente indicado
por las señales de voltaje y corriente que estarán pasando por el contacto.
Marco teórico
EL DS1307.
Aunque de forma superficial, diré que el DS1307 es un reloj/calendario de baja
potencia, completo con 56 bytes de SRAM no-volátil. Como ya se ha mencionado,
el reloj/calendario del DS1307, provee información de segundos, minutos, horas,
día, fecha, mes y año. La fecha al final del mes durante los meses con menos de
31 días, se ajusta automáticamente e incluye las correcciones para el año bisiesto.
El reloj funciona en cualquiera de los formatos de hora 24 o 12 horas con indicador
AM/PM. El DS1307 tiene un circuito integrado en el sensor de energía que detecta
los fallos de alimentación y cambia automáticamente a la fuente de respaldo de
seguridad.

El acceso a los datos, se obtiene mediante la aplicación de una condición de inicio


(start) y la prestación de un código de identificación del dispositivo (0x68), seguido
de una dirección de registro. Los registros posteriores se puede acceder de forma
secuencial. El DS1307 viene en un paquete de 8-pines DIP, además de otros
formatos. El DS1307 cuenta en formato BCD.

El DS1307 utiliza un cristal externo de 32.768kHz. El circuito oscilador no necesita


resistencias o condensadores externos para funcionar. Puede encontrar más
información sobre el DS1307 en la red y también en este sitio.

Para conocer la estructura básica de un programa de Arduino, véase a partir de la


página 7 de: “Arduino Programming Notebook by Brian Evans“

Usando Arduino con el Atmega168 y un DS1307 (real time clock), vamos a tratar
de poner en funcionamiento el DS1307 por medio de dos cables (I²C) o pines
digitales D4 y D5 de Arduino. Estos dos pines SDA y SCL en algunos Arduinos no
necesitan de las típicas RPA (Resistencias de Polarización a Alto) ya que
disponen de unos puentes (jumps) para su uso, revise su Arduino por si los
dispone, lo propio es que tenga que conectar una resistencia (de entre 4k7 y 10k)
entre el positivo y el pin SDA y otra al pin SCL, debido a que estos, se presentan
con colector abierto o drenador abierto, revise el DS para más información.

Viendo la sencillez del circuito anterior, resulta evidente que no debe crearnos
desasosiego poner en practica este proyecto, nos permitirá poner en marcha el
reloj del DS1307 con la ayuda de un cristal, nuestro Arduino con un sencillo
programa y una batería del tipo botón de 3.2V la cual mantendrá el oscilador
interno cuando desconectemos la tensión de alimentación.

Esta es la foto (por ambos lados), que muestra el montaje que realice con los
pocos componentes que lleva. Respecto del cristal de cuarzo, como se aprecia,
estoy utilizando uno que desguacé, pertenecía a un reloj de pulsera, su precisión
es realmente buena, por lo que llevo en pruebas, desvía menos de un segundo
por mes, al menos eso es lo que muestra respecto del reloj de mi PC. Todos los
componentes, por unas pocas monedas, alrededor de 4€ o poco más, no siempre
es necesario adquirir materiales, es conveniente reciclar componentes de
montajes anteriores.
Cómo funciona el bus I2C explican un poco aquí. Básicamente es que los
Dispositivos I2C (sensores de mil tipos, voltímetros, memorias, LCD y displays,
relojes, dispositivos de audio y video, drivers para leds, … ) digamos que son
como miniordenadores. Van alimentados por 5v o 3.3V generalmente (2 cables), y
se comunican por otros 2 cables de datos que los recorren a todos a forma de red.
La distancia máxima de este cable puede ser hasta 8 – 10m según dicen,
dependiendo de lo bien que pongamos los cables y la velocidad de datos, pero
para leer sensores se suele hacer una vez por segundo o menos aún, y eso es
poco (velocidades altas con memorias por ejemplo igual si …). Aun así se puede
extender esa distancia con circuitos electrónicos que mejoran y repiten las señales
( hay hasta quien dice por ahí que ha llegado a una milla con I2C y todo ).
I2C
El protocolo I2C fue desarrollado por la empresa Philips, ahora llamada NXP, hace
ya bastante tiempo impulsado por la necesidad en el mercado de establecer una
interfaz que comunicara entre si varios dispositivos electrónicos y que ahorrara el
máximo número de patillas en los componentes. El I2C está diseñado como un
bus maestro-esclavo. La transferencia de datos es siempre inicializada por un
maestro; el esclavo reacciona. Es posible tener varios maestros mediante un
modo multimaestro, en el que se pueden comunicar dos maestros entre sí, de
modo que uno de ellos trabaja como esclavo. El arbitraje (control de acceso en el
bus) se rige por las especificaciones.
Escritura en un dispositivo esclavo:
1. Enviar una secuencia de inicio
2. Enviar la dirección de dispositivo con el bit de lectura/escritura en bajo
3. Enviar el número de registro interno en el que se desea escribir
4. Enviar el byte de dato
5. [Opcionalmente, enviar más bytes de dato]
6. Enviar la secuencia de parada

Características básicas del protocolo I2C


 El bus de comunicación utiliza dos cables. Uno para transmitir los datos
(SDA) y otro para la señal de reloj (SCL). Ambas líneas se tienen que
conectar a la alimentación (Vcc) a través de resistencias Pull-UP (en el
esquema del ejemplo se muestra el conexionado). Además, la masa de los
componentes que se interconexionan entre si debe de ser común.
 El protocolo de comunicación es del tipo Maestro-Esclavo, aunque el
protocolo permite que haya varios maestros, lo normal es que solo haya
uno, el dispositivo que hace de maestro es el que gobierna la comunicación
y es el que controla la señal de reloj (SCL). Los dispositivos que hacen de
esclavos responden a las peticiones del maestro.
 Cada dispositivo conectado al bus se identifica por una única dirección, el
protocolo admite utilizar 7 ó 10 bits para el direccionamiento, aunque lo
normal es que sean siete.

CCS dispone de librerías específicas para gestionar la comunicación I2C de


determinados componentes, entre ellos algunas memorias EEPROM. Basta con
incluir la librería correspondiente por medio de la directiva #include y utilizar sin
más las funciones de la librería. Pero si el componente que queremos utilizar no
dispone del driver pertinente en CCS, tenemos otra opción, que es desarrollar
nuestro propio driver, para ello disponemos como ayuda de una directiva
homologa a #use rs232 (options), se trata de #use i2c (options).

Al incluir esta directiva el compilador nos permite utilizar las siguientes funciones
para controlar la comunicación serie I2C entre varios dispositivos:

 i2c_isr_state()
 i2c_poll()
 i2c_read()
 i2c_slaveaddr()
 i2c_start()
 i2c_stop()
 i2c_write()

Además, los pics que soportan este tipo de comunicación disponen de módulos y
registros específicos para facilitar la comunicación I2C por hardware.

Diagrama de bloques
Evidencias
Circuito propuesto
Explicación
Básicamente utilizamos un módulo RTC para la sincronización de nuestro contacto
con la hora actual, de igual forma agregamos un apartado en donde se puede
configurar la hora y minutos al gusto del cliente en cuestión si es que requiera una
configuración manual. Al igual agregamos dos botones que apagan y prenden el
contacto para accesibilidad del cliente, esto con el fin de auto automatizar mas
allá. Incluso el apartado más difícil fue la configuración de la hora.

CONCLUSIONES
CORRO CISNEROS URIEL
Hablar del I2C bus, en nuestros días es, poco menos que arriesgado, hay que
afinar mucho en lo que se dice, ya que cualquiera ha realizado su descripción y
creo realmente que hay muy buenas descripciones y de esas, se bebe el
conocimiento, por parte de muchos aficionados a la electrónica, cuando tiene que
utilizar esta técnica de transmisión de datos como es el I2C-bus.

VALENZUELA VICHY VALERIA


Por mi parte, he de decir que, hasta hace algún tiempo, no había puesto ningún
empeño en ampliar mis conocimientos sobre la transmisión de datos, tal vez por
que no había tenido la necesidad. Sin embargo hace poco más de un año cuando
empecé a utilizar en mis ratos libres el Arduino, descubrí que disponía de dos
patillas que están dotadas de este protocolo o sistema de transmisión y bueno, mi
interés no paso de la curiosidad del momento, por lo que no entre en detalle.

Você também pode gostar