만져보는 임베디드 시스템/아두이노 하드웨어

아두이노, Arduino-(5). 아두이노 제작에 관하여

hanjinee 2020. 8. 29. 22:46
728x90
반응형

안녕하세요 제타지니입니다.

전에 아두이노가 무엇으로 이루어져 있는 가에 대한 포스트를 올린적이 있습니다.

이번 포스트에서는 아두이노 제작 방법의 tip들을 올려 보려고 합니다.

실상, 나만의 보드를 제작하는 방법은 크게 어렵지 않습니다. 여러 포스트들이 있으니, 그곳에서 정보를 얻어서 사용하시면 될 것 같습니다. 바로 밑에 아두이노 자작에 대한 글들의 포스트를 실어 놓았습니다.  다만, 여기에는 아두이노 제작에 들어가는 유용한 정보들을 한번 올려보려고 합니다. 

아래에 관련한 유용한 사이트들을 공유합니다.

 

 

Build Your Own Arduino Circuit on a Breadboard

Pin 20 needs to be connected to power if ADC isn't being used, and if it is, it needs to be connected to power via a low-pass filter (a circuit that lessens noise from the power source). Momentary Button, Reset Switch Installed C. Add the momentary button

www.jameco.com

 

 

Arduino - Setting up an Arduino on a breadboard

Building an Arduino on a Breadboard Overview This tutorial shows you how to build an Arduino compatible breadboard with an Atmel Atmega8/168/328 AVR microcontroller and FTDI FT232 breakout board from SparkFun. You could also use the Arduino USB Mini. Origi

www.arduino.cc

 

**Voltage Regulator 7805을 사용

-레귤레이터를 사용하는 이유는, 안정적인 전압을 인가하기 위함입니다. 아두이노 Uno의 경우 안정적인 5[V]의 전압 인가가 필요합니다. 하지만, PC 혹은 노트북으로 USB를 연결해서 사용하실 경우, 현대 기기들이 잘 되어 있기 DC 5[V] 출력이 안정적으로 되기 때문에, 굳이 쓸 필요는 없습니다. 다만, DC Adapter를 사용하신다면, 특성상 일정한 전원이 제대로 입력되지 않을 수 있기 때문에 Regulator 7805를 사용하는 게 좋습니다. 

 

-USB로만 연결하여 전압을 인가하는 경우, DC 5[V]는 제대로 인가 되지만, 상대적으로 전류는 낮게 출력되는 현상을 보이기 때문에, 모터나 여러개의 LED를 사용한다는 등의 비교적 높은 전력을 소모하는 부품들을 사용하신다면, 외부 전원을 써주시는 게 좋습니다.(그렇다면, Regulator도 필요하겠죠?)

 

 

**아두이노 크리스탈(X-TAL)사용

-발진 소자에는 두 가지 종류가 있습니다. 바로 크리스탈(X-TAL)과 오실레이터(OSC)입니다. 크리스탈(X-TAL) 수동 발진자이고, 오실레이터(OSC)는 능동 발진자 입니다. 즉, 오실레이터 발진 회로가 내장되어 있는 반면, 크리스탈 발진 회로(74HC04)를 구성해야 합니다. 물론, 크리스탈을 사용하지 않는 경우 배터리 소모가 적겠지만(효율성도 늘어나겠지요!), 먼저 비교를 하고, 그 다음, 어떤 발진자를 써야하는 가에 대한 기준을 설명하도록 할게요!

 

한번 비교해 보도록 하겠습니다. X-TAL과 OSC!! 특징은 무엇이고, 어떨때 써야 하는가.

오실레이터의 경우 그냥 꼽는 다면 진동이 발생하므로, 매우 편리합니다. 하지만 가격이 다소 높고, 주파수를 조정할 수 없다는 특징을 지닙니다. 

크리스탈의 경우는 '발진 회로가 필요하다는' 단점을 지닙니다. 하지만, 저렴하고, 트리머를 사용하면 주파수를 미세하게 조정할 수 있다는 특징을 지니지요. 크리스탈의 주파수 선택은 '두께'입니다. 두께가 얇아짐에 따라서 주파수가 증가하는 특징을 지닙니다. 하지만, 높은 주파수를 사용하는 경우 Overtone을 해야 한다는 단점을 지닙니다. 

 

따라서, 이럴 때 크리스탈을 쓰시면 됩니다. 

  1. 발진회로가 내장된 IC 사용시에.
  2. 보다 정밀한 주파수가 필요할 때.
  3. 대량 생산이 필요할 때, 가격이 저렴하기 때문.

이외의 경우 오실레이터를 써주시면 됩니다. 

  1. 발진회로가 없는 경우, 혹은 발진회로를 구성하기 싫은 경우.
  2. 정밀한 주파수 보다는 높은 주파수가 필요할 때.( 수십 MHz)
  3. 가격 상관 없을 때.

 

- 사용하는 가요?

Atmega 자체 내부 클럭을 사용하지 않고, 외부 클럭으로 사용할 때 필요합니다. ATmega의 내부클럭을 사용하는 경우, 내부 클럭의 구성이 RC발진 회로로 구성이 되어 있기 때문에, 안정성이 떨어집니다. 따라서, 입/출력 핀 2개와 크리스탈 하나를 사용하여 안정성있는 외부 클럭을 사용하는 것이지요. 

 

 

-왜 크리스탈을 아두이노에 사용할까요?

아두이노의 경우 오실레이터에 비하여 크리스탈을 사용하여 훨씬 간단하게 연결할 수 있습니다. ATmega MCU 내부에 발진회로가 구성되어 있기 때문입니다. 또한 가격적인 측면에서도 더 저렴하기 때문입니다. 

 

-연결할 때 주의할 점은? 

크리스탈은 극성이 없으므로, 아무 다리나 연결해도 상관 없습니다. 다만, ATmega 종류에 따라 외부클럭 주파수 허용치가 다르기 때문에, 한계치를 확인하고 달아주는 것을 권장합니다. 

 

 

**부트로더(BootLoader)

-부트로더 운영체제가 시동되기 전에 미리 실행되면서 커널이 올바르게 실행되기 위해 필요한 모든 작업은 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램을 뜻합니다. 

실제 조금 쉽게 개념을 설명한 게 있어서 가져왔습니다. 여기를 보신다면 조금 더 쉽게 개념을 이해하실 수 있을 것입니다.

 

부트로더에 대한 개념정리

– 구글 위키에서 부트로더의 정의 부트로더(boot loader, 문화어: 초기적재프로그램)란 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마

jinheeahn.wordpress.com

에드워드님의 블로그에 자세한 설명이 추가되어 있으니, 참고하시면 좋을 듯 합니다. 

728x90
반응형