Tengo una señal digital de otro lugar y un microcontrolador. El microcontrolador puede configurar sus pines de salida para que sean alto, bajo o alto-Z. Si el pin uC es alto o bajo, me gustaría que la salida coincida. Si el pin uC es alto-Z, me gustaría que la salida coincidiera con la otra señal, e idealmente el uC puede leerlo. Pero también me gustaría poder apagar el microcontrolador por completo y que no se dañe por una sobretensión en el pin. Expresado como una tabla:
| uC Power uC out Ext in | output |
+----------------------------+--------+
| H H - | H |
| H L - | L |
| H HighZ H | H |
| H HighZ L | L |
| L - H | H |
| L - L | L |
| - HighZ HighZ | L |
+----------------------------+--------+
La entrada externa podría provenir de algunas fuentes diferentes, muy probablemente lógica de +-12V o 0-5V. Me gustaría ser compatible con una gama tan amplia de equipos de prueba de banco y PLC, etc. como sea posible sin agregar demasiados componentes más.
La salida va a una entrada digital CMOS típica. Puedo agregar un disparador Schmitt.
El microcontrolador puede generar o absorber aproximadamente 10 mA en ese pin (limitado por el total a través del puerto). La clasificación de voltaje máximo absoluto es 0,3 V por debajo de GND o 0,3 V por encima de Vcc.
Aquí está mi solución hasta ahora:
simular este circuito : esquema creado con CircuitLab
¿Funcionará esto? ¿Hay algo en lo que me haya olvidado pensar? ¿O una opción IC todo en uno más simple que no conocía?
Un par de puntos:
Si cuenta con el Zener para hacer eso, tendría cuidado. El Zener no se sujetará en la dirección "hacia adelante" (en este caso, tierra a negativo) hasta aproximadamente 0,7 V (lo que permitiría que la salida llegue a -0,7 V).
También me pregunto si el D2 TVS (que muestra con referencia a tierra) puede tomar un -12V continuo.
La mayoría de los NMOSFET discretos tienen un diodo de cuerpo parásito que apunta desde la fuente al drenaje (consulte la hoja de datos BSS138P, por ejemplo: https://assets.nexperia.com/documents/data-sheet/BSS138P.pdf ) Entonces, cuando obtiene un voltaje negativo en el drenaje, ese diodo se encenderá.
La solución a esto es poner dos NMOSFETS en serie espalda con espalda (es decir, conectados a los drenajes o conectados a las fuentes), lo que hace que los diodos apunten en direcciones opuestas.
Luego, si tiene un NMOSFET con un umbral de aproximadamente 1 V, el NMOSFET permanecerá apagado hasta aproximadamente -1 V (G = 0 V, S = -1 V, D = 0 V === G = 1 V S = 0 V D = 1 V) lo que le da al Zener suficiente margen para sujetar el voltaje negativo.
La salida solo pasaría de aproximadamente 0-4V (5V-Vth), pero eso es más que suficiente para activar las puertas CMOS.
Espero que esto ayude.
hijo sim