Teclado capacitivo Mtouch 16 sensores


Hola otra vez, no ha pasado mucho tiempo a ver si las ideas siguen fluyendo así.
Últimamente habéis visto un par de cosas relacionadas con los sensores capacitivos en este blog y no os podéis creer las calenturas de cabeza que me han dado. Por fin he llegado al final del trayecto con ellos y me han quedado claras algunas cosas (EMHO) que quiero dejar plasmadas aquí.
El tema de los sensores capacitivos está un poco de moda, desde que Apple decidió incorporarlos a sus iPod, las placas de las cocinas eliminaron los paneles frontales y en algunas zonas públicas se incorporaban como una superficie interactiva y fácil de limpiar (sin bordes ni pulsadores).
Últimamente han aparecido unas cuantas empresas que han puesto a nuestra disposición controladores para este tipo de sensores y en ellos he estado inmerso en los últimos tiempos.

Antecedentes
El primer contacto, fue con la serie 10F de Microchip, en concreto con el 10F206 con buenos resultados al final, pero con el inconveniente de la necesidad de implementar un firmware (con su correspondiente programación del micro) para un solo sensor:



Personalmente, creo que para un solo sensor la mejor solución es el QT100A de Quantum. No hay que cargarle ningún firmware, y la sensibilidad depende de una pequeña red RC. Muy simple de implementar. Es el que he usado para el juego de la vida y en una pequeña PCB prototipo de dos sensores:



Con los buenos resultados del QT100A me decidía probar algo "más grande" y de la misma marca, el Qt1081 controlador de 8 sensores.
Lo más dificultoso de manejar es su encapsulado 32QFN. Es diabólico para los que hacemos las cosas desde nuestra casa :) y un inconveniente a mi entender es su procesamiento "paralelo" de los sensores. Es decir, tenemos 8 entradas de sensado y 8 salidas y además necesitamos implementar 8 redes RC que nos dan la sensibilidad y nos modifican el burst del pulso que hace la detección.
Esta era la placa controladora con su teclado:



Los resultados, además de ser un poco engorroso el tema de las RC, no fueron lo que yo esperaba. Demasiada circuitería en el diseño:
Controladores QT1081, PIC para gestionar las I/O con la USART, alimentación y conversor de niveles. Para mi aplicación en particular eran demasiados componentes.
Para lo que sí lo he encontrado muy interesante es para teclados de reducidadas dimensiones tipo iPod por su elevada integración y tensión de trabajo. Además una PCB de tamaño reducido acabaría con los problemas que yo me encontré en estas dimensiones.

A través de un amigo de un foro conocí los MPR084 de Freescale. Se antojaban interesantes. Con conexión I2C eran más manejables y además son configurables por software.
La programación es muy sencilla, pero despues de un par de intentos, no se adaptaban a mi diseño:

  • Necesitaba hacer un cambio de niveles de tensión del bus I2C y el PCA9306 me metía demasiado ruido.
Hice dos pruebas con planos de masa y sin ellos ( doble cara y simple cara ) y no me resultaron satisfactorios. Vamos que no me funcionó como yo quería.
Me releí los datasheets y las AppNotes, pero creo que las dimensiones de la PCB eran un problema .
A simple cara con la controladora:



Y a doble cara con plano de masa:





Finalmente, y después de haber pasado por un seminario de Microchip con el amigo Desig, de toquetear las placas con sus mtouch y sus placas de metacrilato sobre ellas, me dije que había que intentarlo.
El candidato, el PIC16LF727, un TQFP44 dedicado a sensores táctiles (además de otras aplicaciones), 3.3v de alimentación y de la serie nanoWatt de bajo consumo (60nA a 2v en standby!).

El diseño
El diseño, como manda Microchip. Esta vez a doble cara y con plano de masa para aislar pads.
Los componentes alrededor del PIC... un condensador de 100nF de desacople y una resistencia al MCLR (costumbre de la casa).
Todo está hecho en programación, los ajustes, los delays, los antirebotes , el control de pulsación...
El esquema es como sigue:



