Botón "táctil" de PCB

10

¿Es posible usar una almohadilla de PCB como botón? Pienso en usarlo para encender un curcuit que solo se supone que está habilitado, cuando el usuario lo tiene en sus manos.

Como inspiración, utilicé los pads que se usan en los botones táctiles suaves en teclados o calculadoras:

ingrese la descripción de la imagen aquí

Sé que el cuerpo humano tiene una resistencia bastante alta, entonces, ¿cuál sería un circuito apropiado para detectar la entrada táctil? Solo hardware desnudo. No quiero usar ningún microcontrolador aquí.

mxcd
fuente
66
¿Te refieres a un sensor táctil capacitivo?
PlasmaHH
@PlasmaHH Esta podría ser otra posibilidad, pero pensé en algo como amplificar la corriente que fluye al puentear la almohadilla anterior con el dedo, desactivándola para operar un mosfet o algo así
mxcd
1
Dependiendo de los requisitos de potencia de su diseño, la detección capacitiva podría requerir mucha energía. Puede salirse con la suya a 50Hz (probablemente). Si tocas la puerta de un mos, enciendes el mos. Además, generalmente lo rompes, por lo que debe estar protegido de alguna manera, pero es un buen punto de partida.
Vladimir Cravero

Respuestas:

12

Por razones de confiabilidad, no elegiría un diseño de puerta abierta y confiaría en el ruido de 50Hz. Probablemente podría funcionar, pero su idea de usar dedos intercalados debería funcionar bastante bien.

La resistencia de la piel seca está en algún lugar entre 1k y 100k, por lo que podría pensar en un transistor NMOS (encuentre uno con protección ESD) y una gran extracción de, por ejemplo, 1M ohm. Luego puede usar el dedo como resistencia pull-up para encender el mosfet.

esquemático

simular este circuito : esquema creado con CircuitLab

También podría usar un transistor bipolar (o darlington), ya que son menos vulnerables a los defectos de ESD, pero no pueden suministrar una gran corriente en la salida si es necesario, por lo que necesitaría amortiguar la salida.

Un sensor capacitivo sería una solución alternativa, pero requiere un circuito más complicado.

Douwe66
fuente
2
Consideraría agregar una resistencia de 10k entre el cátodo de D1 y la unión entre R1 y el lado derecho del sensor para limitar la corriente instantánea en la puerta de M1 de una descarga estática y ayudar a D1 a hacer su trabajo generalmente disminuyendo la velocidad rápidamente bordes hacia abajo. Si encuentra que este circuito es particularmente propenso al ruido, un condensador de 100pF más o menos a través de R1 puede ayudarlo: ¡tendrá que construirlo y probarlo!
stefandz
Buen punto, lo
agregaré al
12

Es posible usar almohadillas de conexión resistivas como se muestra, pero las almohadillas capacitivas son generalmente mejores. Las almohadillas resistivas dejan una conexión directa al circuito abierta al exterior. Por lo tanto, son susceptibles a daños por descargas estáticas y ruido.

Las almohadillas capacitivas son un método mejor, aunque requieren un poco más de firmware para detectar, al menos si quieres hacerlo bien. Tenga en cuenta que para obtener una inmunidad al ruido incluso rudimentaria, las almohadillas resistivas también requieren firmware. Simplemente conectar dos pads a algo sensible, como la puerta de un FET, es una mala idea. No podrá cancelar el modo común y otros ruidos ambientales.

Aquí está el diseño de una pequeña placa que hice recientemente para investigar los botones capacitivos:

Las almohadillas de la tapa son discos pequeños de 150 milésimas de pulgada (3,8 mm) de diámetro y rodeados de tierra en la capa superior. El microcontrolador es un PIC 16LF1786. Esta y todas las otras partes que no son para interactuar directamente con el usuario están montadas en la parte inferior de esta placa de dos capas.

El PIC escanea continuamente las almohadillas. Cuando detecta un cambio en el sentido presionado / liberado de una almohadilla, envía un mensaje a través del puerto serie, actualiza las luces en la parte superior derecha y emite un pitido al presionar.

Para las pruebas, puedo hacer que el PIC envíe regularmente sus valores internos para la presión de cada pad. Aquí hay una gráfica de los cinco valores de sentido sin procesar, además del estado digital general de algo presionado cuando presioné cada pad sucesivamente con el dedo:

Como puede ver, la inmunidad al ruido es excepcional. Incluso la señal más débil era más de 300, mientras que el ruido era de ± 2 o menos.

La traza magenta con la etiqueta "Presionado" muestra el OR de los estados individuales de los botones presionados. Sus niveles muestran los umbrales de prensa y liberación. Hay mucha señal adicional que no se usa en este caso. Estos umbrales particulares se ajustaron para poder tolerar unas pocas capas de papel sobre los botones.

Por supuesto, hay un manejo inteligente de las líneas y el procesamiento de los botones, incluso si lo digo yo mismo, pero claramente los resultados se pueden lograr con un microcontrolador bastante modesto.

Estoy usando esto en un producto real donde el mismo micro también administra una pantalla de caracteres. Ese es un subsistema de interfaz de usuario básico que planeo reutilizar en varios productos futuros. Se conecta al controlador principal del sistema a través de un puerto serie. El controlador principal envía comandos para escribir en la pantalla y recibe mensajes asincrónicos cada vez que cambia el estado de un botón.

Olin Lathrop
fuente
¿Cuáles son las unidades del Yeje en tu parcela? ¿Las almohadillas simplemente están conectadas a las clavijas o hay otros componentes involucrados?
Dmitry Grigoryev
1
@Dmitry: el eje Y muestra la medida interna de "cuánto se toca el botón". Se deriva de los valores de A / D sin procesar, pero hay múltiples lecturas de A / D involucradas y hay un procesamiento significativo en esas lecturas. No se intentó mantenerlos en unidades particulares, ya que estos valores son relativos entre sí y umbrales ingresados ​​arbitrariamente. Más o menos, están en unidades de aproximadamente 800 uV de diferencia entre lecturas. 350 significa aproximadamente 280 mV, pero de nuevo, no es realmente tan simple.
Olin Lathrop
Entonces, ¿está manejando los pads alto y bajo, y mide algún tipo de velocidad de carga / descarga con ADC?
Dmitry Grigoryev
1
@Dmitry: estoy conduciendo algo más alto y más bajo, luego mido el cambio de paso en las pastillas. Nada está basado en el tiempo, aparte de permitir suficiente tiempo de establecimiento para tomar lecturas.
Olin Lathrop