[SOLUCIONADO] Intensidad maxima en salida 5v Arduino (Genuino) UNO - R3

Hola he leido las especificaciones de Arduino uno r3 en la web: ArduinoBoardUno
Tengo claro los limites de tension e intensidad por las salidas de mi arduino, pero no sobre la salida 5v. Me avisan de un maximo de 50mA para la salida 3.3v, pero no dice nada de v5

En algun tutorial por internet he encontrado 300mA, pero no era especificamente el R3 i he querido confirmar la información.

Se (creo) que si el origen es USB el limite seran 500mh, ya que segun he leido que hay un fusible para proteger nuestros pc's. Pero no se qual es el limite si alimentamos por el conector de 2,1 mm. Entiendo que esta intensidad no circulara a traves del ATmega328P, asi que el limite deve de ser el del elemento que transforma la tension de entrada en (7-12v) en 5v.

He mirado los esquemas adjuntos, pero mi capacidad de interpretarlos correctamente, es limitada. He creido entender que quien se encara de esa transformación (7-12v) en 5v es el ncp1117st50t3g. He buscado su datasheet y se me hace complicado de interpretar.

Por un lado encuentro

Output Voltage, Fixed Output Devices: 5v (Vin = 6.5 V to 12 V, Iout = 0 mA to 800 mA) Nota:
The regulator output current must not exceed 1.0 A with Vin greater than 12 V.

Pero por otro lado encuentro:
Output Current Limit (Vin−Vout = 5.0 V, TA = 25°C, Note: Tlow=0°C , Thigh=125°C) minim 1000 tipic 1500 max 2200mA

Como ven he hecho todos los esfuerzos por evitar una preguta del tipo de aquellas que segun he leido "contestais todas las semanas" pero he sido incapaz de encontrar la respuesta. Espero no incomodar i servir de ayuda a principiantes como yo.

