3D프린터와 아두이노/아두이노

아두이노의 전원 및 하드웨어 인터페이스

메카럽 2020. 8. 30. 09:28
반응형

안녕하세요. 메카럽입니다.

이번 포스팅에서 다룰 내용은 아두이노의 전원부 인터페이스와 하드웨어 인터페이스에 대해 알아보고자 합니다.

사람이 밥을 먹어야 살 수 있듯이 전자기기도 전원이 있어야 동작을 합니다. TV, 라디오, 장난감 완구, 리모컨 등 완성품 수준의 전자기기들은 가정용 220V 전원을 사용하는 AC-DC 어댑터를 쓰거나, 소형 건전지를 통해 동작합니다. 또는 별도 배터리를 내장하여 충전식으로 작동하기도 합니다.

개발 단계에서부터 어떤 전원을 적용할지 고민해야 하며, 개발과정에서 단계별로 사용할 수 있는 전원도 여러 가지로 나눌 수 있습니다. 인터페이스의 정의와 문제가 발생하는 상황과 해결 방법에 대해 알아보도록 하겠습니다.

 

■ 전원 인터페이스

아두이노의 전원 공급 방법에는 크게 두 가지로 나뉩니다. 첫 번째는 자체적인 인터페이스용 커넥터가 달려서 해당 커넥터만 연결해주면 되는 경우입니다. 이런 케이스는 전원 공급과 시리얼 통신 이터페이스까지 가능한 경우입니다. 우노(USB Type B), 나노(USB mini B), 프로 마이크로(USB Micro B)가 여기에 해당됩니다.

인터페이스용 USB 커넥터

우노는 별도로 DC 전원 소켓(배럴 소켓)을 갖고 있어서 USB 외에 DC 전원용 배럴 잭으로 공급하거나, 점퍼선을 활용하여 Vin핀으로 이어서도 전원 공급이 가능합니다. 두 번째는 이러한 외부 인터페이스 커넥터가 없는 경우로 프로 미니, 비틀 등이 이에 해당합니다. 외부 인터페이스 커넥터를 없애 부피를 줄인 대신, 전원 공급을 위한 주의를 더 필요로 합니다. 

전원은 공통으로 아두이노의 MCU 중 ATmega328 계열은 5V 또는 3.3V를 사용합니다. 이 전압을 딱 맞춰 입력해주기 힘들기에 레귤레이터를 적용하는 것입니다. 참고로 5V 모델과 3.3V 모델의 차이는 공급 전압의 차이 외에도 MCU 클록 속도의 차이가 있으며 5V 모델은 16MHz, 3.3V 모델은 8MHz로 동작합니다.

전원 규격은 전압과 전류 두 가지를 확인해야 합니다. 먼저 전압에 관해 살펴보겠습니다. 기본적으로 아두이노의 사양에 맞는 전압 규격을 알고 있어야 하며 이 단계는 대체로 문제없이 넘어가는 편입니다.

전압이 문제가 되는 경우는 크게 세 가지 정도로 나뉘는데 사양보다 높은 전압이 들어오거나, 낮은 전압이 들어오거나, 정류에 문제가 있어 전압 레벨이 일정하지 않은 경우입니다.

허용치보다 높은 전압이 들어오는 경우 보드에 내장된 레귤레이터가 파손되며 허용치보다 낮은 전압이 들어오는 경우 작동을 하지 않거나 오작동을 일으키게 되고 전압이 흔들리는 경우는 수시로 리셋되거나 작동을 하지 않게 됩니다.

아두이노 보드들은 자체적으로 레귤레이터를 내장하고 있기 때문에 Vin, Vraw 단자가 있을 수 있는 것입니다. 아두이노의 ATmega328 MCU 동작 전압은 1.8V~5.5V 이지만 아두이노를 사용하는 사람들의 편의성을 위해 MCU 전원 입력단 앞에 레귤레이터를 배치하였습니다. 5V에 작동전압을 맞춘 소자가 많아서 공용으로 사용하는 개념입니다. 물론 3.3V의 작동 전압을 갖는 소자들도 많고 아두이노 또한 3.3V 버전을 제공합니다. MCU는 3.3V에서도 작동하지만 클록 속도가 8MHz로 떨어집니다. 속도가 떨어지는 데 반해 소모 전력이 줄어들게 되므로 원하는 설계치에 맞춰 사용하면 됩니다. 아래 Speed Grade는 ATmega328칩의 데이터 시트 일부이며 인가 전압에 따른 클록 속도를 나타내고 있습니다.

