Quanta corrente posso extrair dos pinos do Arduino?

55

Qual é a quantidade máxima de corrente que posso extrair de cada um dos pinos do Arduino sem disparar nenhum dos fusíveis internos? Existe um limite por pino, bem como um limite geral para toda a placa?

berry120
fonte

Respostas:

91

Isso é um pouco complexo. Basicamente, existem vários fatores limitantes:

As linhas de E / S do microcontrolador (ou seja, os pinos analógicos e digitais) têm um limite de corrente agregado (por exemplo, total) e um limite por pinos:

insira a descrição da imagem aqui
Na folha de dados do ATmega328P .

No entanto, dependendo de como você define os "Pins" do Arduino, essa não é a história completa.

O pino de 5V do arduino não está conectado através do microcontrolador . Como tal, pode obter significativamente mais energia. Quando você está ligando o arduino a partir do USB, a interface USB limita seu consumo total de energia a 500 mA. Isso é compartilhado com os dispositivos na placa do arduino, portanto, a energia disponível será um pouco menor.
Quando você estiver usando uma fonte de alimentação externa, através do conector de alimentação do barril, você estará limitado pelo regulador local de 5V, classificado para um máximo de 1 Amp . No entanto, isso também é limitado termicamente , o que significa que, à medida que você consome energia, o regulador esquenta. Quando superaquecer, será desligado temporariamente.

A saída regulada de 3,3V é capaz de fornecer 150 mA máximo, que é o limite do regulador de 3,3V.


Em suma

  • O máximo absoluto para qualquer pino de IO é de 40 mA ( esse é o máximo . Você nunca deve realmente retirar 40 mA completos de um pino. Basicamente, é o limite no qual a Atmel não pode mais garantir que o chip não será danificado. Você deve sempre garantir que está com segurança abaixo desse limite atual. )
  • A corrente total de todos os pinos de E / S juntos é de 200 mA máx.
  • O pino de saída de 5V é bom para ~ 400 mA em USB, ~ 900 mA ao usar um adaptador de energia externo
    • Os 900 mA são para um adaptador que fornece ~ 7V. À medida que a tensão do adaptador aumenta, a quantidade de calor que o regulador precisa lidar também aumenta, portanto a corrente máxima diminui à medida que a tensão aumenta. Isso é chamado de limitação térmica
  • A saída de 3.3V é capaz de fornecer 150 mA .
    • Nota - Qualquer energia consumida no trilho de 3,3V deve passar pelo trilho de 5V . Portanto, se você tiver um dispositivo de 100 mA na saída 3.3V, você precisa também contá-lo contra a corrente total 5V.

Nota: Isso não se aplica ao Arduino Due e provavelmente existem algumas diferenças para o Arduino Mega. Provavelmente, geralmente é verdade para qualquer Arduino baseado no microcontrolador ATmega328.

Connor Wolf
fonte
2
Bom resumo! Lembre-se de que, embora a corrente máxima de um pino possa ser classificada em 40mA, esse é o máximo absoluto. E, como diz a folha de dados, operar no máximo absoluto pode ser prejudicial. É geralmente recomendado limitar a <35mA.
precisa saber é o seguinte
O Due possui uma bomba de carga para fornecer a tensão do núcleo que não é exposta diretamente como um pino, mas pode ser soldada.
Naven87 13/04
6
Na verdade, existem três fatores limitantes, os dois listados na resposta acima, além do fato de que a folha de dados diz que a soma de toda a corrente proveniente das portas C0-C5, D0-D4, ADC7 e RESET não deve exceder 150mA. Da mesma forma, a corrente total fornecida pelas portas B0-B5, D5-D7, ADC6, XTAL1, XTAL2 não deve exceder 150mA. Quanto ao coletor de corrente, a soma das portas C0-C5, ADC7, ADC6 não deve exceder 100mA; a soma das portas B0-B5, D5-D7, XTAL1, XTAL2 não deve exceder 100mA; e a soma das portas D0-D4, RESET não deve exceder 100mA. Tudo isso está listado na folha de dados.
Para a pessoa que sugeriu em uma edição que o trilho de 3,3V vem do FT232, ele não aparece em nenhuma das versões da placa que eu olhei.
Connor Wolf
8

Os valores atuais máximos estão listados aqui para o Uno, Duemilanove:

Corrente DC por pino de E / S: 40,0 mA

Corrente DC por pinos VCC e GND: 200,0 mA

Limite geral de corrente CC para todos os pinos de E / S juntos: 200 mA

Observe que, se houver mais de um pinos VCC / Vin / GND, o Arduino poderá ficar mais atual. (Cada pino corresponde a um pino no ATMega328)

Estes parecem ser mais ou menos padrão para a maioria dos Arduinos, pois essas limitações atuais são para o microcontrolador.

Manishearth
fonte
8

Qual é a quantidade máxima de corrente que posso extrair de cada um dos pinos do Arduino sem disparar nenhum dos fusíveis internos ?

Existe apenas um fusível nas placas do Arduino. Há um Polyfuse reinicializável na porta USB que limita a corrente a partir de 500mA. Este fusível só é efetivo quando alimentado por USB e somente quando o consumo total no trilho de 5V for superior a 500mA. (Observe que esse tipo de fusível não é simplesmente "aberto".)

Se você consumir muita corrente (40mA ou mais) de um pino de E / S, isso danificará o pino. Não há fusíveis nos pinos de E / S.

baldengineer
fonte
11
as placas Nano e Micro também possuem esse polifusor? Aqui eles dizem que o Nano não tem POLYFUSE (e limitador assim nenhuma corrente no pino 5V)
eadmaster
2

De acordo com o esquema v2.3, o regulador Arduino Nano 3.3v é o usb FTDI para serial ic. Isso tem uma corrente nominal máxima de 50mA.

Transeunte
fonte
2

Se você der uma olhada nos esquemas do Nano, poderá ver que o pino de 3,3V é fornecido pelo chip FT232RL. De acordo com a folha de dados, esse pino pode fornecer no máximo 50mA.

Para executar seu módulo, você precisará fornecer uma fonte externa de 3.3V. Talvez fornecido por um regulador LDO de 3,3V alimentado pelo pino de 5V alimentado pelo USB ou pelo regulador de 5V, um UA78M05 , ambos com 500mA no máximo (menos a corrente exigida pelo Nano)

Majenko
fonte
Repensando isso: acredito que eu poderia usar o pino de 5V com um divisor de tensão (2 resistores) para obter o pico de ~ 250mA necessário em 3,3V.
rufo 03/02
4
Você está repensando errado. Os divisores de tensão não podem fornecer grandes correntes. Eles são apenas para correntes muito pequenas (voltagens de referência).
Majenko 03/02
Não sabia disso - você me salvou muito tempo e irritação. Obrigado.
Rufo 03/02
11
Para quem vê essa resposta em particular no futuro: essa foi uma resposta para outra pergunta especificamente relacionada ao pino 3v3 no Arduino Nano. Um administrador decidiu mesclar essa pergunta aqui (portanto, a conversão de uma excelente resposta para a pergunta original em uma resposta incompleta para a pergunta foi transferida para).
Rufo