Por otro lado aprovecho para confirmar una informacion que he leido. Internet esta lleno de información pero no todas son veraces. (Espero que no sea un infraccion grave añadir una consulta fuera de titulo, pero mi interes aqui es secundario) En este caso todavia no he intentado documentarla por mi cuenta revisando el datasheet del ATmega328P. :-[ De los 200mA maximos que puedo suministrar, hay un maximo de 100mA por cada puerto de potencia. Estos puertos son: entrada analogicas i pines digitales 0 a 4// Pines digitales 5 a13
Es esto cierto? en ArduinoBoardUno no dicen nada al respecto, pero claro, no pueden explicar las 660 paginas del dataheet del ATmega328P :wink:

1 Like

Bueno, mucho de lo que pones es por comentarios que he hecho y realmente debo felicitarte por haber hecho tus deberes y no te trato como alumno porque no lo eres, pero de tu consulta surgen muchas cosas:

  1. que investigaste.
  2. que leiste las normas.
  3. que has leído muchos comentarios de este foro antes de hacer la consulta
  4. que leíste hojas de datos..

y bueno aún asi tienes dudas y te comprendo, porque porque como siempre hay mucha información cruzada en internet y no sabes quien sabe lo que dice (no porque yo sepa) y quien no.

Respondo:
Estas muy cerca de la respuesta. Casi la arañaste pero luego se te cruzaron algunas lecturas que perturbaron la verdad.
El hecho es que el Arduino UNO y muchos mas, tiene un FUSIBLE de 500mA.
Asi que todo esta limitado a 500mA, incluido lo que consume el Arduino (alrededor de 65mA según alguien midió, que no he sido yo) de modo que podemos pensar que el resto esta disponible para su uso por el pin 5V? Claro que si.
Nos quedan 435 mA aproximadamente? Eso parece.
Perooo si usas las salidas digitales, la hoja de datos dice que solo estas pueden entregar 200mA sumadas. Asi que eso no tiene que ver con el dato anterior. Es una limitación del ATMEGA328P por una cuestión de diseÑo y limitación de potencia.
Voy a leer lo que mencionas de los 100mA porque ahora no se responderte.

Resumen: pin 5V podria suministrar 500 - consumo Arduino = aprox 435mA. Ahora si consumes 200 mA en las salidas digitales eso estará disminuido.. porque debes descontar 200mA nuevos y solo te quedarían 235 para alimentar dispositivos externos. Asi que atención!!

1 Like

Bueno esto es lo que encontré


Ahi se muestra cada puerto y las restricciones cuando se esta a nivel alto y nivel bajo. Corrientes nivel alto IOh y corriente nivel bajo IOl.
Para IOh habla de 150mA por puerto.
Para IOl habla de 100 mA por puerto.

Ahora como las salidas del ARduino comparten puertos tal vez por eso la restricción sugerida por Arduino.cc sea que no superen 200mA en total para todas las salidas.
Espero se comprenda.

Aprovecho el hilo para hacer una consulta , Si cada pin digital del arduino puede dar maximo unos 40 ma , y necesitara alimentar algo que consumiera por ejemplo 80 ma, podria conectar 2 o 3 pines en estado HIGH para lograr los 80ma no?

Surbyte, porfavor, podrias aydarme a entendre mi error? En que parte del esquema puedo encontrar el fusible?

He visto en el esquema mf-msmf050-2 500mA, si este es el fusible deveria afectar solo a la alimentacion procedente de USB

Entiendo que dc21mmx es el conector de fuente externa, este pasa por un diodo. i de ahí al ncp1117st50t3g. La salida de este esta marcada directamente a 5v.

Francosalda, i no es mas facil usar un transistor? Si hay algun defase (no se si es posible) en el canvio de estado de una salida respecto a otra, harias recaer sobre las otras ese consumo, creando daños ireparables.

francosalda:
Aprovecho el hilo para hacer una consulta , Si cada pin digital del arduino puede dar maximo unos 40 ma , y necesitara alimentar algo que consumiera por ejemplo 80 ma, podria conectar 2 o 3 pines en estado HIGH para lograr los 80ma no?

Y porque no usas un transitor y no arriegas el arduino. Estas ideas no las entiendo. Un transistor cuesta centavos.. una Resistencia y tienes lo que necesites.

UrsusMandrosus:
Surbyte, porfavor, podrias aydarme a entendre mi error? En que parte del esquema puedo encontrar el fusible?

He visto en el esquema mf-msmf050-2 500mA, si este es el fusible deveria afectar solo a la alimentacion procedente de USB

Entiendo que dc21mmx es el conector de fuente externa, este pasa por un diodo. i de ahí al ncp1117st50t3g. La salida de este esta marcada directamente a 5v.

La fuente externa y la conexión por VIN estan limitadas por el fusible de 500mA
ALgunos dicen que usando un POWER BANK no hay limitación y se podría llegar a 650mA
Con la conexión por USB no hay fusible. (si lo dije antes me equivoqué).

Perdona que insista, busco algo mas argumentado que "algunos dicen..." ara además de tener una respuesta funcional, aprender.

Insisto en el analisis del esquema, si el equipo de Arduino, ha hecho publico el esquema electrico, lo unico necesario es saber interpretarlo ( y aqui necesito algo de ayuda)


Aqui se ve corregirme si interpreto mal, a la izquiera el conector de fuente externa, en el centro el regulador de tension U1 del que cite el datasheet, i a la derecha su salida de 5V. Si esto es realmente así, la salida de 5v deveria ser la maxima que diga el datasheet. no?

Por otro lado tenemos:

Que a mi me hace toda la pinta de ser el fusible a la entrada de alimentación via usb.

Para mi, esto refuerza mi teoria de que si alientamos via usb tenemos un limite de 500mA (obiamente menos el consumo del micro), y la protección del fusible, pero si alimentapos por fuente exerna via conector 2,1mm, la intensidad limite es la del regulador de tensión, sin tener la proteccion de este fusible. De confirmarse esto, como ya dige en mi primera intervencion, necesitaria ayuda para interperetar el datasheet i saber si la salida maxima son 800mA, 2200mA u otra cifra que se me haya pasado por alto.

Y a todo esto reconozco ser incapaz de interpretar la parte del opercional UA5 i el transistor mosfet

Me parece como si comparara la mitad de la tensión de entrada en Vin, con 3,3v para dar paso o no a la tension de alimentacion del usb (Supongo que selecciona el origen de la fuente de alimentación, pero no me cuadra del todo). I tambien parece haber otro regulador U2, que a partir de los 5v nos da los 3,3v. Però quiza se me escape algo de todo esto.

Gracias de antemano en cualquier explicación que nos ayude a la correcta interpetación de los esquemas.

Yo no tengo un UNO para responderte.
Se que por norma USB 2.0 siempre había un limite de 500mA para cualquier dispositivo por eso me parecía redundante.
Parece que tienes razón por el momento y que yo lo creía al revés.
Mira este link sobre cuanto puede entregar cada pin y el arduino

Miré el enlace, interesante, esto clara el tema de limitación de corriente por puertos, no solo por positivo, sinó también por negativo.

Pues ahora que parece haber consenso para saber el limite de salida cuando alimentamos por conector 2,1mm o por Vin, hay que interpetar la hoja de datos del ncp1117st50t3g.
Aquí esta el Datasheet

Por un lado encuentro

Output Voltage, Fixed Output Devices: 5v (Vin = 6.5 V to 12 V, Iout = 0 mA to 800 mA) Nota:
The regulator output current must not exceed 1.0 A with Vin greater than 12 V.

Pero por otro lado encuentro:
Output Current Limit (Vin−Vout = 5.0 V, TA = 25°C, Note: Tlow=0°C , Thigh=125°C) minim 1000 tipic 1500 max 2200mA

A ver si alguien nos ayuda a saber cual de los 2 datos es el bueno, o si la respuesta es otro dato.

Gracias!!!

Según lo veo yo el regulador es inteligente se auto-protege de excesos de temperatura en la unión y de excesos de corriente, yo tomaría como valor maximo de corriente 800mA el valor que mencionas abajo de Output Current Limit creo que es el valor desde el cual el se apaga para protegerse eso es lo que creo leyendo el datasheet no se los demas que opinen

En todo el análisis estas olvidando algo básico y es que el regulador del ARduino esta sin Disipador y entonces no podés pensar en que pueda entregar 800mA o 1A sin que se queme.
Mas aún, una cosa es que lo alimentes con 7V o 6.5V (como dice la hoja de datos) via externa y logres 500mA a la salida 5V y otra es que lo alimentes con 12V.
Hay un cambio importante en la disipación de potencia que debe tolerar el regulador de (7-5)V0.5A= 1W a (12-5)V0.5A= 3.5W
Quien disipa esos extra 2.5W ? Pues el regulador por su cuenta, y sin disipador. Puede? Claro pero si pasas de corriente subes la potencia a disipar y con 800mA estamos en (12-7)*0.8= 4W
Por eso también hay una limitación en cuanto puede entregar por la salida.
Ahora si como en su momento he leído que le pones un disipador al regulador entonces podría ser posible llegar a esos valores de corriente.

Tienes una fórmula muy importante que determina cuando deja de trabajar el regulador
Internal thermal shutdown protection limits the die temperature to approximately 175°C. Proper heatsinking is required to prevent activation. The maximum package power dissipation is:
PD = (TJ(max)- TA / RJA
RJA = 67 °C/W
TA = 30 °C supongamos o ponte en un valor mas cómodo si quieres
También dice que si TJ(max) > 175°C la protección térmica protege al regulador.
Entonce PD = (175-25)/67 = 2.23W

O sea que cuando superes 2.23W la temperatura en la Juntura respecto del ambiente será de 175°C y dejará de funcionar.
Entonces... ya tienes tu respuesta, y entiendes porque no puede el regulador en esas condiciones superar 500mA con cualquier condición de tensión de entrada.
La cosa empeora si el arduino esta en un gabinete cerrado y la TA sube a 40 o mas grados, lo que restringe entonces la PD a un valor menor y por ende una corriente menor disponible.

surbyte:
Y porque no usas un transitor y no arriegas el arduino. Estas ideas no las entiendo. Un transistor cuesta centavos.. una Resistencia y tienes lo que necesites.

Ultima respuesta para no desviar el tema , disculpame UrsusMandrosu :roll_eyes:

Se que lo más recomendado seria un transistor ,pero preguntaba por curiosidad nomas. Saludos

Perfecto Surbyte, una respuesta de este tipo es la que andaba buscando.
De tu explicación concluyo, para que qude cuantificados valores que puedan ser de utilidad practica a cualquiera que consulte esto:

en condiciones razonablemente desfavorables contando 30ºc de temperatura ambiente y alimentación a 12v
(175°C -30°C)/67°C/W = 2.16W
2.16W)/12v = 180mA de los cuales 75mA estarán disponibles en V5, i 105mA son consumidos por en regulador de tensión
I en condiciones muy favorables contando 20ºc de temperatura ambiente y alimentación a 7v
(175°C -20°C)/67°C/W = 2.31W
2.31W)/7v = 330mA de los cuales 236mA estarán disponibles en V5, i 94mA son consumidos por en regulador de tensión