Le he añadido como comunicación serie un convertidor TTL-USB en la propia placa que al mismo tiempo me proporciona a través del FT232RL los 3.3v necesarios para alimentarlo.
Así, un solo cable y conexión USB.
Tambien incorpora una conexión de alimentación externa (3.3v) seleccionable con un jumper de soldadura y si no se quiere implementar el conversor, pues existen dos pads en la PCB que son el TX/RX de la USART del PIC16LF727

La PCB

Pues como ya comenté en un párrafo anterior, a doble cara para hacer que el plano de masa me bloquee cualquier falsa detección sobre las pistas de los pines de sensado en la cara inferior.
Lo he probado y de verdad que es muy eficiente siempre que el threshold esté bien calibrado.
Esta es la PCB:



Resultado Final

El resultado ha superado todas mis expectativas en cuanto a sencillez de diseño, integración y calibrado.
La placa ha quedado así:





Y le he incorporado un panel de metacrilato de unos 2mm haciendo sandwich con una carátula (impresa en papel foto con una impresora de inyección EPSON) y la PCB resultando esto:



He escrito un pequeño programa para monitorizar el funcionamiento del teclado y ajustar desde el PC el threshold de los sensores y su histéresis y el resultado lo podéis ver en este pequeño vídeo.
Ha quedado un poco oscuro... a ver si alguien me regala una cámara HD :) y hago mejores vídeos



Salu2,
Droky

21 comentarios:

Xavier Belanche dijo...

Como siempre, fantástico!

radikal dijo...

Immpresionante.

¡ Quemos un seminario sobre protocolos !

Felicidades

pabloko dijo...

Hola, una pregunta, estoy interesado en mtouch pero es para el ambito industrial, y he visto que con facilidad se producen fallos con emisores de radiofrecuencias, como un telefono movil cerca, vi claramente como el mtouch de microchip accionaba botones arcaicamente, has probado algo de esto?

droky dijo...

Hola Pabloko.
He probado lo del móvil y no hace ninguna intereferencia que lo vuelva loco. En el seminario de Microchip, tampoco hemos visto que se vuelva loco.
Ahora bien, para un entorno industrial quizás necesites certificarlo EMI en un banco de pruebas como cualquier dispositivo industrial. También es posible que sea necesario un blindaje del circuito para evitar interferencias en maquinaria industrial como grandes motores o sistemas de desplazamiento electromágneticos o grandes cargas inductivas cercanas.
Salu2

pabloko dijo...

Hola, si, conozco el procedimiento jeje no me voy a tirar a la piscina de primeras y voy a hacer alguna prueba, para que veas el fallo que te digo, lo puedes ver aqui http://www.youtube.com/watch?v=_gL2VhAPEbA

Me voy a intentar animar a montar un panel como el tuyo, creo que con 3 entradas simplemente se pueden obtener los 8 pads, vi algo en una AppNote... y me gustaria probarlo, estoy por intentar montar un panel para una mesa de mezclas y sistituir el mecanico...

Sabeis si se pueden colocar los componentes detras de los pads, o la misma corriente del circuito hara interferencia...

saludos, gran trabajo amigos

droky dijo...

Hola Pabloko,
Ese es el video al que me refiero. Es el único que circula por internet. Yo he hecho la misma prueba y no pasa nada. Ahora bien, si aumentas mucho la sensibilidad de los sensores desde el PC, con pasar la mano a esa distancia, aunque lleves un móvil o una patata agarrada, haces que se activen los sensores, muchos a la vez. Hoax tal vez??
Sobre poner los componentes detrás de los pads... pues a mi no me ha quedado más remedio y así lo he hecho. Pero es posible que puedan llegar a afectar a los sensores.
Y lo de las 3 entradas y los 8 pads... pues no lo he visto y me he tragado muchas Appnotes. Si lo encuentras, házmelo saber.
Salu2

