Almacenamiento de una señal de microcontrolador digital para conectarse a un optoacoplador

8

Frecuentemente trabajo en proyectos en los que uso optoacopladores para aislar señales de control digitales de + 5VDC (por ejemplo, de un microcontrolador) del resto del circuito. Sin embargo, dado que funcionan iluminando un LED dentro del dispositivo, puede haber varias decenas de miliamperios de carga en los pines del microcontrolador. ¿Estoy buscando consejos sobre cuál sería la mejor práctica para amortiguar esta señal de control con una etapa adicional, para que el microcontrolador vea efectivamente una alta impedancia y, por lo tanto, reduzca la corriente que necesita proporcionar?

ingrese la descripción de la imagen aquí

Solo ingenuamente en la parte superior de mi cabeza, puedo pensar en algunas cosas que podrían funcionar:

1) Simplemente use un amplificador operacional como un amplificador buffer de ganancia unitaria.

2) Use un chip comparador dedicado para comparar la señal de entrada con, por ejemplo, + 2.5VDC.

3) Use un MOSFET como un tipo de amplificador de señal.

Sin embargo, al leer un poco, me encontré con un montón de chips que nunca antes había usado, pero parece que pueden estar diseñados para este tipo de cosas. Por ejemplo:

  • Un controlador de línea diferencial ( MC3487 )
  • Un receptor de línea diferencial (DC90C032)
  • Un transceptor de línea (SN65MLVD040)
  • Puertas de protección y controladores (SN74LS07, SN74ABT126)

¡Realmente no tengo experiencia con ninguno de estos y estoy un poco abrumado por la cantidad de cosas disponibles! Entonces, ¿alguien puede ayudarme a aprender las diferencias entre estos dispositivos y cuáles de ellos serían / ​​no adecuados en este caso? ¿Existe una forma mejor / estándar de lograr lo que describo?

editar:
Dado que podría cambiar a alrededor de salidas x30, no quiero preocuparme en absoluto por cargar los microcontroladores, por lo que no consideraré conectarme directamente a los pines DIO. Por lo tanto, creo que elegiré un IC de búfer lógico. Voy a intentar usar la " Puerta de búfer de bus único con salida de 3 estados " SN74LVC1G125 para cada entrada, y veré cómo funciona.

teeeeee
fuente
Para una solución de un solo componente, MOSFET de canal P.
Reinderien
En una nota relacionada, los pines del microcontrolador generalmente pueden absorber más corriente de la que pueden obtener. Ver esta pregunta .
Nick Alexeev

Respuestas:

12

Tienes muchas opciones

  1. Si necesita conectar muy pocos optoacopladores, puede conectarlos directamente al GPIO de su microcontrolador (a través de una resistencia), siempre que:

    • No exceda la corriente de salida GPIO.
    • No exceda la corriente total del puerto.
    • No exceda la corriente total de gnd / vdd.
  2. Si necesita conectar más optoacopladores, puede intentar usar optoacopladores de baja corriente y alta relación de transferencia, como SFH618 ( https://www.vishay.com/docs/83673/sfh618a.pdf ), y conectarlos directamente a sus GPIO (a través de una resistencia).

  3. O bien, puede usar un BJT o MOSFET (consulte los esquemas a continuación). Algunas notas:

    • Recuerde colocar la resistencia pull-down / pull-up, que asegura que el MOSFET / BJT esté APAGADO cuando el GPIO aún no se inicializa (por ejemplo, durante el reinicio).
    • La resistencia pull-up o down podría omitirse si su MCU tiene un pin GPIO con pull-up / down siempre habilitado durante el reinicio.
    • Si usa MOSFET, recuerde usar MOSFET de nivel lógico (por ejemplo, BSS138).
    • Si usa la solución activa-baja, asegúrese de que el voltaje de alto nivel del GPIO sea VDD. Es decir, ¡no use un 3.3V-GPIO y VDD = 5V en la solución baja activa! .
  4. Aún así, si necesita manejar muchos optoacopladores (por ejemplo, 6), puede usar el 74LS07 que mencionó, ya que permite 40 mA por pin, y tendrá que montar solo un componente (en lugar de 6 BJT / MOSFET). ¡Recuerde que, a diferencia de CMOS, los circuitos integrados TTL se extraen de forma intrínseca! Sin embargo, es posible que aún desee la resistencia pull-up (la hoja de datos también recomienda no dejar entradas flotantes). Y, dado que '07 no se invierte, esta solución estará activa BAJA. ¡El 74ABT126 es CMOS, por lo que DEBE usar de todos modos la resistencia pull-up!

esquemático

simular este circuito : esquema creado con CircuitLab

siguiente truco
fuente
1
También puede usar seguidores emisor / fuente
Russell McMahon
+1. Esto se puede usar para hacerlos activos altos, siempre que el GPIO esté alimentado con el mismo VDD (como en la configuración baja activa (con PNP)). Sin embargo, no usaría un MOSFET entonces, ya que tienden a tener un Vth grande (y una gran dispersión del mismo, lo que podría afectar el cálculo de la corriente led). Esto podría ser un problema si tiene un GPIO de 2.5V o 3.3V (necesitaVTH+VOV+VLmire+yoLmireR. Si este valor es demasiado cercano a VDD, la caída en R será pequeña y, por lo tanto, la dependencia de la corriente en Vth será alta).
siguiente pirateo
11

Un BJT simple como MMBT3904 o cualquier BJT de conmutación harán el trabajo. Puede obtener un carrete de 100 por dos dólares.

ingrese la descripción de la imagen aquí

Peufeu
fuente
9

Los controladores de línea diferencial no están diseñados para conducir LED. Estos chips de memoria intermedia impulsan (o reciben) una señal diferencial en dos cables. El cambio de voltaje puede ser de 1.3 voltios a 1.7 voltios. No es suficiente para encender o apagar un LED.

Las memorias intermedias TTL son ideales para esta aplicación, pero en lugar de conectarse al lado alto del LED como se dibuja en el esquema, deben conectarse al lado bajo del LED, ya que TTL es bueno para hundir la corriente y pobre para la fuente de corriente.

Sin embargo, si solo tiene que conectar unos pocos optoacopladores, un NPN BJT es una forma aún más sencilla de controlar el LED.

de nuevo
fuente
4

Recomiendo que la salida de nivel lógico use el H11L1 que tiene un controlador de puerta lógica Schmitt CMOS y funciona con un mínimo de 1.4mA ~ $ 1 (10) 3 ~ 16V

Para coleccionistas abiertos de bajo costo, clasificados con una amplia gama de ganancias actuales de 80% a 300% mínimo http://www.taiwansemi.com/products/datasheet/TPC816%20SERIES_B1612.pdf

Esto significa que si solo necesita niveles lógicos o 1 mA, eso es al menos el 80% de lo que maneja, con lo que no hay mucha carga de energía en la CPU.

Así que busca lo que importa. miles de opciones de costo vs rendimiento.

Para mayor velocidad, las ayudas más actuales pero algunos dispositivos $ cambian en otros en nosotros.

Tony Stewart Sunnyskyguy EE75
fuente