Paso el titulo del foro a "Resuelto"
Si algun dia hago mediciones empiricas comentare aqui los resultados

A francosalda, la curiosodad es buena, i a veces requiere de experimentación. Si te animas con alguna prueva empirica ja explicaras, per te recuerdo que el mundo REAL es analogico, asi que aunque pases a high mas de una salida a la vez probablemente habra alguna diferencia de tiempo entre que se establezcan una y otra. Por otro lado, en establecerse una intensidad tambien pasa un tiempo, pero no se de que margenes estamos hablando.

Ademas de las diferencias de tiempo, no se si la diferencia entre pistas, cables, conectores... puede dar una diferencia de inpedancia sicnificativa compo para poders considerarse un paralelo de resistencias no identicas que ha desconpense el flujo de intensidad.

En fin, intento satisfacir tu curiosodad en la medida de mis capacidades igual que agradezco que satisfagan las mias, hasta aqui todo lo que se me ocurre, para mi el tema ya no da mas de si...

Hola!
No he podido evitar hacer pruebas empíricas para comprobar cuanto podía darnos a la salida v5 el Arduino uno R3. Me parecía que los valores calculados eran bajos y podría conseguir más. No conseguí más, pero debimos interpretar mal alguna cosa, ya que no son del todo precisos. Así que paso a explicaros las mediciones realizadas i a sacar nuevas conclusiones.

