¿Cuánta corriente puedo extraer de los pines de Arduino?

¿Cuál es la cantidad máxima de corriente que puedo extraer de cada uno de los pines de Arduino sin disparar ninguno de los fusibles internos? ¿Existe un límite por pin, así como un límite general para toda la placa?

Respuestas (5)

Esto es un poco complejo. Básicamente, hay una serie de factores limitantes:

Las líneas de E/S del microcontrolador (es decir, los pines analógicos y digitales) tienen un límite de corriente agregado (por ejemplo, total) y un límite por pin:

ingrese la descripción de la imagen aquí
De la hoja de datos ATmega328P .

Sin embargo, dependiendo de cómo defina los "Pines" de Arduino, esta no es toda la historia.

El pin de 5V del arduino no está conectado a través del microcontrolador . Como tal, puede generar significativamente más energía. Cuando está alimentando su arduino desde USB, la interfaz USB limita su consumo total de energía a 500 mA. Esto se comparte con los dispositivos de la placa arduino, por lo que la potencia disponible será algo menor.
Cuando está utilizando una fuente de alimentación externa, a través del conector de alimentación de barril, está limitado por el regulador local de 5 V, que está clasificado para un máximo de 1 amperio . Sin embargo, esto también está limitado térmicamente , lo que significa que a medida que consume energía, el regulador se calentará. Cuando se sobrecalienta, se apagará temporalmente.

La salida regulada de 3,3 V puede suministrar 150 mA como máximo, que es el límite del regulador de 3,3 V.


En resumen

  • El máximo absoluto para cualquier pin IO individual es 40 mA ( este es el máximo ). En realidad, nunca debe extraer 40 mA completos de un pin. Básicamente, es el umbral en el que Atmel ya no puede garantizar que el chip no se dañe. Siempre debe asegurarse de estar seguro por debajo de este límite actual ) .
  • La corriente total de todos los pines IO juntos es de 200 mA máx.
  • El pin de salida de 5V es bueno para ~400 mA en USB, ~900 mA cuando se usa un adaptador de corriente externo
    • Los 900 mA son para un adaptador que proporciona ~7V. A medida que aumenta el voltaje del adaptador, también aumenta la cantidad de calor que el regulador debe manejar, por lo que la corriente máxima disminuirá a medida que aumenta el voltaje. Esto se llama limitación térmica.
  • La salida de 3,3 V es capaz de suministrar 150 mA .
    • Nota: cualquier energía extraída del riel de 3,3 V debe pasar por el riel de 5 V. Por lo tanto, si tiene un dispositivo de 100 mA en la salida de 3,3 V, también debe contarlo contra la corriente total de 5 V.

Nota: Esto no se aplica a Arduino Due, y es probable que haya algunas diferencias para Arduino Mega. Es probable que en general sea cierto para cualquier Arduino basado en el microcontrolador ATmega328.

Buen resumen! Tenga en cuenta que, si bien la corriente máxima en un pin puede ser de 40 mA, ese es el máximo absoluto. Y como dice la hoja de datos, operar al máximo absoluto puede ser dañino. Generalmente se recomienda limitar a <35mA.
El Due tiene una bomba de carga para suministrar el voltaje central que no está expuesto directamente como un pin, pero que se puede soldar.
En realidad, hay TRES factores limitantes, los dos enumerados en la respuesta anterior más el hecho de que la hoja de datos dice que la suma de toda la corriente procedente de los puertos C0-C5, D0-D4, ADC7 y RESET no debe exceder los 150 mA. Asimismo, la corriente total suministrada para los puertos B0-B5, D5-D7, ADC6, XTAL1, XTAL2 no debe exceder los 150 mA. En lo que respecta al disipador de corriente, la suma de los puertos C0-C5, ADC7, ADC6 no debe exceder los 100 mA; la suma de los puertos B0-B5, D5-D7, XTAL1, XTAL2 no debe exceder los 100 mA; y la suma de los puertos D0-D4, RESET no debe exceder los 100mA. Todo esto está listado en la hoja de datos.
Para la persona que sugirió en una edición que el riel de 3.3V proviene del FT232, no lo hace en ninguna de las versiones de la placa que miré.
¿Qué componente usaría normalmente para cambiar más de 40 mA a altas frecuencias (500 Hz o más) usando un pin de datos? Miré demux pero también tienen un amperaje máximo bastante bajo.
arduino.stackexchange.com/a/24546/6628 es una respuesta interesante sobre lo que sucede si supera los 40 mA, una resistencia interna de 25 ohmios en los pines y consideraciones sobre el ciclo de trabajo. En conjunto, las corrientes más altas durante períodos cortos, como cargar una compuerta MOSFET a través de una resistencia de 10 ohmios, o PWM de ciclo de trabajo bajo, podrían manejar corrientes instantáneas más altas sin calor excesivo.

