Alternativas a un interruptor DIP clásico

10

Estoy buscando una parte que permita a un usuario cambiar frecuentemente una configuración. Ahora mismo estoy utilizando un conmutador 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 también en la interfaz de usuario bastante tediosa. ¿Hay interruptores DIP o algo que tenga 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 permita al menos 64 estados diferentes. Es importante que la configuración se pueda realizar cuando el circuito no está encendido y proporciona informació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 tienes el mismo problema que yo, revisa todas las respuestas.

    
pregunta PTS

11 respuestas

19

Podría usar un interruptor SIP en lugar de un DIP. El ahorro en el área del tablero le daría espacio para su interfaz I2C (o una interfaz más simple como un registro de desplazamiento con bloqueo de entrada):

La imagen la muestra horizontal, pero en realidad se monta verticalmente.

    
respondido por el Finbarr
9

interruptor "DIP"

En primer lugar, un interruptor "DIP" no tiene que ser grande. Aquí hay un interruptor SMD de 6 bits con pines de gancho en J y un paso de 1,27 mm:

Potenciómetro

Si está desesperado por reducir la huella, y puede incomodar 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, dado 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 retenciones físicas. Esto significa que no tendrá ningún comentario táctico confiable para el usuario al configurar el dispositivo. También es difícil encontrar de manera confiable la configuración correcta en el arranque, ya que se puede dejar a la derecha 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, Los consideraría iguales.

Además, probablemente no use ese recortador de 2 por 2 mm, pero hay miles de recortes diferentes.

    
respondido por el pipe
9

¿Tienes un ADC de repuesto?

Si tiene un ADC de 8 bits de repuesto en un microcontrolador cercano, probablemente podría deshacerse del expansor de E / S a favor de una red de resistencias, 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á uno más pequeño que su expansor I2C.

¿Cuántas líneas IO de propósito general haces tienes?

Si puede arreglárselas con menos líneas de IO, ¿quizás pueda deshacerse del expansor de 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 tripados, entonces puede administrar 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 hace contra un capacitor. Necesitarí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.

    
respondido por el Jack B
6

Uno o más Interruptores rotativos codificados son lo que estás buscando.

Los puentes

teóricamente ofrecen más configuraciones cuando se requieren cientos de opciones porque los usuarios pueden abreviar cualquier cantidad de ellas en diferentes configuraciones, agregar resistencias, capacitores, diodos, etc., pero eso es muy técnico. para los usuarios y para que el tablero los descifre!

    
respondido por el Graeme Wicksted
4

NFC NTAG de NXP + smartphone Es básicamente una EEPROM I2C, que también puede leerse y escribirse a través de NFC sin la alimentación del sistema.

    
respondido por el filo
2

¡Muchas opciones geniales aquí! Otra más oscura: use un receptor de infrarrojos y luego use un control remoto de TV o una computadora para transferir los ajustes. Así es como lo hacen las luces RGB.

    
respondido por el Dithermaster
2

Mientras investigaba esto, recibí una recomendación para los interruptores codificados rotatorios. Su huella es comparable a un bit DIP de 1.27 mm equivalente. Aunque en mi opinión, ofrecen una interfaz de usuario muy superior en comparación con los conmutadores DIP / SIP.

En lugar de tener que convertir un número decimal o hexadecimal en binario y girar una tonelada de pequeños interruptores, simplemente puede activar 1 o 2 de estos interruptores rotativos y trabajar con números hexadecimales. Es mucho más fácil decirle a un usuario que "ingrese" E6 que instruirle para que opere muchos interruptores en un patrón específico.

    
respondido por el PTS
1

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.

Al girar el codificador cambiará entre los modos.

Es probable que tampoco ahorre mucho espacio: su codificador típico tiene un eje de 6 mm y también necesita espacio para los LED.

El simple uso de un solo interruptor giratorio no parece prometedor. Con 64 posiciones, terminaría con un poco menos de 6 ° por posición, sintiendo que el etiquetado será difícil.

Solo lea su comentario en la respuesta de @Trevors, por lo que este enfoque también es inútil.

    
respondido por el Arsenal
1

Tres opciones.

  1. Analógico. Un divisor de voltaje ajustable. El usuario suministra sus propios resistores de rango estándar del 5% para establecer el valor.

  2. PWM. Un circuito estilo opto aislado PWM o RC con 64 pasos que lee su dispositivo. Se pueden alimentar por separado o desde la misma fuente, pero como está aislado, su dispositivo no estará encendido. Puede deshabilitar el circuito PWM después del arranque.

  3. Digital. Un potenciómetro digital con pulsador de control. Nuevamente, el circuito puede alimentarse independientemente de su dispositivo.

respondido por el Passerby
1

Encoders de rueda de pulgar? Estos van de 0 a 9, son apilables y tienen salidas binarias:

    
respondido por el peter
0

Siempre puede sacar el I2C u otra interfaz, por ejemplo, USB y dejar que el usuario conecte su teléfono con una aplicación personalizada que le permita configurar algunas direcciones internas de EEPROM.

Sin embargo, usar una aplicación de teléfono puede ser bastante problemático. Tendría que admitir la aplicación y mantenerse al día con las últimas tecnologías, y tendría que admitir a muchos proveedores de teléfonos.

O puedes proporcionar un "Dongle" personalizado que se pueda conectar de forma similar.

Pero dudo que te ahorraría mucho espacio.

Si tiene otras entradas de usuario, diga dos o tres botones y algún tipo de indicador, también es posible, con la entrada de usuario apropiada 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.

Puedes hacer muchísimas cosas con dos o tres botones y un LED.

Si es necesario configurarlo mientras no esté encendido, estás casi atascado con interruptores o puentes.

    
respondido por el Trevor_G

Lea otras preguntas en las etiquetas