Arduino의 핀에서 얼마나 많은 전류를 끌 수 있습니까?


답변:


91

이것은 약간 복잡합니다. 기본적으로 몇 가지 제한 요소가 있습니다.

마이크로 컨트롤러 (즉, 아날로그 및 디지털 핀)의 IO 라인에는 총 (예 : 총) 전류 제한과 핀당 제한이 있습니다.

여기에 이미지 설명을 입력하십시오
로부터 ATmega328P 데이터 시트 .

그러나 Arduino "핀"을 어떻게 정의 하느냐에 따라 전체 스토리가 아닙니다.

arduino의 5V 핀은 마이크로 컨트롤러를 통해 연결되지 않습니다 . 따라서 훨씬 더 많은 전력을 공급할 수 있습니다. USB에서 arduino에 전원을 공급할 때 USB 인터페이스는 총 전력 소비를 500mA로 제한합니다. 이것은 arduino 보드의 장치와 공유되므로 사용 가능한 전력이 다소 적습니다.
배럴 전원 커넥터를 통해 외부 전원 공급 장치를 사용하는 경우 로컬 1V 레귤레이터 (최대 1Amp)로 제한 됩니다. 그러나 이것은 또한 열적으로 제한 되어 있으므로 전력을 끌어 올리면 조정기가 가열됩니다. 과열되면 일시적으로 종료됩니다.

3.3V 조정 출력은 최대 150mA를 공급할 수 있으며 이는 3.3V 조정기의 한계입니다.


요약하자면

  • 단일 IO 핀 의 절대 최대 값40mA입니다 ( 이 값은 최대 값 입니다. 실제로 핀에서 최대 40mA를 가져 와서는 안됩니다. 기본적으로 Atmel이 더 이상 칩이 손상되지 않도록 보장 할 수없는 임계 값입니다. 항상 이 전류 한도 미만으로 안전하게 유지해야합니다 . )
  • 모든 IO 핀의 총 전류는 최대 200mA입니다.
  • 5V 출력 핀은 USB에서 ~ 400mA, 외부 전원 어댑터를 사용할 때 ~ 900mA에 적합
    • 900mA는 ~ 7V를 제공하는 어댑터 용입니다. 어댑터 전압이 증가함에 따라 레귤레이터가 처리해야하는 열의 양도 증가하므로 전압이 증가함에 따라 최대 전류가 떨어집니다. 이것을 열 제한 이라고합니다
  • 3.3V 출력은 150mA 를 공급할 수 있습니다.
    • 참고 – 3.3V 레일에서 공급되는 모든 전원 은 5V 레일을 통과해야합니다 . 따라서 3.3V 출력에 100mA 장치가있는 경우 총 5V 전류에 대해서도 장치를 계산 해야합니다 .

참고 : 이것은 Arduino Due에는 적용되지 않으며 Arduino Mega와는 약간의 차이가있을 수 있습니다. ATmega328 마이크로 컨트롤러를 기반으로하는 Arduino의 경우 일반적으로 그렇습니다.


2
좋은 요약! 핀의 최대 전류는 40mA로 평가 될 수 있지만 절대 최대 값입니다. 데이터 시트에 나와 있듯이 절대 최대 값으로 작동하면 손상 될 수 있습니다. 일반적으로 <35mA로 제한하는 것이 좋습니다.
baldengineer

Due에는 코어로 공급되는 차지 펌프가있어 핀으로 직접 노출되지 않지만 납땜 할 수 있습니다.
naven87

6
실제로 세 가지 제한 요소가 있으며 위의 답변에 나열된 두 가지 요소와 데이터 시트에 포트 C0-C5, D0-D4, ADC7 및 RESET에서 공급되는 모든 전류의 합계가 150mA를 초과해서는 안된다는 사실이 나와 있습니다. 마찬가지로 포트 B0-B5, D5-D7, ADC6, XTAL1, XTAL2에 공급되는 총 전류는 150mA를 초과하지 않아야합니다. 전류 싱크가 진행되는 한 포트 C0-C5, ADC7, ADC6의 합은 100mA를 초과해서는 안됩니다. 포트 B0-B5, D5-D7, XTAL1, XTAL2의 합은 100mA를 초과해서는 안됩니다. 포트 D0-D4의 합인 RESET은 100mA를 초과하지 않아야합니다. 이것은 모두 데이터 시트에 나와 있습니다.

편집에서 3.3V 레일이 FT232에서 나온다고 제안한 사람에게는 내가 본 보드 버전이 없습니다.
코너 울프

8

Uno, Duemilanove 의 최대 전류 값은 다음과 같습니다 .

I / O 핀당 DC 전류 : 40.0 mA

VCC 및 GND 핀당 DC 전류 : 200.0mA

모든 IO 핀에 대한 전체 DC 전류 제한 : 200mA

VCC / Vin / GND 핀이 두 개 이상인 경우 Arduino는 더 많은 전류를 사용할 수 있습니다. (각 핀은 ATMega328의 핀에 해당합니다)

이러한 제한은 마이크로 컨트롤러에 대한 것이므로 대부분의 아두 이노에서 다소 표준적인 것 같습니다.


8

내부 퓨즈를 트립하지 않고 각 Arduino의 핀에서 끌어낼 수있는 최대 전류량은 얼마입니까?

Arduino 보드에는 퓨즈가 하나만 있습니다. USB 포트에는 500mA에서 시작하는 전류를 제한 하는 재설정 가능한 Polyfuse 가 있습니다 . 이 퓨즈는 USB로 전원이 공급되고 5V 레일의 총 소모량이 500mA 이상인 경우에만 유효합니다. (이러한 유형의 퓨즈는 단순히 "열림"이 아닙니다.)

I / O 핀에서 너무 많은 전류 (40mA 이상)를 끌어 오면 핀이 손상됩니다. I / O 핀에는 퓨즈가 없습니다.


1
Nano 및 Micro 보드에도이 다중 퓨즈가 있습니까? 여기에 나노에는 다중 퓨즈가 없으므로 (5V 핀에는 전류 제한 기가 없음)
eadmaster

2

v2.3 회로도에 따르면 Arduino Nano 3.3v 레귤레이터는 직렬 IC의 FTDI USB입니다. 최대 전류 정격은 50mA입니다.


2

Nano 의 회로도 를 보면 FT232RL 칩이 3.3V 핀을 제공한다는 것을 알 수 있습니다. 데이터 시트 에 따르면 이 핀은 최대 50mA를 제공 할 수있다.

모듈을 실행하려면 외부 3.3V 전원을 공급해야합니다. USB 또는 5V 레귤레이터 ( UA78M05) 에서 공급되는 5V 핀으로 전원이 공급되는 3.3V LDO 레귤레이터가 제공 할 수 있습니다.


이것을 다시 생각하면 : 5V 핀을 전압 분배기 (2 개의 저항)와 함께 사용하여 3.3V에서 필요한 ~ 250mA 피크를 얻을 수 있다고 생각합니다.
rufo

4
당신은 다시 생각하고 있습니다. 전압 분배기는 큰 전류를 공급할 수 없습니다. 매우 작은 전류 (기준 전압)에만 해당됩니다.
Majenko


몰랐어요. 당신은 저를 많은 시간과 악화로 구했습니다 감사.
rufo

1
미래 에이 특정 답변을 보는 사람이라면 누구나 Arduino Nano의 3v3 핀과 관련된 다른 질문에 대한 답변이었습니다. 관리자가이 질문을 여기에 병합하기로 결정했습니다 (따라서 질문에 대한 불완전한 답변으로 원래 질문에 대한 훌륭한 답변을 이전 함).
rufo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.