Estoy buscando una parte que permita a un usuario cambiar con frecuencia una configuración. En este momento estoy utilizando un interruptor DIP SMD conectado a un expansor de E / S I2C.
Lo que me molesta es la gran huella de estos componentes (interruptor DIP combinado con IO expansor IC) y la interfaz de usuario bastante tediosa. ¿Hay interruptores DIP o algo que cumple la misma función con la que puedo hablar a través de un bus digital como I2C para leer su estado?
También estoy abierto a enfoques completamente diferentes. Todo lo que necesito es algo que pueda modificarse mecánicamente de manera permanente y que permita al menos 64 estados diferentes. Es importante que la configuración se pueda realizar cuando el circuito no está encendido y proporciona retroalimentación visual de la configuración exacta al usuario. La única forma en que estaría bien encender el circuito es si la configuración y la retroalimentación visual son independientes sin la necesidad de control desde un microcontrolador o SoC.
La pregunta está algo relacionada con esta pregunta de hace 6 años: reemplazo del interruptor DIP
Editar: Hay algunas sugerencias excelentes en las respuestas y creo que dejo esta pregunta sin respuesta, los votos de la comunidad deberían decidir qué es útil y qué no. Si tiene el mismo problema que yo, revise todas las respuestas.
Respuestas:
Puede usar un interruptor SIP en lugar de un DIP. El ahorro en el área de la placa le daría el espacio para su interfaz I2C (o una interfaz más simple como un registro de desplazamiento con pestillo de entrada):
La imagen lo muestra horizontal pero en realidad se monta verticalmente.
fuente
"Dip switch
En primer lugar, un interruptor "DIP" no tiene que ser grande. Aquí hay un interruptor SMD de 6 bits con clavijas de gancho en J y un paso de 1.27 mm:
Potenciómetro
Si está desesperado por reducir la huella y puede molestar un poco al usuario, puede usar un potenciómetro conectado a un convertidor A / D. Dado que necesita 64 configuraciones, un convertidor de 12 bits debe tener un margen de resolución más que suficiente para discernir entre los pasos, dados algunos filtros y umbrales eléctricos y de software. Aquí hay una solución de 2 por 2 mm:
Sin embargo, nunca he visto un potenciómetro analógico con 64 retenes físicos. Esto significa que no tendrá ningún comentario táctico confiable para el usuario cuando configure el dispositivo. También es difícil encontrar de manera confiable la configuración correcta en el arranque, ya que se puede dejar justo en un umbral entre dos configuraciones: almacenaría la configuración anterior en una EEPROM, y si el potenciómetro está lo suficientemente cerca del valor almacenado en el arranque, I los consideraría iguales.
Además, probablemente no usaría esa recortadora de 2 por 2 mm, pero hay miles de trimpots diferentes.
fuente
¿Tienes un ADC de repuesto?
Si tiene un ADC de 8 bits de repuesto en un microcontrolador cercano, probablemente podría deshacerse del expansor IO en favor de una red de resistencia, ya sea una escalera R-2R o una escalera ponderada binaria. Eso codificaría las posiciones del interruptor como un nivel analógico. Las escaleras de resistencia están disponibles en paquetes muy pequeños, pero no sé si obtendrá una más pequeña que su expansor I2C.
¿Cuántas líneas de propósito general IO qué tiene?
Si puede sobrevivir con menos líneas IO, ¿tal vez pueda deshacerse del expansor IO y usar las que tiene? Puede multiplexar los interruptores en menos de seis líneas IO. De hecho, si tiene espacio para 3 diodos y su microcontrolador tiene pines tristados, entonces puede manejarlos con solo 3 pines.
¿Pueden sus usuarios administrar algo un poco técnico?
Si sus usuarios pueden seguir las instrucciones, y la configuración solo cambia raramente, podría tener terminales abiertos donde puedan colocar una resistencia. Mediría la resistencia con un ADC, o midiendo la constante de tiempo que produce contra un condensador. Debería poder distinguir 64 valores de resistencia, lo que podría ser complicado con este último enfoque. Y, por supuesto, sus usuarios necesitarían tener a mano los valores de resistencia / estilos de caja correctos.
fuente
Uno o más interruptores rotativos codificados son lo que está buscando.
Teóricamente, los puentes ofrecen más configuraciones cuando se requieren cientos de opciones porque los usuarios pueden combinar cualquier cantidad de ellas en diferentes configuraciones, agregar resistencias, condensadores, diodos, etc. ¡Pero eso es muy técnico para los usuarios y para que la placa descifre!
fuente
NFC NTAG del teléfono inteligente NXP +. Básicamente es una EEPROM I2C, que también se puede leer y escribir sobre NFC sin alimentación del sistema.
fuente
¡Muchas opciones geniales aquí! Uno más oscuro: use un receptor de infrarrojos y luego use un control remoto del televisor o una computadora para ver la configuración. Así es como lo hacen las luces RGB.
fuente
Mientras investigaba esto, recibí una recomendación para interruptores codificados rotativos. Su huella es comparable a un interruptor DIP de paso de 1,27 mm equivalente. Aunque en mi opinión, ofrecen interfaces de usuario muy superiores en comparación con los conmutadores DIP / SIP.
En lugar de necesitar convertir un número decimal o hexadecimal a binario y mover una tonelada de pequeños interruptores, simplemente puede girar 1 o 2 de estos interruptores rotativos y trabajar con números hexadecimales. Mucho más fácil decirle a un usuario que "ingrese" E6 que ordenarle que active muchos interruptores en un patrón específico.
fuente
Un enfoque diferente podría ser un codificador rotatorio, una EEPROM y 6 LED pequeños.
El estado se guarda en la EEPROM y los LED indican el modo seleccionado actual.
Girando el codificador cambiará entre modos.
Probablemente tampoco ahorre mucho espacio: su codificador típico tiene un eje de 6 mm y luego también necesita espacio para los LED.
El simple uso de un solo interruptor giratorio no parece prometedor. Con 64 posiciones, terminaría con poco menos de 6 ° por posición, sintiendo que o el etiquetado se volverá difícil.
Simplemente lea su comentario @Trevors answer, por lo que este enfoque también es inútil.
fuente
Tres opciones
Término análogo. Un divisor de voltaje ajustable. El usuario suministra sus propias resistencias de rango estándar del 5% para establecer el valor.
PWM Un circuito de estilo optoaislado PWM o RC con 64 pasos que su dispositivo lee. Se pueden alimentar por separado o desde la misma fuente, pero como está optoaislado, su dispositivo no estará encendido. Puede deshabilitar el circuito PWM después del arranque.
Digital. Un potenciómetro digital con control de botón. Nuevamente, el circuito puede ser alimentado independientemente de su dispositivo.
fuente
Codificadores de la rueda del pulgar? Estos van de 0 a 9, son apilables y tienen salidas binarias:
fuente
Siempre puede sacar el I2C u otra interfaz, tal vez USB, y dejar que el usuario conecte su teléfono con una aplicación personalizada que le permite configurar alguna dirección EEPROM interna.
Sin embargo, usar una aplicación de teléfono puede ser bastante problemático. Debería admitir la aplicación y mantenerse actualizado con las últimas tecnologías, y necesitaría admitir muchos proveedores de teléfonos.
O puede proporcionar un "Dongle" personalizado que se conecta y le permite hacer algo similar.
Pero dudo que te ahorre mucho espacio.
Si tiene otras entradas del usuario, digamos dos o tres botones y algún tipo de indicador, también es posible, con la entrada apropiada del usuario en los botones (tiempo de espera, etc.), poner el dispositivo en un modo de programación y configurarlo de esa manera. Lo mismo que se ve en los electrodomésticos como termostatos, ablandadores de agua, computadoras, etc.
Puede hacer muchísimo con dos o tres botones y un LED.
Si necesita configurarse sin alimentación, está atascado con interruptores o puentes.
fuente