728x90
반응형

가끔 RC카와 같은 로봇 장난감들을 제작하기 위해서 DC모터를 작동시켜보면 회전력이 약할 때가 있다
그 이유는 아두이노 보드와 관련이 있다고 말할 수 있다.
아두이노 보드는 먼저 PC에 연결하면서 전원을 공급받게 된다.
노트북이나 PC의 USB포트로 5V 전원을 공급받으며,
아두이노 보드도 5V만큼의 전원을 부품들에 공급해주게 된다.
이때 각 부품마다 정격 전압이 있기 때문에 5V보다 더 큰 힘이 필요한 부품들은 외부 전원을 연결해 주어야 한다.

>> 외부전원 연결하기

아두이노 보드의 경우 외부전원을 6 ~ 20볼트 범위로 공급받을 수 있다.
보통은 7V ~ 12V로 공급하는게 좋다.

공급하는 방법은 두가지가 있다.
첫번째는 DC배럴잭을 통해서 공급하는 방법과
두번째는 전원 핀에 해당하는 Vin 핀을 통해 공급하는 방법이다.

1. 첫번째 DC배럴잭부터 살펴보겠다.
DC배럴잭의 경우에는 보통 PC와 연결하지 않았을 때 아두이노 보드에 전원을 공급하는 용도로 많이 사용한다.
그 이유는 DC 배럴잭에는 레귤레이터가 작동읗라기 때문에 7-12v의 범위의 전원을 공급하더라도
레귤레이터를 통해 5V로 변환되어 아두이노 보드에 공급된다.
배럴잭 타입은 배터리케이스와 어댑터 클립이 있기 때문에 아두이노 보드에 쉽게 전원을 공급할 수 있다.

2. 두번째 vin 핀을 통해 전원을 공급하는 방법

이때 vin 핀을 통해서 전원을 공급하게 되면 레귤레이터가 작동하지 않기 때문에 내가 연결한 전원만큼
아두이노 보드에 전원을 공급하게 된다.
예를 들어 6 - 12볼트의 전원을 필요로 하는 모터 부품들은 vin 핀을 통해 외부전원을 공급할 수 있도록 하는 것이다.

---

아두이노의 전원을 연결하는 방법
USB Port, DC barrel jack, Vin Pin

1. USB Port
USB Port 는 컴퓨터와 USB 케이블(표준형 USB B Type Cable)로 연결하는 방법으로 컴퓨터로부터
전원(5V)를 공급받게 된다.
또한 USB Port를 통해 컴퓨터와 통신을 하기 때문에 Arduino에 코딩한 프로그램을 전송하는데 반드시 필요하다.

2. DC Barrel jack

두번째 방법으로 DC 배럴잭을 통해 전원을 공급하는 방법이 있다.
컴퓨터와 연결하지 않고 아두이노 보드에 전원을 공급하는 용도로 사용한다.
아두이노는 외부로부터 6 - 20 볼트 범위로 전원을 받을 수 있는데
일반적으로 7 - 12볼트로 공급되는게 좋다.
7 - 12볼트로 전원이 공급되더라도 레귤레이터를 통해 5V 로 변환되어 아두이노 보드에 공급되기 때문에
걱정하지 않아도 된다.
대부분 우리나라의 전원은 AC 220V 이기 때문에 AC-DC 어댑터가 필요하다.
어댑터의 정격 용량은 1A 이상의 DC 9V 제품을 사용하는 것을 추천한다.
(7V 미만의 보드는 불안정, 12V 이상은 레귤레이터의 손상이 우려된다)

또한 AC-DC 어댑터 사용시에는 주의사항으로 어댑터의 극성을 꼭 확인해야 한다.
Positive Polarity를 사용해야 하며 Negative Polarity를 사용하면
아두이노 보드가 타거나 고장날 수 있다.
DC barrel jack으로 건전지를 연결하여 전원을 공급할 수도 있다.


3. Vin 핀

