Determinando el consumo de corriente de arduino

Estoy tratando de determinar las baterías correctas necesarias para mi proyecto Arduino (Atmega 328). Tengo componentes que tienen clasificaciones de voltaje y corriente. Estoy sumando todas las especificaciones de corriente máxima de los componentes para determinar el mAH ideal.

Actualmente estoy atascado en el chip Atmega328. Leí la hoja de datos, pero parece que no puedo encontrar el consumo de corriente específico del chip. Según tengo entendido, el voltaje de funcionamiento es de ~ 5 V y el consumo de corriente del chip sería de ~ 40 mA. Pero si estoy usando 6 pines (3 analógicos, 3 digitales), suponiendo que todos emitan 40 mA al mismo tiempo (lo cual es poco probable ya que los 3 pines analógicos toman valores x, y, z de un acelerómetro), ¿sería seguro? ¿Asumir que el consumo de corriente del chip sería de 240 mA? (esto suena mal)

Construirlo, medirlo, eso es todo. Hay demasiadas variables para responder a su pregunta.

Respuestas (4)

La hoja de datos de un microcontrolador le indica la corriente que utiliza internamente. Solo usted puede determinar cuánta corriente adicional puede entrar en el pin de alimentación o salir del pin de tierra debido a que otros pines se hunden o generan corriente.

Por lo que dices, el micro en sí puede tomar hasta 40 mA. No conozco ese micro en particular, pero eso es ciertamente plausible.

La hoja de datos también le indica el máximo que los pines de salida pueden generar. Esto no sirve de nada en un cálculo de potencia. Utilice esta información durante el diseño para asegurarse de que no se exceda este límite. La corriente real que el circuito externo extrae de un pin de salida depende del circuito externo. Considere el caso límite donde un pin se deja desconectado. Claramente, no sale corriente por ese pin.

Por ejemplo, supongamos que está encendiendo un LED directamente desde una salida digital. El procesador funciona con 5 V y tiene un LED verde a tierra con una resistencia de 300 Ω en serie. La corriente que sale del pin cuando está alta será de aproximadamente 10 mA. El hecho de que la salida podría haber generado hasta 25 mA, por ejemplo, es irrelevante.

La mayoría de los microcontroladores CMOS, incluido el ATMEGA328, consumirán más corriente de su suministro de CC cuando su reloj funcione a mayor velocidad. En la hoja de datos del ATmega328, el consumo de energía se especifica a una velocidad de 1 MHz. Cuando su reloj está funcionando y el procesador está procesando, extraerá una corriente de 0,2 mA de una fuente de alimentación de 1,8 V CC. Esta sería la corriente mínima, todos los pines de entrada/salida no suministrarán corriente.
Cuando el reloj no está funcionando, se reduce el consumo de corriente. Atmel especifica el consumo de corriente del modo de "apagado" como 0.1uA. Sin reloj, no puede ejecutar programas. Con su reloj de hora del día funcionando (32,768 kHz), el consumo de corriente es de 0,75 uA. Este reloj de tiempo real está separado del reloj del procesador.
Algunos procesadores se jactan de su rendimiento de velocidad y potencia, por ejemplo, "100uA por MHz". Esta es una cifra de mérito, lo que sugiere que un 100MHz. el reloj del procesador requeriría que el procesador extraiga diez miliamperios de corriente de suministro de CC.

El atmega tiene una CPU, ¿verdad? Entonces, si haces que trabaje duro, gastarás más energía. (Se calentará, aunque imperceptiblemente) Esta es la razón por la cual la CPU/GPU de su computadora portátil se calienta cuando juega juegos de computadora. Estás haciendo muchos cálculos, los transistores están cambiando. Los transistores pierden energía cuando se encienden o apagan debido al cruce. La hoja de datos le dará una idea de lo que normalmente consume la CPU, pero nunca lo sabrá con certeza.

Acerca de los pines, 40 mA es aproximadamente la clasificación máxima que puede proporcionar un pin. No es lo que en realidad estás dibujando. Entonces, no puede usar esa matemática para calcular el consumo actual.

Y luego está el problema del hardware. Siempre hay fugas de corriente en un hardware. Nunca podrá calcular esto la mayor parte del tiempo. Solo los experimentos lo dirán.

Pero la cuestión es que, por lo general, para aplicaciones simples, solo importan las corrientes de los pines. Los otros suelen ser menos que eso.

Si está investigando esto para una aplicación alimentada por batería, considere las opciones de suspensión/suspensión profunda.

Además, la mejor manera de calcular el consumo de corriente ( barato y rápido ) es obtener una resistencia, calibrarla (encontrar su resistencia real), ponerla en serie con atmega VCC y encontrar la caída de voltaje. Funciona a las mil maravillas.

Ah, y los pines de entrada analógica no consumen mucha corriente. Dibujan lo suficiente para probar el voltaje, pero no es tanto. Solo los pines GPIO en modo fuente/sumidero extraerán/generarán tanta corriente.

Te quedarás ciego tratando de calcular el consumo promedio de mA/h de un Arduino sumando todas las corrientes de componentes y características.
Cómprate un medidor de voltaje/corriente USB. Este se coloca en serie con la línea USB que alimenta el dispositivo y le indica el voltaje y la corriente (promedio) que fluye. Los medidores de corriente USB están disponibles desde ridículamente baratos en Ebay ($3) hasta bastante caros ($30+). Mi favorito personal es el Portapow , que le indica directamente la clasificación de mA/h del dispositivo conectado.ingrese la descripción de la imagen aquí

Todos los monitores de corriente USB que he visto tienen el mismo problema cuando entran en estado de suspensión... todos tienen una resolución de corriente mínima limitada. Cuando se trata de medir la corriente del estado de suspensión, una resistencia en serie es insuperable.