Tengo un conector pogo con +8.4 V/GND/SDA/SCL. Me gustaría proteger mi microcontrolador de sobrevoltaje (+8.4 V podría potencialmente tocar SDA/SCL). Probé este circuito:
Pero la cuestión es que solo hay 2,4 V en el pin I²C con este circuito, mientras que 3,3 V sin él. El circuito funciona muy bien, pero 2,4 V para un nivel alto está fuera de las especificaciones del esp32-pico-d4 que estoy usando (mínimo de 2,475 V). ¿Cómo puedo modificar el diseño/los componentes para tener casi 3,3 V en el pin GPIO (cuando está alto) y una sujeción de voltaje precisa?
Revisé muchas preguntas sobre la protección contra sobretensiones en Stack Exchange, pero no encontré una solución a mi problema.
¿Cómo puedo modificar el diseño/los componentes para tener casi 3,3 V en el pin GPIO (cuando está alto) y una sujeción precisa del voltaje?
Los diodos Zener no son tan perfectos como probablemente podría pensar. Incluso por debajo del voltaje zener, seguirán conduciendo algo de corriente y, debido a la resistencia pull-up (4,7 kΩ), no permitirán que aparezcan los 3,3 voltios completos en su pin I2C. Es posible que le vaya mejor si, en lugar de un diodo zener, usa un diodo Schottky del pin I2C a su riel local de 3.3 voltios, es decir, a través de su resistencia 4k7: -
Esto restringirá el voltaje I2C a aproximadamente 3,6 voltios o tal vez 3,7 voltios al devolver el exceso de corriente inyectado a través de la resistencia de 330 Ω al riel de alimentación. Esto se basa en la capacidad de la mayoría de los chips para soportar un voltaje ligeramente más alto en sus pines IO que en los pines del riel de suministro. Es una práctica común, pero solo funcionará si su chip de interfaz I2C tiene esta capacidad de "exceso".
Los diodos Zener por debajo de aproximadamente 5v son realmente terribles y pasan una corriente significativa por debajo de su voltaje zener.
Este gráfico para un diodo zener pequeño típico ( BZX84 ) muestra qué tan suave es el voltaje de "rodilla" para los diodos zener de bajo voltaje en comparación con los voltajes más altos. El dispositivo de 6,8 V tiene un encendido bastante brusco, mientras que la versión de 3,3 V apenas tiene "rodilla".
(Tenga en cuenta que el gráfico usa una escala logarítmica para el eje y que expande las características de baja corriente).
El diodo de 3.3V en este gráfico pasa alrededor de 100uA @ 2.4v
Los diodos Zener por encima de aproximadamente 6 V funcionan mediante un mecanismo diferente llamado efecto avalancha y exhiben una operación mucho más cercana a la ideal. Personalmente, nunca uso diodos zener por debajo de 5-6v.
Otra característica indeseable de los diodos zener de bajo voltaje es su capacitancia muy alta: el dispositivo BZX84 3.3v tiene 450pF de capacitancia. Este alto nivel puede afectar gravemente a circuitos como la protección I2C. Otros enfoques que utilizan un diodo schottky en un suministro tienen una capacitancia mucho menor.
Tiene un suministro de 3,3 V y un diodo Zener de 3,3 V, con una resistencia entre ellos.
Por lo tanto, el voltaje a través de la resistencia sería de 0 V y no puede fluir corriente. Por lo tanto, no puede funcionar como pretendía porque las partes no funcionan como imagina.
Existe una idea errónea de los diodos Zener como 'caídas de voltaje mágicas'. En realidad, son una pieza lineal con un conjunto de características, especificadas en su ficha técnica. Debe diseñarse para el comportamiento real del Zener, no para la caída de voltaje imaginaria.
Entonces necesitas un circuito completamente diferente.
¿Qué tal un cambiador de nivel bidireccional con niveles iguales?
Esta configuración se usa para diferentes voltajes en un bus i2c, pero creo que también debería funcionar para 3v3 a 3v3 (pero no lo he probado). El mosfet debería poder soportar 8v4 en el lado del conector y seguir la señal de lo contrario.
https://assets.nexperia.com/documents/application-note/AN10441.pdf
simular este circuito : esquema creado con CircuitLab
Aquí hay un enfoque (terrible):
Es esencialmente un diodo ideal conectado desde la salida a 3.3v, y una resistencia de entrada para que no absorba una corriente "infinita".
Principales problemas con este enfoque:
(Por supuesto, puede hacer esencialmente exactamente lo mismo con un amplificador operacional, aunque tenga cuidado con el ancho de banda).
(También puede hacer algo similar con un diodo ideal, aunque, nuevamente, tenga cuidado con el ancho de banda).
... dicho todo eso, solo use un aislador. Es mas fácil. (A menos que esté haciendo esto en volumen, en cuyo caso no es la opción más barata).
2,4 V para un nivel alto es demasiado bajo en mi opinión
¿Por qué importa aquí tu opinión? La única "opinión" que importa es la hoja de datos del dispositivo al que se está conectando. Nada más es importante.
Como referencia rápida, tomé la hoja de datos del microcontrolador TI OMAP-L138 con el que estoy trabajando actualmente. Para un suministro de 3,3 V, la lógica alta en las entradas es de 2,0 V como mínimo y la lógica baja es de 0,8 V como máximo. Su entrada con 2.4V para lógica alta sería sólida y confiable.
Dicho esto, es posible que su circuito no proporcione 2.4 V de manera confiable, porque los Zener no son un componente brillantemente lineal. Debería observar sus curvas con tolerancias y a diferentes temperaturas para estar seguro de si 2.4V es el mejor o el peor de los casos.
También agregaría que su circuito de protección también debe cubrir la entrada por debajo de 0V. Puede pensar que esto no podría suceder, pero si se encuentra en algún tipo de entorno industrial, no es una suposición segura.
TLW