Recuerdo que de la documentación habíamos deducido:

en condiciones razonablemente desfavorables contando 30ºc de temperatura ambiente y alimentación a 12v
(175°C -30°C)/67°C/W = 2.16W
2.16W/12v = 180mA de los cuales 75mA estarán disponibles en V5, i 105mA son consumidos por en regulador de tensión

I en condiciones muy favorables contando 20ºc de temperatura ambiente y alimentación a 7v
(175°C -20°C)/67°C/W = 2.31W
2.31W/7v = 330mA de los cuales 236mA estarán disponibles en V5, i 94mA son consumidos por en regulador de tensión

MEDICIONES:[/u]
Ajusté una fuente de alimentación a 7v y fui midiendo el la intensidad en v5 con diferentes cargas. Con una carga de 30ohmios conseguí los esperados 170mA, pero a la que lo cargué con 20ohmios, que por ley de ohm necesitaba 250mA , obtuve 0A, es decir alguna protección, desconectó la alimentación. Bien, estaba previsto no poder conseguir más de 236mA. Hice una prueba cargando con 25omhios i conseguí 200mA, no ajusté más la carga, pero sabemos que da entre 200 i 250mA, probablemente los esperados 236mA. Hasta aquí todo bien. Lo inesperado viene ahora.
Ajusté una fuente de alimentación a 12v y fui midiendo el la intensidad en v5 con diferentes cargas. Con una carga de 70ohmios conseguí los esperados 70mA, pero esperaba que con 60 ohmios tendría 0A, ya que por ley de ohm necesito 80mA y habíamos estimado un máximo de 75mA. Pues los tuve. Vale que no hacían 30º como en el cálculo, pero pude cargar 50, 30…hasta 25ohmios. Se comportó igual que cuando entran 7v! Pero es más, también monitoricé la intensidad de entrada. Con la carga de 30ohms, 170mA (en la salida de 5v) en ambos casos, tanto cuando alimentaba a 7v como a 12v a la entrad del conector 2.5mm, la intensidad eran 210mA.
También hice medidas de intensidad a la entrada con el micro corriendo, pero sin cosas conectadas a las salidas, a la entrad del conector 2.5mm obtuve 50,8mA para 7v i 58,2mA para 12v.
CONCLUSIONES:[/u]
Cuando alimentamos por conector 2.5mm, a la salida de 5V podemos disponer de un valor que sera almenos de 200mA i menor de 250mA (probablemente un valor cercano a 230mA) , independientemente de la tensión a la que alimentemos. Este valor puede variar con la temperatura ambiente (o el tiempo en servicio que afectara en la temperatura del componente) Considerar 200mA me parece un criterio acertado.