Mi placa arduino usa 5v para alimentar el chip atmega. Me preguntaba si hay algún problema con encender mi atmega a 5v, pero digamos que enciendo mi MCP4922 dac a 3.3v, ¿importa? Es solo que he visto esquemas que usan los mismos voltios para todos los circuitos integrados
Si importa. El MCP4922 tiene un límite de voltaje de entrada de VDD + 0.3v en cualquier pin de entrada. A una potencia de 3.3v, cualquier cosa por encima de 3.6v probablemente matará el chip . Y el Arduino ATMega tiene un corte de nivel alto de voltaje de entrada de VDD * 0.6. Con una potencia de Arduino de 5v, eso significa que necesita ver al menos 5v * 0.6 = 3v en un pin de entrada para registrarse correctamente como un ALTO lógico. Entonces esto debería funcionar de una manera antes de que necesite agregar cosas.
Sparkfun tiene un buen tutorial sobre cómo hacer que funcione entre dos chips a 5v y 3.3v, pero todos requieren componentes adicionales (algunas resistencias o diodos, o un mosfet). También profundiza más en los niveles de voltaje.
Pero lo más importante es ¿por qué alimentar el ADC a un voltaje diferente al del Arduino, si tiene la fuente de 5v disponible? ¿Es esto sólo una hipótesis?
Hay varias formas de adaptarse a esta transición de nivel. La clave NO es poner 5V en una parte que funciona a 3V o algo más bajo (como se indicó anteriormente). Por lo tanto, las entradas MCP4922 de CS, SCK y SDI necesitan voltajes de entrada para coincidir con su VDD. Y si elige que sea de 3 V, esto se puede hacer usando un divisor de resistencia o un CONVERTIDOR DE LVL 74HC4050 , o el convertidor de nivel lógico de SparkFun o el desglose del traductor de nivel PCA9306 de SparkFun.
Por otro lado, es aceptable que una salida de 3 V entre en la entrada de 5 V, siempre que el nivel alto de la salida del chip de 3 V sea mayor que el nivel mínimo de las entradas del detector alto de la entrada del chip. Que es a menudo el caso. Por lo tanto, a menudo ve partes que tienen uno de los pasos de descenso de nivel de voltaje anteriores MOSI, SCK y CS, mientras que no hay UpStep de MISO, en Arduino.
A menos que su dispositivo sea tolerante a 5V, lo cual no ocurre con el MCP4922, no es una buena idea conectar E/S de 5V a 3.3VI/O. Los diodos internos pueden ayudar, pero con el tiempo el dispositivo se destruirá. Es mejor usar técnicas para lidiar con esto, como el uso de cambiadores de nivel.
Anindo Ghosh
edadis
Anindo Ghosh
leon heller
Transeúnte
Federico Ruso
Transeúnte