pabloko dijo...

aqui puedes ver lo relaccionado con multiples pads con pocas entradas

http://ww1.microchip.com/downloads/en/AppNotes/01104A.pdf

Este sistema me esta empezando a desilusionar, hago pruebas y veo que es muy dificil obtener un resultado, no es algo con lo que pueda trabajar fiablemente, probando probando, imprimí una placa con bandas laterales clonando la forma que tienen en un panel resistivo, parece que voy a poder leer una frecuencia determinada y obtener la posicion x e y, creo que este metodo va aser mucho mas sencillo aunque mucho menos geek

de todas formas me gusta muchisimo la idea, seguid con ello puesto que no hay mucho similar por ahi todavia, me alegro por vosotros

saludos

pabloko dijo...

Me he encontrado una web de un ruso que se curra un teclado de 36 botones con monedas, echarle un vistazo es bastante explicativo
http://www.pic24.ru/doku.php/en/osa/articles/pk2_osa_piano

droky dijo...

Interesante montaje. Estaría bien verlo sobre una PCB en lugar de las monedas.
Gracias por el enlace.
Salu2,
Droky

foras dijo...

tengo yo una duda general. Que programa usas para hacer los esquemáticos y los diseños de las PCBs?

droky dijo...

Hola foras,
Usamos Eagle, siempre Eagle.
Salu2

Meta dijo...

Hola:

impresionante los trabajos.

¿Le interesa enlazarnos con nuestros Blog?

http://electronica-pic.blogspot.com

Saludo.

droky dijo...

Hola Meta ¿Meta de TodoPic?
No hay problema, ya estás linkado.
Salu2

julio cesar dijo...

Felicidades por este hermoso proyecto la verdad con esto que lo Touch esta de moda te quedo exelente, solo una pregunta que programa usas para hacer la hoja esquematica del circuito, la verdad no la lonosco.

droky dijo...

Los esquemas y PCBs están hechas con Eagle.
Salu2

Sir dijo...

Hola,

Muy Interesante...

Una pregunta tonta...

¿cuanto de grosor puedes poner delante del teclado para que siga funcionado...?

¿Podrias interactuar detras de un cristal de unos 5 mm?

Salu2

droky dijo...

Según las especificaciones de Microchip, sí que funcionaría.
Salu2

Anónimo dijo...

Hola, yo solo tengo nocines de electrónica, pero estaba buscando justo esto para un proyecto en el que estoy metido. ¿Como podría hacerme con la placa?, ¿Vosotros me montariais una?, no me importa si me cobras, es mas seguro que hacerla yo por que no tengo mucha idea.

Te pido por favor que me ayudes con esto, puedes contestarme en wikawi@hotmail.com, gracias de antemano, un saludo,

piruletin dijo...

Buenas,

Me ha encantado este proyecto para entretenerme en casa, pero al contrario que en otros de tus proyectos no estan los esquemas ni los fuentes, no sé si se trata de un error o que no quieres publicarlos.

Si fuese posible me gustaría tenerlos para probarlo en mi casa.

Saludos

piruletin@telefonica.net

Anónimo dijo...

Muy buenas.

Excelente trabajo, muy bueno e interesante, muy llamativo a la gana de realizarlo. Pero tengo algunas dudas, el componente para el sensor tanto en el esquematico (touch_isiscuadrado) como para la PCB lo diseñaste o es que hay para bajarselo como libreria de la página del Eagle??, en cuanto al conector USB, junto con el FT232, lo puedo sacar del circuito supongo?
Muchas gracias.
nose410@hotmail.com

Eduardo Hdz. dijo...

Simplemente genial esta de lujo el proyecto, me diste muchas ideas gracias.

 
RaDiKalDeSIG | Designed by Techtrends | © 2007-2008 All rights reserved