apagador touch usando el modulo adc de un pic12f683

14
Apagador Touch Usando el Módulo ADC de un PIC12F683 By Ismael Sánchez Rincón (PicTrance)

Upload: romaja74

Post on 01-Dec-2015

101 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Apagador Touch Usando el

Módulo ADC de un PIC12F683

By Ismael Sánchez Rincón (PicTrance)

Page 2: Apagador Touch Usando El Modulo ADC de Un PIC12F683
Page 3: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Licencia.

Ismael Sánchez ([www.pictrance.blogspot.mx][[email protected]])

Algunos derechos reservados:

Obra liberada bajo licencia Creative Commons by-nc-sa.

Reconocimiento - NoComercial - CompartirIgual (by-nc-sa):

En cualquier explotación de la obra autorizada por la licencia haría falta reconocer

la autor/a. La explotación de la obra queda limitada a usos no comerciales. La

explotación autorizada incluye la creación de obras derivadas siempre que

mantengan la misma licencia al ser divulgadas.

Más información:

http://es.creativecommons.org/licencia/

Page 4: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Introducción

En este documento se tratará el diseño y construcción de un Apagador

Touch Usando el ADC de un PIC12F683.

Usando como referencia la nota de aplicación AN1298 [1], Capacitive Touch Using

Only an ADC (“CVD”), de Microchip

La creación de este proyecto fue inspirado por un proyecto similar mostrado en la

