Solución para aceptar 3-24v como alta digital para microcontrolador

2

Busco cualquier sugerencia para convertir una entrada digital en el rango de 3-24vdc a una señal de 3.3v para un microcontrolador.

Necesito manejar un total de 32 entradas (cada una de las cuales puede variar en cualquier lugar entre esos voltajes), por lo que la densidad es más importante que el costo.

Alguien sugirió un búfer hexadecimal no inversor como el CD4050 de TI ( enlace ) podría ser el solución, pero no estoy completamente seguro de si manejará múltiples voltajes de entrada diferentes.

Gracias de antemano por tus sugerencias.

EDITAR: Las entradas se conectarán a:

  1. Varios interruptores mecánicos que pueden llevar la línea a GND oa un voltaje en cualquier lugar dentro del rango dado de 3-24v

o

  1. Sensores de varios tipos con salidas digitales. Esas salidas podrían ser bajas (gnd) o altas con voltajes que podrían estar en cualquier lugar dentro del rango de 3-24v dado, según el tipo, la marca y el modelo del sensor.

Cualquiera de las entradas podría estar conectada a cualquier tipo de interruptor o sensor dentro de los límites especificados anteriormente.

EDIT 2: Desgraciadamente, los multiplexores y similares no son posibles, ya que los tiempos son MUY ajustados y las interrupciones de prioridad variable se deben utilizar ampliamente, lo que requiere conexiones directas a los pines del microcontrolador.

    
pregunta Lachlan Fletcher

4 respuestas

6

Puede utilizar dos transistores preposicionados (se requieren 16). Si la MCU tiene detectores internos adecuados, no necesitaría ninguna otra parte. R1 / R2 de 22K / 22K o 47K / 47K podría ser adecuado. La tensión nominal de entrada es de -10 V a + 40 V para esos valores.

Son aproximadamente 2 mm x 2 mm, por lo que no ocupan mucho espacio en el tablero.

    
respondido por el Spehro Pefhany
3

Dado que su rango de voltaje es tan alto, creo que podría lograr un buen resultado con un solo FET de N canales. Hay FET disponibles que tienen calificaciones V (GS) superiores a 24 V ... aquí hay una que tiene una clasificación de 40 V: 2n7002 . Incluso puede obtener FET en una matriz, aunque es un poco más difícil encontrarlos con altas calificaciones de V (GS).
También puede usar los FET más nuevos, como el NTJD5121NT1G , estos tienen diodos de protección Gate ESD incorporados y usted podría usar esto para sujetar la entrada solo con una resistencia en serie. En la hoja de datos puede ver que la protección contra descargas electrostáticas (ESD) está comenzando a realizarse en la clasificación de puerta de 20 V.

simular este circuito : esquema creado usando CircuitLab

La curva de transferencia V (GS) es:

Estodeberíaproporcionarunmáximodeentradadeaproximadamente1,5a24V.Bajodeberíaserinferiora1Vdeentrada.

Noimportaloquehagaparalas32entradas,necesitaráalmenos32resistencias(sideseaentradasdealtaimpedancia)yprobablemente16-32paquetesSMD,porloquesenecesitaráunespaciosignificativoenlaplaca.Podríaconsideraruna HV5622 y use un método de lectura serializado como propuse aquí . La entrada sensorial podría reorganizarse para usar un solo comparador. Esto reduce la complejidad de la PCB, pero sigue siendo un trabajo de diseño con muchas pistas. Lo bueno de la adquisición en serie es, por supuesto, fácil separar la placa de adquisición y aislarla de la MCU.

    
respondido por el Jack Creasey
2

simular este circuito : esquema creado usando CircuitLab

Con la resistencia de entrada, el microcontrolador de voltaje de entrada es ALTO No importa cuál sea el voltaje en la entrada de 3-24V. Excepto en una tensión de entrada de 3-24 V por debajo del umbral del microcontrolador. (Incluyendo la tensión directa a través del diodo). En este caso, el diodo pasa la corriente y la entrada del microcontrolador es BAJA.

    
respondido por el AltAir
1

lo más simple sería usar una resistencia grande para cada una de las entradas. el diodo de sujeción en el pin de entrada + la resistencia hará un buen trabajo.

alternativamente, use una resistencia + un zener de 3.3v.

también existen respuestas más complejas.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas