Cambio de nivel de 5V a 3.3V - ¿Puedo usar un diodo Zener?

1

simular este circuito : esquema creado usando CircuitLab

Mi problema es que el ATmega328 se ejecuta a 5V. Sé que necesito un cambio de nivel bidireccional. Sin embargo, realmente no quiero gastar mucho más dinero en esto si puedo. No quiero volar un amplificador caro también. IC más caro que he comprado.

El pin D2 tendría una salida de 5 V, pero pensé que los diodos Zener se usan comúnmente para la protección contra sobrevoltaje. Entonces, ¿por qué no puedo usar este diodo para sujetarlo a 3.3 v? Sé que necesito cambio de nivel bidireccional, pero ¿no se ajustaría el voltaje a 3.3v de cualquier manera?

    
pregunta Ageis

4 respuestas

8

Al mirar la hoja de datos del max31850, parece que desea conectar una salida (o entrada) de drenaje abierto a una entrada de 5 V (o salida cuando está baja).

No creo que sea una buena idea usar un zener; la rodilla es demasiado blanda, y el controlador de salida del max31850 es demasiado débil (4mA) para que esto funcione de manera confiable. Además, el voltaje mínimo para ser reconocido como 1 es de 0.6 Vdd, que es 3.0V, un poco demasiado cerca de 3.3V para mayor comodidad cuando se trabaja en la dirección inversa; el zener conducirá significativamente a ese voltaje. Además, la hoja de datos capacitancia típica para el Zener es 450pF a 0V (más cuando está polarizado), por lo que puede No consigue la velocidad.

El Zener tomaría una corriente excesiva de la micro si el pin del puerto se moviera alto accidentalmente (y probablemente excediera la especificación de voltaje máximo), y los 4.7K más la rodilla suave del Zener probablemente conducirían a voltajes 'altos' No es suficiente para garantizar la operación. En general todas las malas noticias.

Al alimentar la ATMega a partir de 3.3V, estos problemas desaparecerán.

    
respondido por el Spehro Pefhany
4

Esa configuración está pidiendo problemas. El 328, cuando se maneja una salida alta, tiene una capacidad de ~ 4 voltios a 20 mA, por lo que estará fuera de su zona de confort cuando se maneja un zener de 3 voltios. En su lugar, ejecute una resistencia de 200 ohmios desde D2 al zener, y 1k desde el zener a P1.

Otro posible problema con tu idea es la velocidad. No dices qué tan rápido quieres que cambien las líneas. Un BZX79C de 3 voltios tiene una capacidad de alrededor de 470 pF. Combinado con la resistencia de 4.7k que ha mostrado, proporciona una constante de tiempo de aproximadamente 2 microsegundos, por lo que no puede esperar razonablemente transferencias de datos a más de 100 kHz. Con los componentes que he sugerido, puede obtener unos 500 kHz de Adafruit.

    
respondido por el WhatRoughBeast
1

Estás pensando en la línea correcta con el zener, pero tienes la resistencia en el lugar equivocado. ¡No construyas este circuito! La resistencia debe estar en serie con la línea de señal, entre ATmega328 y el diodo.

Echa un vistazo a esta pregunta muy similar:

¿Cómo protege Zener mi microcontrolador a un microcontrolador?

Tienes razón en que un circuito Zener funcionará para una línea de señal bidireccional. El voltaje de salida del MAX31850 no excederá 3.3V, asumiendo que es un chip de 3.3V.

    
respondido por el John Honniball
0

Para el uso del diodo zener, tanto @JohnHonniball como @Spehro tienen buenas sugerencias. Pero creo que es posible que no necesites diodo zener.

Según la hoja de datos de MAX31850, MAX31850 tiene 4 pines, DQ para salida de datos, drenaje abierto y solo lectura. AD0 ~ AD3 para la entrada de direcciones.

Como el pin DQ es de solo lectura, solo lo lees. Y el atmega328 puede reconocer 3.3V como una lógica alta (cuando \ $ V_ {CC} \ $ = 2.4V ~ 5.5V, \ $ V_ {IH (min)} \ $ = 0.6 \ $ V_ {CC} \ $). Así que solo necesita configurar su pin de datos como entrada, entonces no generará alto voltaje. No olvide colocar la resistencia de pull-up de 3.3V.

Para los pines de dirección, porque básicamente son pines de entrada solamente. Si necesita que sean controlados por MCU, puede usar simplemente divisores de resistencia. Si no necesita una dirección controlada por la MCU, puede corregirla con un poco de voltaje, según hoja de datos .

    
respondido por el diverger

Lea otras preguntas en las etiquetas