¿Cuál es la cantidad máxima de corriente que puedo extraer de cada uno de los pines de Arduino sin disparar ninguno de los fusibles internos ?

Solo hay un fusible en las placas Arduino. Hay un Polyfuse reiniciable en el puerto USB que limita la corriente a partir de 500 mA. Este fusible solo es efectivo cuando se alimenta por USB y solo cuando el consumo total en el riel de 5V es más de 500mA. (Tenga en cuenta que este tipo de fusible no se "abre").

Si extrae demasiada corriente (40 mA o más) de un pin de E/S, dañará el pin. No hay fusibles en los pines de E/S.

¿Las placas Nano y Micro también tienen este polifusible? Aquí dicen que el Nano no tiene polifusible (y, por lo tanto, no tiene limitador de corriente en el pin de 5V)

Los valores máximos de corriente se enumeran aquí para Uno, Duemilanove:

Corriente CC por pin de E/S: 40,0 mA

Corriente CC por pines VCC y GND: 200,0 mA

Límite general de corriente CC para todos los pines IO juntos: 200 mA

Tenga en cuenta que si hay más de un pin VCC/Vin/GND, el Arduino puede tomar más corriente. (Cada pin corresponde a un pin en el ATMega328)

Estos parecen ser más o menos estándar para la mayoría de Arduinos, ya que estas limitaciones actuales son para el microcontrolador.

¿Tiene alguna idea para Arduino Nano, corriente continua por pines VCC y GND: ??? mamá

De acuerdo con el esquema v2.3, el regulador Arduino Nano 3.3v es el FTDI usb a serial ic. Eso tiene una clasificación de corriente máxima de 50 mA.

Si observa los esquemas del Nano, puede ver que el chip FT232RL proporciona el pin de 3.3V. Según su hoja de datos , ese pin puede proporcionar un máximo de 50 mA.

Para ejecutar su módulo, deberá proporcionar un suministro externo de 3.3V. Tal vez proporcionado por un regulador LDO de 3.3 V alimentado por el pin de 5 V que se alimenta desde el USB o el regulador de 5 V, un UA78M05 , ambos con un máximo de 500 mA (menos la corriente requerida por el Nano)

Reconsiderando esto: creo que podría usar el pin de 5V con un divisor de voltaje (2 resistencias) para obtener el pico de ~250mA que necesito a 3.3V.
Estás repensando mal. Los divisores de voltaje no pueden proporcionar grandes corrientes. Son solo para corrientes muy pequeñas (voltajes de referencia).
No lo sabía, me ahorraste mucho tiempo y molestias. Gracias.
Para quien vea esta respuesta particular en el futuro: esta fue una respuesta a otra pregunta específicamente relacionada con el pin 3v3 en el Arduino Nano. Un administrador decidió fusionar esa pregunta aquí (convirtiendo así una excelente respuesta a la pregunta original en una respuesta incompleta a la que se reubicó).