Speed Grade

 - ATmega48P/88P/168PV: 0 - 4MHz @ 1.8 - 5.5V, 0 - 10MHz @ 2.7 - 5.5V

 - ATmega48P/88P/168P: 0 - 10MHz @ 2.7 - 5.5V, 0 - 20MHz @ 4.5 - 5.5V

 - ATmega328P: 0 - 4MHz @ 1.8 - 5.5V, 0 - 10MHz @ 2.7 - 5.5V, 0 - 20MHz @ 4.5 - 5.5V

그리고 아두이노에 장착된 레귤레이터에 대한 입력 전압 사양도 지켜줘야 하는데, 아두이노 우노의 경우 7~12V 내의 값이 추천됩니다 만약 허용치보다 높은 전압이 인가될 경우, 보드에 내장된 레귤레이터가 타서 못 쓰게 될 가능성이 크며 그 이후에는 전원이 인가되어도 전원 LED가 작동하지 않을 것입니다. 통상적으로 이런 경우에는 레귤레이터만 타서 못 쓰게 되고 MCU는 작동에 이상이 없는 경우도 있습니다.

이 경우, Vin, Vraw 단자를 통해 전원을 공급해도 보드가 반응하지 않지만 3.3V나 5V 단자에 전원을 연결하면 보드가 작동하기도 합니다.

허용치보다 낮은 전압이 인가될 경우는 레귤레이터 입력전압 사양을 충족시키지 못해서 레귤레이터에서 MCU로 공급되는 전원이 충분하지 않은 경우입니다. 이 경우에는 MCU자체가 동작하지 않을 가능성이 큽니다.

마지막으로 빈번하지 않은 케이스인 전원이 흔들리는 경우인데 쉽게 말해서 9V 전원을 인가하였으나 9V를 지속해서 유지하지 못하고 8.5V, 8.7V, 9.2V, 9.4V, 9.0V, 8.6V 등 오락가락하는 경우로 그 변화량이 적으면 레귤레이터에서 처리가 가능하지만, 변화가 너무 크거나 기준전압보다 낮은 전압이 인가될 때는 MCU가 수시로 리셋되거나, 작동하지 않을 가능성이 있습니다.

레귤레이터 모델

위 그림은 레귤레이터 모델을 나타내는데 외부전원이 레귤레이터에 인가되면 레귤레이터는 사양에 맞는 전압을 출력시킵니다. 레귤레이터는 특정 레벨의 전압 출력을 저공한다는 점과 함께 입력전압 정류 기능도 갖고 있습니다. 다소 불안정한 전압을 일정한 수준으로 유지해주는 일입니다. 허용전압보다 높은 전압이 인가되면 레귤레이터 또는 MCU나 회로 전원이 OFF 되기에 일정한 레벨의 전원을 공급하는 것은 무엇보다 중요합니다.

아두이노를 적용하는 애플리케이션에서 사용할 수 있는 대표적 레귤레이터로는 7805, 7809, 7812 정도로 이 소자들은 굉장히 범용적인 것들로서 전자제품에 한 개 이상 들어있다고 생각해도 무방합니다. 각 소자는 출력 전압 대비 약 2V~2.5V 이상의 여유가 필요합니다. 가령 7809는 입력전압이 11.5V 이상이 되어야 정상적인 9V 출력이 나온다고 생각하면 됩니다. 높은 입력 전압과 낮은 출력 전압, 그 차이는 어디로 가는지 의문을 가져볼 법한 일입니다. 그 차이는 모두 열로 소진되는데, 소자의 후방에 배치된 은색 방열판을 통해 방출됩니다. 방열판을 통해 방출되는 열은 입력전압과 출력 전압 차이에 비례하여 높아지는데, 잘못 건드리면 손을 델 정도이니 주의해야 합니다.

여러가지 레귤레이터(2805, 2809, 7812)

위 그림은 TO-220 Package(DIP) 레귤레이터입니다. 사실상 외형으로 구분할 수는 없고 소자에 인쇄된 정보를 통해서만 알아볼 수 있으며 위 그림의 소자 형태를 TO-220 Package라고 하며, DIP 타입이라고 합니다. 소형의 SMD 타입도 있으나, 해당 소자를 찾고 있을 때는 이미 아두이노에 대해 어느 정도 알고 계신 후 일 것입니다.

이번에는 아두이노의 어떤 핀에 어떤 전원을 연결해야 하는지 알아보겠습니다.

우노의 경우 배럴 잭이나 USB 연결을 통해 한 번에 해결할 수 있지만 나노, 프로 미니 등은 납땜한 핀 중 하나를 선정하여 직접 전원을 인가해주어야 합니다.

아두이노 보드별 전원 단자

