Arduino Atmega644 / 1284 클론 : 10 단계

Arduino Atmega644 / 1284 클론 : 10 단계

차례:

Anonim

이 프로젝트는 ATMEGA644P 또는 1284P와 함께 Arduino 보드를 atmega328P보다 더 많은 입력 / 출력으로 DIY하려고합니다. arduino 메가를 구입할 수 있지만 더 비쌉니다.

마이크로 컨트롤러는 Sanguino로 부트로드되고 프로젝트는 CALUNIUM이라고하는 또 다른 것처럼 보입니다.

이 클론은 기존의 모든 방패를 연결할 수 있습니다. 개인적으로 이더넷 쉴드를 사용하여 다른 프로젝트의 안드로이드 또는 vb.net 응용 프로그램과 통신합니다.

현재 ATMEMA1284P에 대한 복제본을 사용하고 있습니다.

-------------------------------------------------------------------------------------------------------------------------------------------------------

이 프로젝트는 atmega644P 또는 1284P를 기반으로하는 Arduino 보드를 구축하여 atmega328P를 사용하는 것보다 약간의 입 / 출력을 즐길 수있게합니다. atmegas는 Sanguino와 함께 "bootloaded"될 것이고 프로젝트는 또 다른 CALUNIUM 프로젝트에 의해 핀 매핑 레벨에서 영감을 얻습니다.

(사진의 오크 마루가 잘 유지되어 있음을주의하십시오)

이 복제품은 Arduino 이더넷 쉴드를 채택하여 다른 프로젝트의 주제가 될 안드로이드 또는 시각적 기본 응용 프로그램과 통신합니다.

현재이 프로젝트는 Atmega1284p에서 완벽하게 작동합니다. 644p를 시도하지는 않았지만 나는 놀라움이 없다고 생각하고 저를 방아쇠로 말하지 않습니다.

정원:

1 단계: 연결 및 부트 로딩 / Arduino 1.0.5 사용: Arduino 보드의 ATMEGA 328P로 부트로드로드

프로젝트를 시작하려면 arduino 보드가 필요합니다. 다음은 arduino 보드와 ATMEGA644P / 1284P (기능 및 arduino 핀 번호 - atmega 핀) 간의 다양한 연결 및 링크입니다.

10K 저항의 핀 9 (RESET) - 노란색 핀 10 (SS)

핀 6 (MOSI) - 녹색 소나무 11 (MOSI)

소나무 7 (MISO) - 자주색 소나무 12 (MISO)

핀 8 (SCK) - 오렌지 파인 13 (SCK)

핀 10 (VDC) - 5V

소나무 30 (AVCC) - 5V

핀 32 (AREF) - 5V

핀 11 (GND) - 0V

오실레이터 16 mHz, 2 캐패시터 22 pF

------------------------------------------------------------------------------------------------------------------------------------------------------

Arduino Uno 보드 프로젝트를 시작해야합니다.

다음은 Arduino Uno 보드와 타겟 atmega1284p 또는 644p (atmega644 / 1284 핀 수, 기능 및 Arduino 터미널 수) 간의 다양한 연결입니다.

10K 저항의 단자 9 (RESET), 황색 단자 10 (SS)

단자 6 (MOSI), 녹색 단자 11 (MOSI)

터미널 7 (MISO), 보라색 터미널 12 (MISO)

터미널 8 (SCK), 오렌지 터미널 13 (SCK)

단자 10 (Vcc), 5V

단자 (30) (AVCC), 5V

단자 32 (AREF), 5V

단자 11 (GND), 0V

석영 16 mHz, 2 캐패시터 22 pF

2 단계: Sanguino / Sanguino 부트로드 전송을 통한 ATMEGA644P-1284P 부트 로딩

일단 마이크로 컨트롤러가 연결되면, Sanguino없이 arduino 보드 1.0.5를 내부에 연결하십시오. arduino1.0.5 시작:

1 - 파일 -> 스케치북 -> 예제 -> 기본 -> Arduino ISP를 선택하십시오.

2 - 좋은 직렬 포트를 선택하십시오.

3 - 첫번째 보드를 선택하십시오: Tools-> Board-> Arduino uno

4 - "Arduino ISP"를 컴파일하고 Arduino Uno로 전송

5 - Sanguino를 사용하여 arduino 1.0.5를 사용하십시오 (arduino 1.0.5 / hardware / arduino /에있는 제공된 Sanguino 아카이브를 압축 해제해야합니다).

필자의 경우 atmega644p 또는 Tools-> Board-> Sanguino W / Atmega 1284 16Mhz에서 1284p의 좋은 마이크로 컨트롤러를 선택하십시오.

