¿Cómo se puede construir un adaptador lógico GPIO a alto amperaje/voltaje usando múltiples voltajes? (5v, 12v, 24v)

Estoy trabajando en un proyecto que requiere hacer una placa bastante universal (para trabajar en diferentes modelos de máquinas). Necesito conectar muchos motores e interruptores/sensores preexistentes a la placa que funcionan con diferentes voltajes y tienen su propia configuración única de pin/enchufe. Pensé que usar fpga permitiría programar la configuración correcta, pero necesito los pines fpga de 3.3v para aceptar entrada/salida de 5vdc, 12vdc y 24vdc de forma selectiva. ¿Hay alguna solución simple por ahí? Todos necesitan capacidad pwm y la capacidad de impulsar pequeños motores/dispositivos.

He pensado en usar interruptores de carga para las salidas, lo que parece correcto. En cuanto a las entradas, estaba pensando en aisladores, pero no permiten un rango tan amplio de voltajes de entrada si no me equivoco. Lo único que se me ocurre es reguladores de voltaje en serie o en paralelo para convertir el voltaje a una lógica de 3.3v. Sin embargo, esto puede plantear un problema en el que los pines no se pueden conectar a tierra (como en 0v) para corriente alta y servir como entrada lógica. Cualquier ayuda o idea sería apreciada.

Sea claro... ¿Desea convertir señales de nivel lógico de 5V a niveles lógicos de 3V3 o al revés?
@Andyaka E/S lógica de 3.3v, a E/S de 5, 12 y 24v.
¿Qué requisitos de velocidad?
@Andyaka Hasta donde yo sé, solo PWM para impulsar motores paso a paso. Amperios algo altos para motores pequeños para producir un poco de torque temporalmente (1 o 2 amperios). Es para el control de máquinas expendedoras.

Respuestas (2)

Para sus entradas de amplio rango, podría considerar una solución que he usado varias veces. Traiga sus entradas a través de un circuito como este:

ingrese la descripción de la imagen aquí

Como se muestra, el umbral de entrada para alto/bajo se establece en 2,5 V mediante el uso del TLV431. La señal de entrada que llega a través de las resistencias de la serie 2.2K está sujeta al suministro de 5 V para mantenerlas en el rango de entrada seguro del AM26LV32. Las salidas oscilan de riel a riel de 0 a 3.3V para entrada al FPGA.

Para entradas de amplio rango, logré construir uno recientemente que funcionaba de 5v a 30v más o menos con un optoaislador, un diodo zener y un par de resistencias. Básicamente, diseñe el circuito de tal manera que la corriente del LED en la entrada esté dentro del rango para todo el rango de voltaje que le interesa. También es posible pegar un puente rectificador allí para hacer que el circuito sea insensible a la polaridad, a costa de alrededor de 1,2 voltios más o menos de caída adicional. La resistencia y el diodo se seleccionan para producir la corriente de encendido mínima para el optoaislador de alrededor de 5 V, aumentando hasta la corriente máxima del LED cuando el zener comienza a conducir.

esquemático

simular este circuito : esquema creado con CircuitLab

¡Eso seria genial!
He usado optoacopladores para entradas en el pasado, pero en lugar de zeners o resistencias, usé un diodo de corriente constante para limitar la corriente del LED del optoacoplador a 3,5 mA. El problema que he tenido es que, a menudo, los optoacopladores son dos lentos para algunas aplicaciones en las que, por ejemplo, un codificador de eje presenta entradas a frecuencias de hasta MHz. Si realmente necesita aislamiento a tierra, los optoaisladores son el camino a seguir, pero brindan pocos beneficios en los casos en que los GND están todos unidos. Así que mire mi respuesta para otra solución donde los GND son comunes.
Los CRD también funcionan, pero descubrí que pueden ser un poco más caros que un par de resistencias y un diodo Zener. A veces también tienen una caída de voltaje bastante grande que podría causar problemas en el extremo inferior del rango.
@MichaelKaras: las grandes mentes deben pensar igual;) (Escribí un circuito de entrada casi universal en mi cuaderno de laboratorio durante la universidad que es básicamente el mismo que el suyo con un puente rectificador en la parte frontal para hacerlo insensible a la polaridad, y usando un MOS de agotamiento para la fuente actual en lugar de un CRD).
@ThreePhaseEel: los CRD tienen problemas con la caída de voltaje, lo que significa que una entrada de propósito general que va a un optoacoplador no funciona bien para una entrada de 3.3V y funciona bien para 5V en la mayoría de las condiciones. Por cierto, los CRD se construyen con un JFET de canal N con la puerta unida al circuito fuente después de una resistencia de fuente en serie.
@MichaelKaras: sí, 3.3V no está dentro de los límites de cumplimiento de la mayoría de las fuentes actuales una vez que enciende el LED. (El mío fue diseñado para cambiar a los voltajes estándar IEC/... para entradas de CC, y usé la versión de MOS de agotamiento ya que no puede obtener un CRD de 400 V CC :) PD, no necesita tomar 3.3 V en el lado opto.