Alimentar Arduino con alternativas a una fuente de alimentación clásica se hace prácticamente necesario si nuestro proyecto es un robot que necesite autonomía de movimiento. Veamos las diferentes alternativas que podemos encontrar para alimentar Arduino con pilas o baterías. Los mismos consejos servirán para cualquier kit de robótica con una placa basada en Arduino, como puede ser mBot de Makeblock.
Tensión nominal de trabajo en Arduino y rango recomendable de alimentación.
La mayoría de placas basadas en Arduino necesitan una tensión de trabajo de 5v (5 voltios), pero también hay de 3,3v. Esta es una tabla con las placas más conocidas, pero hay muchas más. Podéis consultar la tensión necesaria para alimentar Arduino en cualquiera de sus modalidades en la web de Arduino.
Modelo Arduino | Tensión nominal | Alimentación | |
Uno | 5v | 7-12v | |
Leonardo | 5v | 7-12v | |
Mega | 5v | 7-12v | |
Yún | 5v | 5v | |
Due | 3.3v | 7-12v | |
Pro mini 16MHz | 5v | 5-12v | |
Pro mini 8MHz | 3.3v | 3.35-12v | |
Ethernet | 5v | 7-12v | |
MKR1000 | 3.3v | 3,7 v o 5v |
Ojo porque la tensión nominal de trabajo nos va a definir también la tensión máxima soportada por los pines de entradas/salidas. Placas con tensiones nominales de 3.3v no soportarán tensiones mayores a 3.3v en sus pines I/O por lo que hay que prestar atención a los sensores que conectemos.
Regulador de voltaje interno en placas Arduino.
Arduino es una placa de prototipado y uno de los elementos que incluye para ayudar a esa condición es un regulador de voltaje, por ello normalmente se recomienda alimentar Arduino entre 7v y 12v para placas con tensión nominal de 5v. El regulador de voltaje se encargará de obtener 5v independientemente de la entrada.
Para alimentar Arduino mediante el regulador de voltaje haremos uso de la clavija tipo jack presente en la mayoría de modelos o bien el pin RAW o Vin en algunos modelos.
Los límites reales en la entrada del regulador suelen ser de 6v y 20v, pero recordad que una tensión de entrada demasiado baja en torno a 6v o menos puede producir inestabilidades en la tensión de salida, y tensiones altas más cercanas a 20v nos pueden obligar a tener que disipar demasiada energía en forma de calor por lo que no estaremos siendo muy eficientes.
En definitiva, si vamos a utilizar el regulador de voltaje propio de la placa lo ideal es alimentar en la horquilla de 7-12v, pudiendo bajar a los 6v.
En aplicaciones en las que usemos servos o motores DC seremos más eficientes cuanto más nos acerquemos a esos 6v puesto que no vamos a necesitar voltajes superiores en ningún caso. Sin embargo habrá aplicaciones en los que necesitemos utilizar motores de 12v por lo que necesitaremos tener una fuente de energía que supere ese voltaje aunque el regulador de Arduino garantice su tensión de trabajo inferior.
Alimentación externa regulada. Conector USB.
Otra opción es alimentar Arduino a través del pin específico marcado como 5v o 3.3v dependiendo del modelo. En los modelos de 5 voltios también lo hacemos a través del conector USB por el que entregamos ya regulados los 5v.
Es muy importante que el voltaje sea estable y ajustado a esos 5v o 3.3v según la placa. Una variación del voltaje podría dañar la placa de manera irreversible. La placa «espera» un voltaje perfectamente regulado para poder trabajar adecuadamente.
Alimentar Arduino con pilas o baterías.
La opción más adecuada para alimentar Arduino y que sea autónomo, libre del cable de una fuente de alimentación, es el uso de pilas o baterías.
Conviene recordar el concepto de carga eléctrica en una pila. En el caso de las pilas se suele expresar en mAh y expresa la cantidad teórica de mA (miliamperios) que la pila es capaz de entregar en una hora antes de descargarse. Una pila de 2000mAh podrá entregar 2000mA en una hora, o lo que es lo mismo 200mA en 10 horas o quizá 20mA en 100 horas. Una pila con mayor número de mAh tardará más tiempo en descargarse que otra con menor número de mAh conectadas a cargas que consuman lo mismo.
- Pilas genéricas.
4 pilas AA de 1,5v conectadas en serie gracias a un portapilas con conector, en teoría nos entregarán 6v. Son muy económicas por estar muy estandarizadas pero al no ser recargables el coste es alto para utilizar de manera continua. Tienen la ventaja de tener una capacidad de carga elevada, con valores que en pilas alcalinas puede superar los 2500mAh, lo cual nos garantiza bastante tiempo de funcionamiento dependiendo de los consumos. Además un conjunto de 4 pilas AA de 1,5v puede llegar a entregar picos entre 1 y 2 A lo cual nos puede ser útil en nuestro proyecto, aunque lógicamente no puede mantener esa entrega de manera continua.
1 pila de 9v puede servir perfectamente para alimentar Arduino pero debemos tener en cuenta varias desventajas. Por un lado tiene poca capacidad de carga, normalmente por debajo de 600mAh y tampoco puede entregar picos de corriente que superen los 500mA. Pese a que muchos kits de iniciación incluyan un adaptador de pila de 9v a jack de alimentación de Arduino, personalmente no lo recomendaría si no es para pequeñas pruebas si no disponemos de otra opción.
- Pilas o baterías recargables.
El hecho de poder recargar nuestras baterías nos va a proporcionar muchas más posibilidades y a largo plazo es la opción más económica. Lógicamente necesitaremos un cargador que dependiendo de la batería concreta puede ser más o menos complejo.
5 pilas AA de 1,2v NiMh recargables conectadas en serie en un portapilas con conector nos ofrecerán los mismos 6v que vimos en el caso de 4 pilas AA de 1,5v. Igualmente pueden superar los 2500mAh y entregar picos de corriente por encima de 1A.
Otras opciones de baterías NiMh se pueden considerar. Hay de muy diversos formatos y voltajes de baterías de Niquel metal hidruro por lo que podemos optar por buscar algo concreto que nos cuadre con nuestro proyecto o reutilizar baterías de algún aparato que tengamos que use este tipo de baterías. Sus ventajas siguen siendo una gran capacidad de carga y poder entregar grandes picos de corriente, sin embargo suelen ser más caras que otras opciones.
Las baterías de litio son las que más capacidad de carga nos van a entregar pudiendo alcanzar los 4500mAh y con entregas de corriente muy superiores a los 5A. Podemos optar por conectar 2 baterías de 3,7v en serie obteniendo 7,4v.
Las baterías LIPO (polimerio de litio) que tanto se utilizan en drones son una opción que puede parecer más cara, pero debido a que existe mucha oferta actualmente está bajando de precio y el hecho de ser recargable hace que se amortice a lo largo del tiempo. Podemos encontrar baterías LIPO de 7,4v perfectas para alimentar Arduino en general, pero también hay otros voltajes si necesitamos llegar a los 12v de ciertos motores por ejemplo. Con estas baterías llegaremos a las mejores prestaciones con capacidades de carga hasta 5000mAh y posibilidad de entregar corrientes por encima de 30A, por eso son las utilizadas en la mayoría de drones.
Los «power banks» ó bancos de energía no dejan de ser baterías de ion litio que van reguladas para entregar 5v de manera que los podemos utilizar lógicamente a través del conector USB. Tienen gran capacidad de carga llegando según modelos a 15000mAh aunque la entrega de corriente suele estar limitada a 2A por el hecho de estar pensada para dispositivos móviles. Son caros y de momento no son una opción recomendable pero si ya disponemos de uno evidentemente podemos aprovechar para alimentar Arduino antes de invertir en otras opciones. Dependiendo del power bank concreto se puede cargar mientras alimenta la placa por lo que en teoría se podría usar a modo de SAI, pero es algo de lo que sólo tengo referencias de algún proyecto con Raspberry.
Paneles solares para alimentar Arduino.
La energía solar a veces es la única opción para alimentar Arduino si nuestro proyecto va a estar aislado sin acceso a la red eléctrica y va a tener cierto consumo que nos haga desestimar tener que cambiar las baterías cada poco tiempo.
La opción con panel solar debe incluir un sistema de almacenamiento con baterías y un sistema de carga de las baterías gracias a los paneles. Normalmente necesitaremos que el sistema de carga tenga cierta complejidad para que el sistema entregue energía a la placa Arduino de manera ininterrumpida.
Es una opción suficientemente compleja para que le pueda dedicar una entrada completa en un futuro.
Recomendación final.
Estudiar vuestra fuente de energía externa con detenimiento para que sea acorde con vuestro proyecto, sobretodo pensad en los consumos que vais a demandar y si tenéis elementos que funcionen a voltajes diferentes de la horquilla de 5-6v.
Si el proyecto en general se basa en ser económico, buscad una opción económica, pero si el proyecto ya de por si requiere de cierta inversión no ajustéis el presupuesto precisamente en las baterías.
Si buscáis muchos ciclos de descarga con grandes consumos, dejaros recomendar por los comentarios de los usuarios de drones y aficionados al radiocontrol a la hora de elegir el modelo y vendedor concreto.
Espero que la guía te sirva para escoger correctamente tu batería, pero si sigues teniendo dudas sólo tienes que comentar la entrada.
Dani S.
Ulises says
Hola. Me he leído con interés este post y me ha sido muy útil. Se agradece tu claridad.
Quisiera saber cómo alimentat un Arduino uno con panel solar y un cargador.
Estoy diseñando con mis estudiantes una estación meteorológica y queremos saber cuál es la mejor manera de alimentarla y volverla autónoma. Saludos
Dani says
Hola!
Existen kits comerciales con placa y batería que podéis adquirir si tenéis prisa. En unas semanas trataré el tema para intentar mostrar varias alternativas según la aplicación.
Saludos!
Dani S.
Ignacio says
Hola Dani! Muy interesante el artículo. En el caso del Arduino MKR1000, que tiene una tensión nominal de 3.3v y una alimentación de 5V, conviene utilizar baterías de litio???
Dani says
Hola Ignacio!
Efectivamente la MKR1000 tiene un circuito de carga especial para baterías de polimero de litio (LIPO), concretamente 3,7v es el voltaje adecuado.
Saludos!
Dani
Valeria Osorio says
Me ayudó tu publicación, pero tengo una duda sobre como cargar las baterías de litio por medio de la entrada del arduino nano. Muchas gracias espero tu respuesta.
Dani says
Hola Valeria,
Si quieres poder cargar las baterías al mismo tiempo que alimentan la Arduino Nano necesitarás un circuito de carga externo. Hay soluciones comerciales como por ejemplo este circuito.
Saludos
Dani E. says
Hola Dani!!! Muy buen artículo, pero tenía una duda, no estoy seguro sobre si mi conector jack para la pila 9v tiene la polaridad adecuada. ¿Hay algún problema?
Dani says
Hola Dani!
Por supuesto debe tener la polaridad adecuada o puedes tener problemas, es muy importante que la polaridad sea correcta. Tendrás que comprobar la polaridad con un polímetro.
Saludos
jose cancino says
disculpa si tengo una bateria de 8800mAh puedo alimentar un arduino nano, y al mismo tiempo alimentar un servomotor de 20kg/cm que consume alrededor de 3A para funcionar , sin dañar el arduino?
Dani says
Hola José,
Si el servomotor dispone de entrada de alimentación auxiliar, que supongo que si, no hay ningún problema ya que únicamente haces el control con arduino nano, pero si la alimentación se la proporcionas a través de la propia arduino nano si que vas a tener problemas.
Saludos
Gabriel says
Hola! tengo una consulta. Puedo conectar una bateria de Li-ion 3.7v de 5000mAh a un Arduino MKR 1000 por el conector de 3,7v?
Dani says
Hola Gabriel,
En teoría puedes hacerlo. De todas formas mide la salida de esa batería por si el voltaje es muy superior a su nominal de 3,7v.
Saludos
Sergio says
Buenas tardes,
tengo una duda, estoy creando un control para regadío con el Arduino y estoy usando 4 pilas AA, pero estas se consumen en menos de 2 horas. El arduino solo hace lecturas cada 15 minutos de temperatura humedad y estado del suelo, puede ser problema de programación o de cliclos de captura, o directamente es lo que suele aguantar de media este tipo de alimentación, cual me recomiendas.
Dani says
Hola Sergio,
Aunque la placa haga una lectura cada 15 minutos realmente está funcionando todo el rato. El programa funciona continuamente.
Por otro lado los sensores también están alimentados continuamente, e intuyo que aquí es donde tienes el mayor consumo, aunque que sólo dure 2 horas me parece exageradamente poco.
En cualquier caso para proyectos en los que necesites optimizar el consumo debes ir a soluciones de placas y sensores específicos de bajo consumo, además de hacer programaciones que permitan un estado de stand-by para que la placa esté a mínimo consumo mientras no necesite hacer nada.
Para un regadío no descartes alimentar con placa solar y circuito de carga de batería.
Saludos
Juan ruiz says
Te recomiendo que te cheques si tu proyecto lo puedes desarrollar con el microcontrolador 328p atmega (común en el uno),si es así utiliza el pro-mini 328p,,con cristal de 16Mhz y que funciona a 5 Volts si es que tus sensores son a 5v o el de cristal de 8Mhz a 3.3volts si es que tus sensores o mudulos son a 3.3v o menos.. puedes mandar señal del promini directo a los módulos o sensores si es que no consumen más de 40mA u si entre todos no suman más de 200mA.,,en caso contrario a alguna de estas 2 situaciones tendrás que usar transistores entre tú Arduino y módulos de preferencia ellos de bajo consumo..A todo esto echa mano de la librería power.down para mandar a dormir tu placa y sensores,los minutos que no ocupes que hagan nada..con esto deberías de multiplicar mucho la duración,además si usas li-po(o 2 lipos en serie,para sistema a 5v)pues mejor y si le adieres una placa cargadora solar mejor,estás las hay de 3 o 4dollares.. http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/ puedes echar mano de este tutorial..
Juan ruiz says
https://www.cdmxelectronica.com/producto/cn3065-cargador-solar-para-bateria-de-litio/ esta es especial para cargar solar y en esta misma página hay ejemplo de panel solar de 5volts,,y te dan algo información de cada producto..
Dani says
Gracias por tus aportaciones Juan.
holapez says
¿Cuantos voltios necesita vector robot?
Dani says
Si te refieres al robot Vector de Anki no conozco que necesidad tiene de alimentación.
holapez says
ok gracias por responder
Arnaldo says
Saludos, tengo una duda, tengo 3 baterías AAA de 3.7v 1000mAh y quisiera saber si puedo alimentar a mi Arduino nano y a la vez un drivers de motores tb6612fng sin que me dé problemas? Son dos motores pololu de 6v los que tiene que mover
Dani says
En teoría no vas a tener problema aunque te estás acercando mucho a los 12v de límite del Arduino nano y se puede calentar el regulador de tensión.
El driver podrías conectarlo a la salida de 5v del nano por la entrada vcc o directo de las baterías por entrada vm, pero siempre compartiendo GND con Arduino nano.
Germán says
Hola exelente post! Tengo una duda, estoy armando un robot cuadrupedo con 12 servos sg90 y le voy a poner una batería de litio de un celular, está es de 2100 mAh, lo probé y anda muy bien, pero mi duda es si corro el riesgo de que pueda explotar x algún motivo, al no ser una batería diseñada para eso, no he notado que se caliente ni nada asiq supongo que no, pero tengo esa duda
Dani says
No debería haber ningún problema aunque el mayor problema es que no tendrás optimizado el proceso de carga si no lo haces en el propio celular que debería tener integrado el circuito de control de carga. La descarga rápida por un alto consumo puede hacer que la vida de la batería se acorte, pero en principio no debería suponer que tenga que explotar. Vigila sobretodo la carga.
CHARLES OSORIO ARTEAGA says
Excelente artículo .
Felicitaciones.
Ayúdeme con una sugerencia.
Cuál sería la mejor opción para alimentar el SIM900.
Saludos,
Dani says
No sabría darte una respuesta concreta ya que aplica todo lo que se ve en el artículo en general, pero debes tener en cuenta que el móculo SIM900 consume mucha energía en funcionamiento. Debes tener ese consumo previsto y tenerlo en cuenta ya que si utilizas pilas o baterías comprobarás que se consumen más rápido que con otros montajes. Lamento no ser de más ayuda.
Ala López says
Hola buenas tardes, me preguntaba cuál sería la manera correcta de alimentar con alguna batería lipo un proyecto de telemetría que involucra bastantes módulos, transmisor y una cara fvp, cada módulo se puede conectar independiente a la batería o deben pasar todos por el arduino?
Dani says
Más bien al contrario. Lo ideal, siempre que se pueda, sería alimentar sin pasar por Arduino, pero dependiendo del módulo no siempre es posible.
ale says
como puedo hacer para que 4 motores tengan la misma potencia
Dani says
Hola Alejandra,
Si los motores son iguales y están conectados correctamente tendrán la misma potencia. Explícame mejor tu duda para poder ayudarte.
María Paula CAMPOS MARTÍNEZ says
Hola, tu información me encanto, sin embargo no soy experta en el área y tengo una duda. En mi proyecto de tesis, necesito alimentar una arduino nano, pero requiero que sea «recargable» entiendo que puedo agregar una pila recargable pero, hay alguna manera de hacerlo de tal manera en que el elemento de carga sea más pequeño y con una entrada USB ?
Dani says
Hola! Para utilizar una batería recargable que siempre esté conectada debes contar con un circuito de carga. Has una búsqueda en Google con el término «arduino battery charging module» y vas a encontrar ideas que te pueden inspirar.