Cómo hacer un zócalo de auto-reconocimiento para diferentes conectores (sensores)

Estoy trabajando en un dispositivo electrónico, al que habrá muchos sensores en cables conectados a un panel con enchufes. ¿Hay alguna opción que reconozca qué sensor está conectado a qué enchufe? En la caja del dispositivo habrá muchos enchufes iguales.

Nunca hice algo como esto, pero creo que será posible con la resistividad entre algunos cables y la computadora reconocerá a través de esto qué sensor es. También tendré Arduino como esclavo, por lo que podré usar entradas/salidas analógicas.

Puede haber una opción en la que el sensor de tres hilos esté conectado a un conector de más pines y algunos pines se conecten entre sí y alguna lógica detrás del panel de enchufes reconozca lo que está conectado.

Los sensores son todos digitales, algunos de ellos utilizan 1 cable (DS18B20) y algunos I2C (BH1750)

Hojas de datos

esquemático

simular este circuito : esquema creado con CircuitLab

Debe editar su pregunta para explicar qué formato tiene la señal de cada sensor. Eso tendrá una gran influencia en la solución. Agregue enlaces a hojas de datos para cada uno de los sensores.

Respuestas (3)

Las ideas de I2C ya mencionadas por otros son buenas, pero adolecen de la complejidad necesaria para agregarlas al sensor o al cable y, dado que los dispositivos están activos, encenderlos puede ser un problema si no agrega suficientes pines al conector. para hacerlo

Un enfoque más simple es simplemente agregar una resistencia a cada dispositivo. Luego incluya un circuito en su placa para escanear cada enchufe en busca de la presencia de dicha resistencia usando un circuito ADC con un MUX y pull-up.

Este último podría conectarse directamente a su micro, o se podría agregar un micro escáner económico para monitorear el conector y comunicarse con su micro principal a través de I2C o serial, o lo que sea.

Sin embargo, una vez más, sin más información sobre cuál es su idea de "sensores", esta pregunta es demasiado amplia.

Puede usar un método analógico de resistencia o voltaje para determinar el sensor, pero eso requiere un pin adicional por sensor, además de una forma de comunicarlo al RPI.

En su lugar, mire los sensores i2c. Cada sensor tendría una dirección única y el RPI puede buscar estos sensores utilizando el paquete LM-sensor o i2c-tools.

Por supuesto, desea mezclar y combinar cómo se conectan estos sensores, por lo que se requiere una solución personalizada. Ya tienes la idea básica.

¿Puedes describirlo más detalladamente, por favor? Por ejemplo, para un sensor de 3 hilos y dos enchufes.
I2c es un bus, por lo que se conectarían en paralelo y el sistema i2c escanea la dirección del dispositivo. El sensor i2c solo responde al maestro cuando se llama a su dirección. Sensores Google rpi i2c para un ejemplo.

Los detalles de sus sensores no se comprenden bien (a partir de su pregunta, si soluciona esto, puede obtener mejores respuestas). Si no podemos asumir nada sobre el tipo de sensores, considere agregar un factor de forma pequeño I2C o SPI EEPROM en el cable del sensor para identificar el tipo de sensor. Por ejemplo, un monitor VGA se autoidentifica utilizando los pines 12 (ID1/SDA) y 15 (ID3/SCL) del cable VGA .

Usando esta técnica, sería trivial emplear los cálculos correctos necesarios para tratar con un termopar tipo T versus un termopar tipo K. Probablemente uno de estos sensores más simples (y duraderos) posibles.