세번째 방법으로 Vin pin을 통한 방법으로 보드의 Vin와 GND에 점퍼선을 사용하여
Vin에 '+' 전원을, GND에 '-' 전원을 연결하여 외부 전원을 공급할 수 있다.
Vin pin을 사용하면 레귤레이터를 통하지 않기 때문에 원하는 만큼 아두이노 보드에 전원을 공급하게 된다.
전원을 원하는대로 공급이 가능하지만 그만큼 과전압을 사용하지 않게 주의하여야 한다.

또한 배럴잭과 동시에 사용하지 않아야 한다.

부주의시 역전압이 발생하여 폭발이나 화재의 위험이 있다.

---

아두이노의 정격전압은 7 - 12V 이다.
전압 요구사항의 경우 아두이노 우노는 6 - 20VDC의 전원을 사용할 수 있지만,
7V 미만이면 5V핀의 출력이 5V가 아닐 수 있다.

12V를 초과하면 전압 조정기에서 과도한 열이 발생할 수 있기 때문에 권장 전압은
7 -12 볼트이다.


---

추천 사용전압은 7 - 12볼트이다.
보드는 외부전원 사용시 6 - 20V 를 사용할 수 있지만
7V 미만의 전압을 공급할 경우 5V 핀이 5V 이하로 내려갈 수 있어 보드가 불안정해질 수 있으며,
12V 이상으로 전압을 공급할 경우, 전압 레귤레이터에 부하가 걸려 보드가 손상될 수 있다.
다음은 전원 핀에 대한 설명이다.

Vin : 외부 전원 소스를 사용할 경우 입력 전압 핀이다.
5V : 이 핀은 보드상의 레귤레이터에서 생성된 5V를 출력한다.
보드에 전원을 공급하는 방법은 DC파워잭(7-12V)을 통해 공급하는 방법
USB커넥터(5V)를 통해 공급하는 방법
아니면 VIN(7-12V) 통해 공급하는 방법이 있다.
5V 핀이나 3.3V 핀을 통해 전원을 공급하면 보드를 망가트릴 수 있다.
3.3V 보드상의 레귤레이터를 통해 3.3V 전압을 출력하는 핀으로 최대 전류는 50mA
IOREF: 이 핀은 보드상의 MCU가 동작하는 전압에 대한 레퍼런스를 제공한다.
적절하게 설정된 아두이노 쉴드는 IOREF 핀 전압을 읽을 수 있기 때문에
읽힌 전압에 따라 적절한 전원소스를 선택하거나 3.3V나 5V를 사용하기 위해
Voltage translator를 활성화 시킬 수 있다.


>> 아두이노 우노 보드, 사용가능 I/O 최대 전력량 체크 및 고 전력 장치 제어

- 전력량
- 아두이노 핀마다 사용가능한 전류/전력량
- 아두이노 input 전원 전력
- 아두이노로 5V, 20mA 이상의 제품 컨트롤

> 전력량

몇몇 고 전력 외부장치를 구동하기 위해 어느정도의 회로는 구상했지만
생각해보면 구동을 위해 얼마만큼의 전력이 필요한지를 생각하지 않았기 때문에
정리하고 넘어가도록 한다.

전력량은 간단한 계산을 통해 구할 수 있다
전력(P) = 전류(I) * 전압(V)
따라서 아두이노 자체에서 사용 가능한 전압/전류를 확인하면 된다.

> 아두이노 핀마다 사용 가능한 전류/전력량

아두이노의 사용 가능한 전력량을 체크해줘야 하는 이유:
- 몇 개의 장치를 동시 구동 가능한지 파악하기 위해
- 고 전력이 필요한 장치의 경우, 아두이노만의 전력으로 구동 가능한지,
외부전원이 필요한지 파악하기 위해서

Specification

Microcontroller: ATmega328P
Operating Voltage: 5V
Input Voltage(recommended): 7 - 12V
Input Voltage(limit): 6 - 20V
Digital I/O Pins: 14(of which 6 provide PWM Output)
PWM Digital I/O Pins: 6
Analog Input Pins: 6
DC Current per I/O Pin: 20mA
DC Current for 3.3V Pin: 50mA
Flash Memory: 32KB(ATmega328P) of which 0.5KB used by bootloader
SRAM: 2KB(ATmega328P)
EEPROM: 1KB(ATmega328P)
Clock Speed: 16MHz
LED_BUILTIN: 13

따로 측정을 해보지는 않았지만 본 스펙에서는 핀당 20mA의 전류를 사용 가능하고
3.3V 사용시 50mA 까지 뽑아 쓸 수 있다고 한다.

다만, 다른 블로그에서는 5V 핀들은 400-500mA, 3.3핀들은 50mA라고 하는데
5A 핀의 아웃풋이 아닌, 아두이노가 받아 사용할 수 있는 전압/전류량이 아닐까 생각된다.

핀당 20mA는 권장량이고, 40mA까지 사용가능하다고 알고 있다.
다만 이렇게 많은 전류를 사용할 시, 아두이노 보드에 과열이 발생할 수 있다.

---

아두이노에는 3가지 전력 제공 방법이 있다.
USB Port, DC Barrel Jack, Vin Pin

1. USB Port
컴퓨터와 통신을 통해 Arduino 코딩 전송을 하는 라인을 통해 컴퓨터로부터 5V 전원을 공급
스마트폰 충전기나 보조배터리로도 공급 가능

2. DC Barrel Jack
외부로부터 6-20V를 공급 받을 수 있지만, 일반적으로 7-12볼트로 공급받는게 좋다.
(낮으면 보드 불안정, 높으면 레귤레이터 손상)
아두이노는 7-12V 어댑터를 연결하면 알아서 자체적으로 5, 3.3V로 낮춰서 구동된다.
전압 변환 역할을 해주는 것이 5V 레귤레이터이다.
그래서 주로 1A 이상의 DC9V 제품을 사용하고
Positive polarity 제품을 사용한다. - 0 +

DC barrel jack은 파워 어댑터, 배터리 등의 외부 전원을 사용하여 전원 공급이 가능하지만
앞서 말한 레귤레이터로 인해 아두이노 보드에 사용하기 용이한 최대 5V, 500mA의 전력만 사용 가능하다.

3. Vin pin
레귤레이터를 사용하지 않기 대문에 필요한 전원만큼 보드에 전원 공급이 가능하다.
**다만 배럴잭과 동시에 사용하게 되면 역전압으로 화재의 가능성이 있다.
아두이노 우노의 Vin 핀이 흘려 줄 수 있는 최대 전류량은 약 1A이다.(연결된 다이오드 때문에 1A가 최대)
-20V 까지 사용가능하다고 하지만, 12V 이하로 추천한다.(발열 등의 문제 발생 가능성)
Vin pin으로 전원 연결시, 이 핀에 연결된 다이오드를 거치며 0.2-1V 가량의 전압을 소모하게 된다.

** 그리고 가급적이면, 외부 전원을 사용할 때는 코드를 넣어주던 컴퓨터와의 연결은 끊고 사용을 추천한다.
간혹 잘못되어 외부전원이 컴퓨터로 역전압이 걸리면 컴퓨터에 악영향이 갈 수 있다.

---

> 아두니노로 5V, 20mA 이상의 제품 컨트롤

아두이노로 핀에서 출력 가능한 전력 이상의 제품/장치를 컨트롤하기 위해서는 외부전원이 필요하다.
트랜지스터를 사용할 때에도 아두이노에 들여보내는 어댑터의 용량이 커야 한다.
그래서 보통 외부전원을 사용하면 아두이노와 장치 사이의 중간 장치를 사용한다.
:(아두이노 용으로 설계된, 필요 전력량이 알맞는) 릴레이, 트랜지스터

 


AA 건전지의 전류용량 평균 2500mAh

9V 사각 배터리는 500mAh의 전류용량을 가짐

그래서 큰 전류를 필요로 하는 모터의 경우에는 AA 배터리를 사용하는 것이 더 좋다.
일반 3V 소형 모터의 경우 무부하 기준 350mA 정도가 필요하다.

728x90
반응형

'Firmware & Embedded > AVR' 카테고리의 다른 글

10 Ways to Destroy An Arduino  (0) 2022.11.16
Serial Communication  (0) 2022.11.03
iteration arduino  (0) 2022.10.11
attachInterrupt  (0) 2022.09.22
PWM - Timer Library  (0) 2022.09.22

+ Recent posts