Vin(또는 Vraw)

이 핀들은 Input, Raw Voltage 정도의 의미가 있으며, 나노는 Vin, 프로미니는 RAW로 표기되어 있습니다. 여기에는 보드별로 주어진 혀용범위 내에서 정류되지 않은 전원을 연결합니다. 이 핀에 연결된 전원은 보드 내의 레귤레이터로 이어집니다.

5V(또는 Vcc)

레귤레이터에서 출력되는 5V 전원 또는 PC의 USB 케이블을 통해 공급되는 전원처럼 정확한 5V 전원을 연결합니다. 우노와 나노에는 5V로 표기되어 있고, 프로미니 등에는 Vcc로 표기되어 있습니다. 모두 같은 말이며 5V핀과 3.3V핀은 정류된 전원이 연결됩니다. 이들은 같은 노드이므로 입력뿐만 아니라 출력을 활용할 수도 있으므로 각 전압을 사용하는 센서 등에 전원을 공급하는 용도로 사용할 수 있습니다.

3V3(또는 Vcc)

우노와 나노에서 지원하는 3.3V핀입니다. 우노에서는 3.3V로 표기되어 있고, 나노에는 3V3으로 표기도어 있습니다. 3.3V를 출력하는 레귤레이터나 분배 저항을 통해 정확한 전압을 맞춰주지 않는 이상 3.3V 전압을 인가해주기는 쉽지 않습니다. 3.3V를 사용하는 프로미니의 경우에는 RAW 핀을 통해 외부전원을 인가해주고 3.3V 핀은 해당 전압을 사용하는 기타 외부기기, 센서 등의 전원공급용으로 활용하는 것이 일반적입니다.

 

■ 하드웨어 인터페이스(전원 및 데이터 전송)

아두이노는 크게 두 가지 형태의 인터페이스를 제공합니다. 첫 번째는 우노와 같이 준비된 보드에 점퍼선만 연결하면 바로 사용할 수 있는 타입과 두 번째는 나노, 프로미니, 프로 마이크로와 같이 헤더 핀을 조립, 납땜해서 쓰는 타입입니다.

첫 번째 타입은 결선과 탈선이 간편하다는 장점이 있으나, 점퍼선과 슬롯 간의 기계적 결합력이 느슨해지면 접촉 불량이 발생할 소지가 있습니다. 특히 다양한 중국산 호환보드와 점퍼선은 제조공정이 일정하지 않아 그 결합을 담보하지 못합니다. 하지만 그 편의성과 간편성으로 인해 초보자들이 사용하기 가장 좋은 인터페이스입니다.

두 번째는 헤더 핀 결합 후 납땜을 하여 사용하는 타입들입니다. 이 경우 납땜의 번거로움이 있지만, 소형화된 아두이노 보드를 사용할 수 있다는 점과 만능기판 또는 제작된 PCB에 보드와 소자를 납땜하여 사용하므로 탈선이나 접촉 불량으로 인한 오류 발생 가능성은 현저히 낮다는 장점이 있습니다.

결선구조(좌:우노, 우:나노)

회로와 회로 간의 데이터 전송과 전원 연결을 위해서는 어떤 커넥터와 소켓을 고려해야 합니다. 기술적으로 가장 좋은 방법은 해당 장치에 맞는 커넥터와 소켓을 개발하는 것이지만, 이는 비용 측면에서 굉장히 좋지 않은 방법이므로 가급적 표준화된 기성 제품을 고려하게 됩니다.

범용성과 호환성은 획일적인 느낌을 주기도 하지만, 어떤 물건을 만드는 데 있어 고려해야 할 점을 완화시켜준다는 장점이 있습니다. USB 커넥터와 소켓이 대표적인 예로써 회로와 회로 간의 연결에서 USB 케이블에 대한 문 역할을 합니다.

아두이노와 같이 DC 전원으로 구동되는 회로는 회로 간의 연결 외에 배터리를 위한 전원 소켓도 생각해야합니다. 아두이노와 회로에 들어가는 부품들은 대체로 DC 전원을 사용하지만, 그 전원을 배터리가 아닌 AC 전원을 사용하기도 합니다. 정확히는 AC 전원을 DC로 바꿔주는 어댑터를 사용하는 것이며 전력 소모가 많으면 배터리 교체 수요를 감당하는 것도 쉬운 일이 아닙니다. 이를 위해 220V 콘센트에 연결되는 AC-DC 어댑터를 고려할 수 있는데 어떤 전원, 어떤 소켓이 유리할지는 개발자가 생각하고 판단해야 하는 몫입니다.

728x90
반응형