pagina www.hackaday.com el cual se llama [RobB's] house has no light

switches [2], y el corazón de ése proyecto es un microcontrolador ATtiny85 de la

marca Atmel, el cual usa comunicación bluetooth con un teléfono con Android pero

el módulo bluetooth se omite en este proyecto ya que lo que aquí se busca es un

proyecto simple, fiable y costeable.

Teoría y Funcionamiento

El funcionamiento de éste circuito se basa en usar el capacitor de

retención y muestreo “CHOLD” (fig.1) que hay en la entrada del módulo ADC, de

cualquier microcontrolador de la marca Microchip.

Fig. 1 diagrama a bloques del módulo ADC mostrando a “CHOLD”

Page 5: Apagador Touch Usando El Modulo ADC de Un PIC12F683

El capacitor “CHOLD” se carga poniendo un pin a VDD y después mandándola a

sensar otra entrada ADC, la cual estará conectada a una PCB o a alguna parte

metálica que sirva como sensor (fig. 2).

Fig. 2 diagrama a bloques general del funcionamiento de este sistema.

Cuando el ADC es mandado a sensar el pin que esta conectado el sensor externo,

este hace un divisor de voltaje con el capcitor “CHOLD” y que al ser tocada por la

mano, esta descarga parcialmente a CHOLD y así se puede sensar si se ha tocado

al sensor externo.

En la fig.3 se puede ver como es las forma de onda del capacitor de retención y

muestreo, al se cargada y sin tocar, y cuando es tocado el sensor.

Fig. 3 comparando la forma de onda cuando el sensor es tocado y sin tocar.

Para el funcionamiento de este circuito necesita lo siguiente:

Se usan dos entradas ADC como mínimo.

Una entrada ADC siempre estará conectada a VDD.

Todas las demás entradas ADC pueden ser sensores touch.

Page 6: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Pasos para el crear el programa (fig.4 y fig. 5):

Configure 2 pines como entradas ADC.

Una entrada ADC ponerla como salida y activarla a 1 lógico.

Leer el ADC a esa entrada.

Poner a GND la segunda entrada (es opcional).

Activar la segunda entrada como ADC, ésta estará conectada a un sensor

como una PCB o una placa de metal delgada.

Leer el ADC.

Fig. 4 Se muestra el momento en que el capacitor de retención y muestreo

(“CHOLD” )es cargado con el voltaje VDD.

Fig. 5. Se muestra cuando el capacitor “CHOLD” se conecta a la placa metálica que

se usa como sensor para hacer el divisor de voltaje.

Page 7: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Diseño del Circuito

Para la creación de este sensor touch se divido el circuito en 3 partes

1. Etapa de alimentación.

2. Etapa de sensado y control.

3. Etapa de potencia.

Y una extra que es la creación del PCB.

Etapa de alimentación:

Para la etapa de alimentación se eligió usar un circuito de reactancia

capacitiva [3], ya que el circuito no consume mucha corriente y para evitarse usar

transformador ya que estos son grandes y no caben en lugares con poco espacio

sin mencionar que se calientan rápido, se omitió el usar fuente conmutada por los

problemas de Interferencia Electromagnética (EMI, ElectroMagnetic

Interference) que generan.

El circuito de la fig. 6 es el circuito propuesto para alimentar al

microcontrolador [3].

Fig. 6. Circuito de reactancia capacitiva, usado para alimentar al circuito [3].

Page 8: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Etapa de Sensado y Control:

Para la etapa de sensado y control se eligió un PIC12F683 [4] (fig. 7) por

ser económico, traer entradas ADC, pocos pines y fácil de conseguir.

Fig. 7. Microcontrolador PIC12F683, propuesto para este proyecto

Etapa de potencia:

Para la etapa te potencia se eligió usar optoacopladores (OptoTriac´s) para

conectar al microcotrolador que estos a su vez manejaran a los TRIAC’s de

potencia para conectar al exterior.

Se omitió el uso de relevadores por su alto consumo de Corriente (potencia)

y el ruido acústico que generan, ya que este circuito no está pensado para

manejar cargas con más de 20A.

El opotoacoplador elegido es el “MOC3011” y el Triac “MAC24” aunque se

puede usar el MOC3014 sin ningún problema, en la fig.8 se muestra como se

conectan el MOC y el Triac.

Fig.8 Diagrama usado para conectar el MOC, el Triac y un foco.

Page 9: Apagador Touch Usando El Modulo ADC de Un PIC12F683

PCB

La placa de circuito impreso fue hecha con el programa Ultiborad de la

empresa National Instruments (fig. 9).

Fig. 9 diseño de la PCB en el programa Ultiborad

Programa (Firmware)

Para el programa se usó programación en C usando el compilador CCS, la

función principal del código para el proyecto es la siguiente (fig.10).

Fig. 10 Código donde se muestra cómo implementar el Sensor Touch.

Page 10: Apagador Touch Usando El Modulo ADC de Un PIC12F683

En el programa se pueden ver claramente cómo se ejecutan los pasos

propuestos por la Nota de aplicación de Micrichip para poder hacer el sensado,

ver fig. 11 y fig. 12.

Fig. 11. Carga del capacitor “CHOLD”.

Fig. 12. Aquí es donde se realiza la lectura del divisor de voltaje hecho por nuestro

cuerpo al acercar nuestra mano o alguna parte del cuerpo al sensor.

Page 11: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Resultados y Conclusiones:

Para verificar el correcto funcionamiento de este circuito se tomó una caja

para apagador para sobre poner en la pared y en una tapa ciega (fig. 12) se le

pego papel aluminio para que sirviera como sensor.

Fig. 13. Tapa ciega con papel aluminio usado como sensor touch.

Para la parte electrónica se armó todo en protoboard y para así poder ir

corrigiendo errores antes de construir todo en un PCB, en la fig. 13 se puede ver el

circuito de prueba de este proyecto, en la fig. 14 se puede ver funcionando este

circuito

Page 12: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Fig. 14 El circuito armado en protoboard y la caja con la tapa ciega con papel

aluminio para usar como sensor

Fig. 15 El circuito funcionando conectado a un foco de 4W.

** puede ver el video de las pruebas en protoboard en el siguiente link:

http://youtu.be/vOOk8XTGfTI

Page 13: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Después de verificar que todo estaba correcto, se hizo procedió al fabricar la PCB

para meter todo en la caja de plástico en la cual la tapa se le puso papel aluminio

que sirve como sensor.

Y el circuito final funcionando, lo puede ver en el siguiente video:

http://youtu.be/aqG-gbgNvPA

Page 14: Apagador Touch Usando El Modulo ADC de Un PIC12F683

Biografía:

[1] Nota de aplicación AN1298, Capacitive Touch Using Only an ADC (“CVD”),

Microchip, 2009. Link de descarga:

[2] Link de hakaday.com, [RobB's] house has no light switches:

http://hackaday.com/2012/07/04/robbs-house-has-no-light-switches/

Link del autor: http://blog.theultimatelabs.com/2012/07/bluetooth-capacitive-

touch-light-switch.html

[3] Circuito de alimentación disponible en:

http://www.micropic.es/mpblog/2004/05/minifuente-sin-transformador/

[4] Hoja de datos del microcontrolador PIC12F683:

http://ww1.microchip.com/downloads/en/devicedoc/41190c.pdf