¿Es este un convertidor de nivel lógico de 3.3V a 5V?

1

Estoy intentando conectar un sensor de mouse óptico (OM10B) con un Arduino Uno. El sensor es de 3.3V y el Arduino funciona a 5V, pero también tiene la fuente de 3.3V. Encontré esta página de inicio muy detallada , donde alguien ha hecho esto y estoy intentando seguirla. Sin embargo, no está usando un Arduino y no entiendo bien el circuito final. Como no escribe a qué voltaje está utilizando su ATMega (3.3V o 5V), no estoy seguro de poder seguir sus instrucciones sin modificaciones. Aquí está el diagrama del circuito de esa página de inicio:

No entiendo el uso de los diodos Zener en la parte inferior en combinación con las resistencias de 150 ohmios para la interfaz SPI. ¿Es este un convertidor de nivel lógico para conectarlo a una ATMega a 5 V o para qué sirve? Si no lo está, ¿cómo podría conectarlo a mi Arduino Uno?

    
pregunta packoman

1 respuesta

1

La página dice: 'He usado diodos Zener (3V6) y resistencia de limitación de corriente de 150 ohmios para sujetar el nivel alto de 5V a 3,6 voltios según las especificaciones', y esto es lo que harán. Por lo tanto, será correcto conectar esto a un Uno con 5V I / O.

Es extraño que la página lo describa como una interfaz 'SPI', porque ciertamente no es SPI, se parece más a I2C. La línea SIO es bidireccional (es decir, en algunas ocasiones el sensor lo impulsa y el Arduino recibe los datos), y esto significa que el OM10B llevará 3.3 V a la entrada lógica de 5 V del Uno. Esto no dañará nada, pero 3.3V está justo al borde de lo que cuenta como '1' para la mayoría de las lógicas de 5V. Puede encontrar que, si hay mucho ruido (por ejemplo, cables largos o una conexión a tierra deficiente), los datos comienzan a corromperse.

Si eso sucede, puede usar un circuito convertidor de nivel lógico bidireccional de 3V3 a 5V en lugar de los resistores y los Zeners. Adafruit & otros los venden o google 'MOSFET level shifter' para circuitos.

    
respondido por el Ian H

Lea otras preguntas en las etiquetas