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


Respuestas:


91

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

Las líneas IO 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 "Pins" 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 alimenta su arduino desde USB, la interfaz USB limita su consumo de energía total a 500 mA. Esto se comparte con los dispositivos en la placa arduino, por lo que la potencia disponible será algo menor.
Cuando utiliza una fuente de alimentación externa, a través del conector de alimentación del barril, está limitado por el regulador local de 5V, que tiene una capacidad máxima 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 cerrará temporalmente.

La salida regulada de 3.3V es capaz de suministrar 150 mA máx., Que es el límite del regulador de 3.3V.


En resumen

  • El máximo absoluto para cualquier pin de E / S 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 a salvo 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 alimentación externo
    • El 900 mA es para un adaptador que proporciona ~ 7V. A medida que aumenta el voltaje del adaptador, la cantidad de calor que el regulador tiene que manejar también aumenta, 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.3V es capaz de suministrar 150 mA .
    • Nota - Cualquier potencia extraída del riel de 3.3V debe pasar por el riel de 5V . Por lo tanto, si usted tiene un dispositivo 100 mA en la salida de 3.3V, es necesario también contar en contra de la corriente total de 5V.

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


2
Bonito 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 perjudicial. Generalmente se recomienda limitar a <35mA.
baldengineer

El Due tiene una bomba de carga para suministrar el voltaje del núcleo que no está expuesto directamente como un pin, pero al que podría soldarse.
naven87

66
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 de origen para los puertos B0-B5, D5-D7, ADC6, XTAL1, XTAL2 no debe exceder los 150 mA. En lo que respecta al sumidero 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 100 mA. 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é.
Connor Wolf

8

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

Corriente CC por pin de E / S: 40.0 mA

Corriente DC por VCC y Pines 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, entonces 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 los Arduinos, ya que estas limitaciones actuales son para el microcontrolador.


8

¿Cuál es la cantidad máxima de corriente que puedo extraer de cada uno de los pines del 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 superior a 500 mA. (Tenga en cuenta que este tipo de fusible no simplemente "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.


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

2

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


2

Si echa un vistazo a los esquemas para el Nano, puede ver que el pin 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. Puede ser proporcionado por un regulador LDO de 3.3V alimentado por el pin de 5V que se alimenta desde el USB o el regulador de 5V, un UA78M05 , ambos con un máximo de 500mA (menos la corriente requerida por el Nano)


Repensando 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.
rufo

44
Estás volviendo a pensar mal. Los divisores de voltaje no pueden proporcionar grandes corrientes. Son solo para corrientes muy pequeñas (tensiones de referencia).
Majenko


No lo sabía, me ahorró mucho tiempo y molestias. Gracias.
rufo

1
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 pregunta a la que se reubicó).
rufo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.