Atmega 328로 아두이노 만들기

//Atmega 328로 아두이노 만들기

라즈베리파이와 연동되는 아두이노 보드를 만들어 보고자 하는데  브레드 보드에 실장 하려고 만들어 놓은 회로도 입니다. 추후 만들어질 보드의 베이스가 되겠습니다.

아래와 같은 구성으로 아두이노를 만들어서 쓸수 있으며 메인 MCU는 Atmega 168 또는 Atmega 328 을 사용 합니다. (회로도에는 아무생각없이 쳐서 128로 표기 되나 168입니다)

168 과  328 의 가격은 몇백원 차이가 나지 않으며 심지어는 168이 더 비싼곳도 있습니다. 그래서 메모리사이즈가 더 큰 328을 사용했습니다.

전원부와 펌웨어 업로드를 위한 USB to UART 회로는 빠져 있으며 별도 모듈로 구입하기도 쉽습니다.

 

회로도

main.sch

회로도 PDF 파일

 

부트로더 업로드 순서 ( MCU 를 구매하고 처음 한번만 설정 해줍니다)

스크린샷은 AVR Studio 4 기준입니다. 기본 비트는 AVR Studio 버전 별로 동일합니다.

아두이도 IDE 는 1.0.3 으로 테스트 되었습니다.

퓨즈비트 설정

Atmega 328 퓨즈비트 설정

328fuses

EXTENDED : 0xFF / HIGH : 0xDA / LOW : 0xFF

Atmega 168 퓨즈비트 설정

168fuses

EXTENDED : 0xF8 / HIGH : 0xDF / LOW : 0xFF

부트로더 업로드

Atmega 328  : 아두이노폴더\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex

Atmega 168 :  아두이노폴더\hardware\arduino\bootloaders\optiboot\optiboot_atmega168.hex

program2

 

락비트 설정

Atmega 168/ 328 동일

lockbits

LOCKBIT : 0xCF

위와 같은 순서로 아두이노로써의 준비가 끝나게 됩니다.  아두이노의 hello word 인 Blink 를 업로드 해서 테스트해 봅니다!

이때 보드는 Arduino Mini w/Atmega328 로 설정해 놓고 테스트 완료 됐습니다.

 

 

Atmega 128 , Atmega 8 등으로도 제작이 가능하나 Interrupt and Wake-up on Pin Change 을 지원하지 않아서 아두이노의 매력적인 기능인 SoftwareSerial 을 사용할 수 없습니다.

 

 

2018-03-15T10:38:10+00:00 2013/02/21|Categories: 땜질|Tags: , |0 Comments