7 - 이제 "arduino as ISP"는 부트로드를 태운다. 몇 번 뒤에 "부팅 굽기 완료"라는 메시지가 표시됩니다.

당신의 atmega 644p or1284p는 부트 로딩되며, arduino 1.0.5를 Sanguino 내부에서 사용할 수 있습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

집적 회로가 연결되면 USB를 Arduino 보드에 연결하고 소프트웨어를 엽니 다.

1 - 파일 -> 스케치북 -> 예제 -> 기본 -> Arduino ISP를 선택하십시오.

2 - 직렬 포트를 선택하십시오.

3 - 보드 유형 선택 도구 -> 보드 -> Arduino uno

4 - "Arduino ISP"예제를 컴파일하여 Arduino Uno에로드하십시오.

5 - SANGUINO 통합 된 arduino 1.0.5 사용 (끝에 제공된 사이트에서 다운로드 할 라이브러리)

6 - 프로그래밍 할 대상을 선택하십시오. 우리의 경우 atmega644p 또는 Tools-> Board-> Sanguino W / Atmega 1284 16Mhz의 1284p

7 - programmer / arduino 메뉴를 ISP로 사용하여 부팅 순서를 레코딩합니다 (부트 부트로 레코딩).

잠시 후 "Done burning bootloader"라는 메시지가 나타납니다.

이 수준에서 atmega 644p 또는 1284p는 부트로드되며 이제 arduino 1.0.5 소프트웨어로 작업 할 수 있습니다.

3 단계: 클론 보드 / 터미널 블록 다이어그램의 핀 맵 Arduino Atmega 644/1284 Clone

여기 arduino 소나무 대 atmega 소나무의 매트릭스입니다. 그것은 CALUNIUM 프로젝트에있는 것처럼 보입니다.

여러분의 프로그램에서 실제 아날로그 핀과 이름이 엉망입니다.

A0은 A1입니다.

A1은 A0가된다.

A2는 A7이된다.

A3는 A6이됩니다.

A4는 A5가됩니다.

A5는 A4가됩니다.

A6은 A3가됩니다.

A7은 A2가됩니다.

D16에서 D23을 디지털 I / O로 사용하려면 다음과 같이 프로그램의 설정 영역에서 JTAG를 비활성화해야합니다.

uint8_t tmp = 1 << JTD;

MCUCR = tmp; // JTAG 사용 안 함

MCUCR = tmp; // JTAG 사용 안 함

"digitalRead ()"및 "digitalWrite ()"가 제대로 작동하지 않기 때문에 DDRC 및 PORTC 레지스터가 필요합니다.

-----------------------------------------------------------------------------------------------------------------------------------------------------

터미널의 기능을 존중하여 클론을 만들기 위해 Arduino UNO 보드를 계획하십시오.

CALUNIUM에서 영감을받은 배선지도: Arduino Uno에서 atmega 644p 또는 1284p Sanguino.

경고! 아날로그 입력은 Sanguino에서 다음과 같습니다 (혼란스러워 !!):

A0은 A1이됩니다.

A1은 A0가된다.

A2는 A7이된다.

A3는 A6이됩니다.

A4는 A5가됩니다.

A5는 A4가됩니다.

A6은 A3가됩니다.

A7은 A2가됩니다.

4 단계: 복제 / 복제 계획의 도식

다음은 클론의 회로도이며 이제 HE10 커넥터를 통해 프로그래밍 할 수있는 USBasp 변환기가 필요합니다.

------------------------------------------------------------------------------------------------------------------------------------------------------------

Arduino Atmega 644/1284 CLONE 보드.

이 보드에는 항상 arduino1.0.5 소프트웨어 아래 USBasp 커넥터로 atmega 644p 또는 1284p를 프로그래밍 할 수있는 HE10 커넥터가 있습니다.

PROTEUS에서 pdf 형식의 다이어그램:

5 단계: Atmega 644p / 1284 핀 맵

색깔있는지도, 갈색은 당신의 프로그램에서 사용하기에 적합한 것이다. 아날로그 엉망의 Becarefull !!!

--------------------------------------------------------------------------------------------------------------------------------------------------------

갈색으로 그려진 다리는 통신 표에 복사 한 atmega644 / 1284 핀의 주소입니다.

아날로그 입력에 대해서도 같은 말을합니다.

6 단계: 다른 핀지도 / 핀 주소 지정: ATMega644P 또는 Sanguino의 1284P

웹에있는 또 다른 핀지도.

예: arduino uno의 D8은 atmega644p / 1284p의 핀에 연결되고 주소 14 (D14)를 제공합니다.

