Búfer en una señal de microcontrolador digital para conectarse a un optoacoplador

7

Con frecuencia, trabajo en proyectos en los que uso optoacopladores para aislar señales de control digitales + 5VDC (por ejemplo, de un microcontrolador) del resto del circuito. Sin embargo, como estos funcionan al iluminar un LED dentro del dispositivo, puede haber varias decenas de miliamperios de carga en los pines del microcontrolador. ¿Busco 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 debe proporcionar?

Sóloingenuamentefuerademicabeza,puedopensarenalgunascosasquepodríanfuncionar:

1)Simplementeuseunamplificadoroperacionalcomounamplificadordebúferdegananciaunitaria.

2)Useunchipcomparadordedicadoparacompararlaseñaldeentradacon,porejemplo,+2.5VDC.

3)UseunMOSFETcomountipodeamplificadordeseñal.

Sinembargo,alleerunpoco,meheencontradoconunmontóndechipsquenuncaheusadoantes,peroparecequeestándiseñadosparaestetipodecosas.Porejemplo:

  • Uncontroladordelíneadiferencial( MC3487 )
  • Un receptor de línea diferencial (DC90C032)
  • Un transceptor de línea (SN65MLVD040)
  • Puertas y controladores de búfer (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 adecuados en este caso? ¿Hay alguna forma mejor / estándar de lograr lo que describo?

editar:
Dado que podría estar cambiando a aproximadamente x30 salidas, no quiero preocuparme en absoluto por la carga de los microcontroladores, por lo que no consideraré la posibilidad de conectarlos directamente a los pines DIO. Por lo tanto, creo que voy a ir por un búfer lógico IC. Voy a intentar usar el SN74LVC1G125 " Puerta de búfer de bus único con 3 estados Salida "para cada entrada, y vea cómo funciona.

    
pregunta teeeeee

4 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 excede la corriente de salida de GPIO.
    • No excede la corriente total del puerto.
    • No excede el total de gnd / vdd actual.
  2. Si necesita conectar más optoacopladores, puede intentar usar optoacopladores de alta corriente de transferencia de alta corriente como SFH618 ( enlace ), y conéctelos directamente a sus GPIO (a través de una resistencia).

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

    • Recuerde colocar la resistencia desplegable / desplegable, que garantiza que el MOSFET / BJT esté APAGADO cuando el GPIO aún no se haya inicializado (por ejemplo, durante el reinicio).
    • La resistencia de subida o bajada puede omitirse si su MCU tiene un pin GPIO con la activación / desactivación siempre habilitada 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 activa baja .
  4. Aún así, si necesita manejar muchos optoacopladores (por ejemplo, 6) puede usar el 74LS07 que mencionó, ya que permite un 40 mA por pin, y tendrá que montar solo un componente (en lugar de 6 BJT) / MOSFETs). ¡Recuerde que, a diferencia de CMOS, los circuitos integrados TTL son intrínsecamente elevados! Sin embargo, es posible que aún desee la resistencia de pull-up (la hoja de datos también recomienda no dejar las entradas flotantes). Y, como '07 no se está invirtiendo, esta solución estará activa BAJA. El 74ABT126 es CMOS, por lo que DEBE usar la resistencia de levantamiento.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el next-hack
11

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

    
respondido por el peufeu
9

Los controladores de línea diferencial no están diseñados para conducir LED. Estos chips de búfer controlan (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.

Los búferes TTL son ideales para esta aplicación, pero en lugar de conectarse al lado alto del LED como se muestra en su esquema, deben conectarse al lado bajo del LED, ya que el TTL es bueno para la corriente de hundimiento y pobre para el suministro. corriente.

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

    
respondido por el anonagain
4

Recomiendo que la salida de nivel lógico use 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, calificados con un amplio rango de ganancia actual de 80% a 300% mínimo enlace

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

Busque lo que importa . miles de opciones de costo vs. rendimiento.

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

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas