임베디드를 좋아하는 조금 특이한 개발자?

[자작 Arduino Uno 제작] 회로 설계 - 전원부 본문

Project/자작 Ardunio 제작

[자작 Arduino Uno 제작] 회로 설계 - 전원부

Gordon_ 2026. 1. 31. 00:28

- 제작 환경

KiCAD Verson 9.0.3


1. 서론

  아두이노의 전원부는 살짝 특이합니다. 외부 DC 전원 또는 USB를 통해 전원을 입력 받습니다. 하지만 두 전원이 동시에 들어온다면 USB의 전원(VBus)를 차단하고 외부 DC 전원를 사용해야합니다. 그 이유는 PC에서 USB 2.0으로 출력 할 수 있는 전류는 100mA 정도입니다. 그러므로 USB 원으로는 모터와 같이 많은 전류를 사용하는 엑추에이터를 사용할 수 없습니다. 그러므로 아두이노에서는 전원을 선택하는 기능이 있으며 입력 받은 전원의 노이즈를 줄이기 위한 바이패스 캐패시터 5V, 3.3V 전압을 위한 레귤레이터 등이 있습니다.

USB 2.0 공식 문서에서 DC 특성 관련

 

- 전원부에서 구현하는 기능

  • USB VBus 보다 DC 9V를 우선
  • ESD 보호
  • 전압 레귤레이터를 통해 5V, 3.3V 공급
  • LED를 통해 전원 연결 확인

 

2. 전원부 회로 설계

2.1. 9V 전원 입력

 

 매우 간단한 회로입니다. 그리고 DC 9V로 가장 많이 사용하는 Jack-DC를 사용했습니다.

2.2. USB 관련

2.2.1. USB B 

 

USB로는 아두이노에서 가장 많이 사용하는 USB B로 선택하였습니다.

 

2.2.2. VBus 퓨즈

 

  아두이노 또는 PC에 과전류가 흐르는 것을 방지하기 위한 Fuse입니다.

 

2.2.3. ESD 보호

  USB를 연결할 때 발생하는 정전기로부터 회로를 보호하기 위해 공식 아두이노에서는 TVS Diode(CG0603MLC)를 사용했습니다. 하지만 해당 부품을 구하기가 어려워 저는 STM32에서 자주 사용하던 USBCL6로 대체하였습니다.

  그리고 공식 아두이노에서는 페라이트 비드(BLM21)를 사용하여 고주파에 대한 노이즈를 제거하고 있지만 저는 USBLC6 충분하다고 생각하여 페라이트 비드를 추가하지 않았습니다.

 

2.2.4. 임피던스 매칭 

  

  USB는 고속(12Mb/s)으로 데이터를 전송하므로 임피던스 매칭을 해주지 않으면 USB 신호가 반사되어 USB가 동작하지 않게 됩니다. 사실 신호 반사(Signal Reflection) 발생하는 정확하는 이유는 잘 모릅니다. ㅠㅠ 단순히 ATmega16U2 Datasheet에서 22 옴을 추가하라고 명시되어서 사용하였습니다.

Figure 20-5. Typical Self powered application with 4.0V to 5.5V I/O (ATmega16U2)

 

2.3. 전압 레귤레이터

2.3.1. 5V 전압 레귤레이터

 아두이노의 입력전압인 5V를 위해 DC Jack로 들어온 9V를 5V로 전압을 강하합니다.

 

2.3.2. 3.3V 전압 레귤레이터

 

2.4. V5 전압의 전원 선택

 

2.4.1. VIN 전압을 저항으로 강하하는 이유

SS14 Forward Voltage 관련

 

 DC 전원으로 7V ~ 12V가 입력됩니다. 그리고 SS14 다이오드를 거쳐 0.5V가 강하되어 Vin는 6.5V ~ 11.5V가 됩니다. 그리고 10k 옴 저항 2개를 직열로 연결하여 전압이 절반으로 분배되어 결국 SS_IN은 3.25V ~ 5.75V 전압이 입력됩니다. 

LMV358 Input voltage

 

  LMV358의 입력 전압은 -0.2V ~ 5.7V의 범위를 가지고 있습니다. 이 범위를 벗어나는 전압이 인가될 때 LMV358이 고장날 염려가 있습니다. 그러므로 DC로 최대 12V까지 입력 가능한 이유가 LMV358의 최대 입력 전압을 초과하지 않는 범위이기 때문입니다. 물론 12V를 사용하면 LMV358의 입력 전압이 5.75V가 되어 최대 입력전압 0.5V를 초과하지만 0.5V정도는 실사용에 큰 문제가 없을 것 입니다. 그래서 대부분은 DC로 9V를 인가합니다. 그 이유는 9V의 배터리 및 어댑터를 구하기 쉽기 때문입니다.

 

2.4.2. P-MOSFET를 통해 5V 전원 선택

Vsource가 Vdrain으로 통과하기 위한 임계 전압

 

  P-MOSFET를 사용하여 Gain의 전압에 따라 Vbus을 사용할지 안할지를 결정하게 됩니다. P-MOSFET의 경우 Vgs(Gate-Source)가 -1.5V보다 더 작아진다면(즉, Vgs 가 -5V일때) Drain은 Source의 전압을 사용하게 됩니다. 하지만 Vgs가 -1.5V보다 커진다면(즉, Vgs가 0V일때) Source 전압을 차단합니다.

 

2.5. 전원 표시 LED

  단순히 Arduino가 전원이 연결되었음을 표시하는 LED입니다. 여기서 330옴 저항을 사용하지 않고 1k 저항 2개을 병렬로 사용하는 이유는 BOM 작성시 추가적인 부품을 늘리지 않기 위함입니다.

 

3. 전체 도면

Arudino Uno R3 Power.pdf
0.05MB

 

 

4. 결론

  Arduino에서 가장 어려운 부분이 전원 관련 회로입니다. MCU 주변 회로는 단순히 선을 연결하는 정도이지만 전원부는 전원에 노이즈를 제거 하고 역전류 및 과전류를 보호하는 등 다양한 부품이 사용되기 때문입니다. 하지만 덕분에 많은 공부가 되었습니다. 더나아가 배터리를 위한 회로를 추가해보고 싶습니다.