핀이 싱크 할 수있는 전류량에 제한이 있습니까?


13

Arduino Uno가 제어하는 ​​8x8 LED 매트릭스를 실험했습니다. 필자가 일반적으로 생각하는 것처럼 매트릭스는 각 행에 공통 양극을 사용하고 각 열에 공통 음극을 사용합니다.

현재 모든 매트릭스 핀을 Uno의 IO 핀에 직접 연결했으며 LED를 하나씩 켜는 데 아무런 문제가 없었습니다. 이처럼 전체 매트릭스를 살펴보면 업데이트 속도가 약간 느려져서 LED가 원하는만큼 밝지 않습니다.

내가 아는 한 Uno의 개별 핀이 동시에 8 개의 개별 LED를 구동하기에 충분한 전류를 공급할 수 없기 때문에 한 번에 전체 행을 안전하게 비출 수 없습니다 (각각 10mA 이상이 필요함) 충분히 밝습니다).

그 반대가 더 안전 할 수도 있습니다. 한 번에 전체 열을 켜면 각 핀은 하나의 LED에 충분한 전류 만 공급하면되므로 문제가되지 않습니다. 그러나 8 개 모두에서 전류를 싱킹 할 수있는 핀 하나에 의존하며 총 80mA 이상이된다.

이것이 가능합니까, 아니면 보드를 볶을까요?


정확히 어떤 디스플레이를 사용하고 있습니까? 아마도 Arduino 대신 시간 표시를 튀길 수 있습니다.
jippie

부품 번호가 없으므로 정확한 데이터 시트가 없습니다. 필자는 각 LED의 순방향 전압이 2V라고 가정하고 현재 테스트 중 390 옴 직렬 저항을 보수적으로 사용하고 있습니다. 그것은 내가 생각하는 각각 약 8mA에서 그들을 구동한다는 것을 의미합니다.
Peter Bloomfield

괜찮습니다.
jippie

하고있는 일에 대해 좀 더 자세히 설명해 주시겠습니까? 내가 묻는 이유는 똑같은 일을하고 싶기 때문에 초보자입니다. 나는 RTFMing이고 당신의 질문은 나의 검색에서 가장 큰 인기였습니다. 나는 jeffsilverm@gm4il.c0m입니다. 감사합니다.
user1928764

답변:


13

보드를 볶을까요?

아마도 결과 일 것입니다. 이유는 다음과 같습니다.

Arduino Uno는 atMEGA328 마이크로 컨트롤러를 사용하는데 GPIO 당 최대 정격 40mA 소스 또는 싱크를 갖는 atMEGA328 마이크로 컨트롤러를 사용합니다. 또, 전원 또는 접지 레일 (즉, 현재의 모든 OP의 합계가 싱크대에 GPIO 핀 원 또는 소스)를 통한 전체 전류가 최대 정격 150 200mA.

실제로 atMEGA328 데이터 시트의 전류 그래프는 40mA까지 올라가지 않으므로 GPIO 당 총 20mA로 전류를 제한하는 것이 가장 안전합니다.

다시 말해 GPIO를 소스로 사용하든 싱크로 사용하든 한계는 매우 낮게 유지되며 실제로는 절대 최대 정격보다 훨씬 낮게 유지해야합니다. 절대 최대 값 이하에서도 마이크로 컨트롤러를 너무 높은 온도로 실행하면 수명이 단축됩니다.

해결책 :

BJT, MOSFET 또는 ULN2003 과 같은 일부 드라이버 IC 를 사용하여 실제로 LED를 통해 전류를 구동하십시오.


2
150mA 최대 값은 어디에서 찾았습니까? 패키지? 절대 최대 정격 에서 200mA가 있습니다.
jippie

@jippie I goofed :-)
Anindo Ghosh

9

나는 마지막 arduino SE 시도 에서이 질문에 대답했을 때 대답을 훔칠 것입니다.


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

마이크로 컨트롤러 (즉, 아날로그 및 디지털 핀)의 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의 경우 일반적으로 그렇습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.