아두이노2017. 10. 25. 10:56

아두이노 우노 기준으로 3.3V 와 5V 전원을 자체에서 공급할 수 있게 되어 있다. 하지만 아두이노의 최대 출력 전류는 500mA 밖에 되지 않는다.  만약 서보모터 2개 이상을 제어하는 프로젝트를 아두이노 자체 전력을 이용해서 만든다면 작동하지 않거나 작동하더라도 아두이노가 고장이 날 수 있다. 보통 서보모터의 소비전류는 400mA 가 넘기 때문이다.  이럴 경우에는 아두이노 자체 전력을 이용하지 않고 외부전원을 이용해야 안정적으로 동작한다. 이 글에서는 아두이노 외부전원 연결에 대해서 알아보려고 한다.


아두이노 우노의 구조 : 자체적으로 3.3V 및 5V 출력을 지원하지만 레귤레이터의 한계 때문에 500mA 정도의 전력 밖에 지원하지 않는다 (이미지 : http://jameco.com)


아두이노 자체의 전원으로는 LED 몇 개, 전력소모가 낮은 센서 1~2개 정도야 문제 없이 구동이 가능하지만 전력소모가 큰 센서나 모터 같은 경우는 제대로된 동작이 어렵게 된다.



아두이노 자체 전원으로 3개의 서보모터를 가동하는 경우이다. 서보모터 1개 정도는 자체전원으로도 문제가 없지만 3개가 동시에 가동된다면 제대로 움직이지 않을 것이다. 그러므로 전원연결의 나쁜 케이스라고 할 수 있다.


위의 나쁜 케이스를 외부전원을 이용해서 개선해 보았다.  외부전원(배터리)가 추가 되었고 배터리의 마이너스(-) 는 아두이노의 GND에 연결해 주었다. 위와 같이 하면 아두이노 자체 전원이 아닌 외부전원으로 서보모터가 구동이 되므로 안정적으로 동작이 가능하다. (외부 공급 전원은 작동시키려는 부품의 허용 동작전압을 넘지 않도록 한다)

 

덧붙여서 아두이노 가동을 위한 전원의 경우 외부전원의 전력이 충분하다는 전제하에 위의 그림과 같이 외부전원의 플러스(+)를 아두이노의 VIN 단자에 연결하면 아두이노 작동을 위한 별도의 전원을 연결하지 않아도 된다.

반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요

  1. asd

    정말 완벽한 설명 감사드립니다! 많은 도움이 되었어요.

    2018.01.08 22:59 [ ADDR : EDIT/ DEL : REPLY ]
  2. 비밀댓글입니다

    2018.05.18 20:37 [ ADDR : EDIT/ DEL : REPLY ]
    • 그러한 전력부족 문제를 해결하고자 작성한 글이 이 글인데요 ^^;;

      2018.05.18 20:39 신고 [ ADDR : EDIT/ DEL ]
    • 질문자

      아 그렇다면, 혹시 9V 배터리 하나만 연결해서 그런 것 일까요? 배터리를 여러개 연결하던지 해야하는지요??

      제가 질문드리는 이유가 ㅜㅜ
      말씀하신 대로 해 봤는데 따닥따닥 돌아가서요.. 이 글과 다른 건 배터리 9V 한 개만 사용한 것 밖에 없는데, 이것이 문제가 된걸까요???

      답변달아주셔서 정말 감사합니다!!!

      2018.05.18 20:41 [ ADDR : EDIT/ DEL ]
    • 9v 2개를 병렬로 연결해서 다시 해보시길... 안되면 3개.... 4개...

      2018.05.18 20:42 신고 [ ADDR : EDIT/ DEL ]
  3. 가나다

    안녕하세요! 서보모터 5개를 6V건전지 2개로 제어하다가 서보모터 한개빼고 고장이 난거같은데요

    아두이노 건전지 서보모터 세개 그라운드를 묶으라고 설명하셨는데 저흰 서보모터와 건전지만 그라운드로 묶고 아두이노 그라운드는 연결하지 않았었습니다

    혹시 이 이유때문에 서보모터가 고장난걸까요?? 다시 서보모터를 구매해야하는 상황같긴한데 정확한 원인이 무엇인지 몰라서 여쭤봅니다ㅠ 한개씩 제어 했을땐 다 잘 됐었습니다..

    2018.05.24 21:57 [ ADDR : EDIT/ DEL : REPLY ]
    • 글쎄요... 서보모터 허용전압을 넘지 않았으면 괜찮을것 같은데... 잘 모르겠습니다.

      2018.05.24 22:37 신고 [ ADDR : EDIT/ DEL ]
  4. 안녕하세요 글 잘읽었습니다.
    글을 요약하자면 전력이 많이 필요한 경우 외부전원으로 직접 모터(라든가 디바이스) 에 파워를 넣어주고 제어만 아두이노로 한다. 그리고 아두이노 자체 전원도 배럴잭이나 usb로 넣어주는 것이 아닌 외부전원에 꼽사리껴서 Vin 핀에 연결해준다.

    그런데 마지막 부분이 궁금하데요 DC 배럴잭을 이용하는 경우 레귤레이터가 바로달려있어서 9V를 넣어도 5V로 적절히 변환되어 들어가는 것으로 아는데요 Vin 핀을 사용하여 외부전원을 아두이노에 직접 연결해주는 경우에도 레귤레이터에 의해 자체적으로 안전한 전압으로 변환되어 들어가나요? 궁금합니다. 안그러면 소자 자체가 타버릴것같아서요 ㅎㅎ;

    또하나 추가드리면 그럼 외부 전원으로 서보모터에 파워를 넣어주고 아두이노 자체는 usb나 배럴잭으로 따로 파월르 넣어주는 것도 가능한가요? 아니면 두 전원의 전위차가 생겨서 발열이 생기려나.. 궁금합니다.

    답변주시면 감사하겠습니다 ^^^

    2018.08.10 11:50 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 우선 vin도 레귤레이터를 탑니다. 그리고 두번째 질문. 가능합니다. 그걸 설명한게 이 글의 내용 같습니다. 단 외부전원에 연결되었던 아두이노 전원은 뽑아야겠죠

      2018.08.10 12:24 신고 [ ADDR : EDIT/ DEL ]
  5. 둥이들

    마지막 사진처럼 연결을 하려고하는데 메가보드의 5v랑 빵판이랑 연결하고 건전지홀더+,-를 빵판에 연결해도 된다는 말씀이시죠?

    2020.10.24 18:28 [ ADDR : EDIT/ DEL : REPLY ]
  6. 동동

    좋은글 감사드립니다. 질문이 하나 있는데
    만약 36V 모터를 구동시키려면 9v 배터리4개를 사용하면 된다는 말씀이신가요..?

    2021.01.12 20:20 [ ADDR : EDIT/ DEL : REPLY ]
  7. 박시우

    안녕하세요. 우선 너무나 유익한글 참 감사합니다. 아두이노 기판에 관련하여 질문 하나 드려도 괜찮으신지요? 해결하긴 했는데, 이유를 모르겠습니다..

    1. 문제점
    아두이노메가에 전용 어댑터전원 연결 되어 있고, 인터럽트 핀에 근접센서를, 디지털 아웃풋에 모터드라이버를 경유하여 dc모터를 연결했습니다.
    그런데, 센서값에 따라 코딩한대로 dc모터가 움직이지 않았습니다. 인터럽트 핀에 연결한 센서에 문제가 있는 것 같았습니다.

    2. 해결방법
    이에 여러 시도를 해본 결과, "아두이노판에 전원 인가된 상태에서" , 그다음 dc모터에 연결한 것이 문제임을 알았습니다.
    물론 dc모터등 연결할거 다한 후에 전원을 물리니 오류가 없더라구요.
    왜 이런 문제가 발생한 걸까요??
    읽어주셔서 감사합니다.

    2021.03.16 00:18 [ ADDR : EDIT/ DEL : REPLY ]