--------------------------------------------------------------------------------------------------------------------------------------------------------

이전 핀들을 요약하는 그물에서 발견되는 또 다른 핀 매핑.

atmega644 / 1284 터미널 주소 지정의 예: 주소 14 (D14)를 갖는 atmega644 / 1284 핀 20의 Arduino Uno 연결의 D8 터미널에서.

필자는 일부 출력물을 테스트했으며 주소는이 방법에 따라 일관되게 보였다. 나는 그들이 모두 기능적이며 Sanguino 핀 매핑을 변경하지 않았다고 생각합니다.

아날로그 입력은 또 다른 서신을 갖습니다: 서신 테이블 페이지를 참조하십시오.

7 단계: ATmegas / USBasp 보드 프로그래밍에서 프로그램을 다운로드하기 전에

프로그램하려면 다음이 필요합니다.

- 좋은 atmega: 도구 / 보드

좋은 프로그래머를 선택하십시오: tools / programmer / USBasp

----------------------------------------------------------------------------------------------------------------------------------------------------------

Arduino IDE 구성

여기에 우리가 관심을 갖는 핵심이 있습니다. 최신 버전의 Arduino IDE를 다운로드하여 실행중인 경우 도구> 프로그램 메뉴에서 사용하려는 프로그래머를 선택하는 방법을 찾을 수 있습니다. 아마도, 시장에서 가장 저렴한 가격으로, 내 경우에는 USBasp 호환 프로그래머와 같이 될 것입니다.

자신이 소유 한 동일한 마이크로 컨트롤러를 사용하여 카드를 선택해야합니다. 제 경우에는 Sanguino W / atmega 644p 또는 1284p를 선택했습니다.

8 단계: USBasp로 프로그램 전송 / 보드 프로그래밍 (계속)

프로그램을 다운로드하려면 다음을 수행하십시오.

파일> 프로그래머를 사용하여 업로드

괜찮 으면보고되고 표시되는 일부 오류가 있습니다. 그것을 무시하십시오.

------------------------------------------------------------------------------------------------------------------------------------------------------

모든 것이 제대로 연결되면 펌웨어를 컴파일하여 대상에 다운로드 할 수 있습니다. 실제 Arduino 보드에서하는 것과는 달리 Arduino IDE의 업로드 버튼을 클릭하지 않습니다. 파일> 프로그래머를 사용하여 업로드 메뉴를 통해 이동해야합니다. 이로써 조작 순서는 사용자의 관점에서 동일하게됩니다: 오류가없는 경우 컴파일 및 다운로드하십시오.

다운로드가 성공적으로 완료되었는지 확인하려면 IDE 하단의 메시지를 확인하십시오. IDE에서 err에 오류가 발생했다고보고하면 오류입니다. 대부분의 경우, 특히 프로그래머가 값싼 복제품 인 경우 경고를 무시할 수 있습니다. 원본과의 호환성은 대개 대략적인 경우가 많습니다.

외관에도 불구하고, 다운로드는 성공입니다. Avrdude는 내 프로그래머와 원래 USBasp의 부분적인 호환성으로 인한 경고를 연기합니다. 그럼에도 불구하고 오류는 없습니다. 다운로드는 성공이며 정말 멋진 공연입니다.

9 단계: 멋지고 원더풀 한 사진 / Arduino Aspect Atmega644 / 1284 클론:

아주 아주 좋은 사진들 …

----------------------------------------------------------------------------------------------------------------------------------------------------

프로그래밍을 위해 USBasp가 연결된 Top 뷰.

작은 diy로 아래에서부터 arduino의 터미널 블록 중 하나를 2.54mm (단조 된 에폭시를 주석으로 납땜하여 재조정)과 다른 단계로 상쇄하십시오.

그리고 마침내 완벽하게 맞는 이더넷 실드가있는 복제품이 완성되었습니다 (프로젝트 arduino / advancedHMI modbus TCP 참조).

10 단계: 고맙습니다 및 링크 / 승인 및 유용한 링크:

다음 웹 사이트를 참조하십시오.

code.google.com/p/sanguino/

HTTP: //blog.stevemarple.co.uk/2011/08/introducing -…

웹에서 흥미롭고 실행중인 모든 자습서에 대한 고맙습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

Sanguino 부트로드를 복구하려면 다음을 수행하십시오.

sanguino.cc/hardware

Calunium 프로젝트:

부트로드 기술:

그들의 건설적인 발언에 대한 넷 서퍼들의 덕택으로. 나는 번역을 이해할 수 있도록 프랑스어로 실험 노트를 다시 넣으려고했다.