Arduino Leonardo As ISP: 7 ขั้นตอน

Arduino Leonardo As ISP: 7 ขั้นตอน

สารบัญ:

Anonim

Leonardo เป็น Arduino ตัวแรกของฉันฉันซื้อเพราะความสามารถดั้งเดิมของ USB หลังจากทดลองใช้กับ Arduino ฉันตัดสินใจที่จะย้ายจาก Arduino Leonardo ของฉันไปเป็น Atmega328p แบบสแตนด์อโลนหรือสำหรับโครงการขนาดเล็กไปยังไมโครคอนโทรลเลอร์จากตระกูล Attiny

หลังจากการวิจัยบางอย่างฉันพบคู่มือนี้โดย PeterVH:

หลังจากความพยายามที่ล้มเหลวหลายครั้งฉันสามารถเบิร์น bootloader และอัปโหลดภาพร่างได้สำเร็จและต้องการแบ่งปันสิ่งนั้นกับคำแนะนำนี้

คำปฏิเสธ

ฉันไม่สามารถรับผิดชอบต่อความเสียหายใด ๆ ที่อาจเกิดขึ้นกับคุณหรืออุปกรณ์ของคุณในขณะที่ทำตามขั้นตอนที่มีอยู่ในหน้านี้ นอกจากนี้ฉันไม่รับประกันความถูกต้องและการใช้งานของข้อมูลในคำแนะนำนี้ อย่างไรก็ตามโปรดทราบว่ากระบวนการเหล่านี้ได้ทำงานในกรณีของฉันโดยไม่มีความเสียหายหรือปัญหาใด ๆ

วัสดุ:

ขั้นตอนที่ 1: วัสดุ

- Arduino Leonardo (พร้อมสาย USB)

- คอมพิวเตอร์ (ทุกขั้นตอนขึ้นอยู่กับคอมพิวเตอร์ที่ใช้ Windows)

- สายไฟ

- เป้าหมายไมโครคอนโทรลเลอร์ Atmel

ขั้นตอนที่ 2: เตรียมเลโอนาร์โด

ฉันสมมติว่าคุณได้ติดตั้งและกำหนดค่า IDE แล้วและคุณสามารถอัปโหลดภาพร่างได้ก่อนหน้านี้ (หากคุณไม่ได้: http: //arduino.cc/en/Guide/HomePage)

1 - เปิด Arduino IDE

2- เปิดร่าง ArduinoISP (ไฟล์ / ตัวอย่าง / ArduinoISP)

3- เปลี่ยนบรรทัดต่อไปนี้ (ดูรูปที่ 1):

#define RESET SS เป็น #define RESET 10

#define LED_HB 9 ถึง #define LED_HB 13

(เราต้องการใช้พินดิจิตอล 10 เพื่อรีเซ็ตเป้าหมายและเรากำลังตั้งค่าการเต้นของหัวใจนำบนพิน 13)

4- บันทึกร่างเป็น LeonardoISP (เพื่อให้คุณสามารถใช้งานได้ในภายหลัง)

5- เราเลือก Arduino Leonardo (เครื่องมือ / บอร์ด / Arduino Leonardo) และ Serial Port ที่เหมาะสม (เครื่องมือ / Serial Port / COM **)

5- อัปโหลด

หากอัปโหลดภาพร่างได้อย่างถูกต้องคุณจะเห็นไฟ LED ออนบอร์ด (ภาพที่ทำเครื่องหมายเป็น L) ทำลำดับการเต้นของหัวใจ

ตอนนี้ในโฟลเดอร์ Arduino IDE ของคุณ:

1- สร้างโฟลเดอร์ใหม่ใน "ฮาร์ดแวร์" ด้วยชื่อ leofix

2- เปิดโปรแกรมแก้ไขข้อความและวางรหัสนี้ (ภาพที่ 2):

arduinoispleo.name = Arduino เป็น ISP (Leonardo)

arduinoispleo.communication = อนุกรม

arduinoispleo.protocol = Arduino

arduinoispleo.speed = 19200

บันทึกไฟล์เป็น programmers.txt (ดูรูปที่ 3)

ต่อไปเราจะเชื่อมต่อสายไฟบางส่วนกับ Leonardo ของเรา (รูปที่ 4):

พินดิจิตอล 10,1 (TX), 0 (RX)

ICSP MISO, 5V, SCK, MOSI, GND (ดูรูปที่ 6 pin pinout ในรูปที่ 5)


ขั้นตอนที่ 3: เป้าหมาย Atmel Microcontroller 1: Atmega328p (วัสดุ)

ขั้นตอนที่มี Atmega328 สามารถใช้สำหรับ Atmega168 และ Atmega8 (ไม่ผ่านการทดสอบ)

คุณต้องการสิ่งนี้:

(ที่มา:

สำหรับการกำหนดค่าคริสตัล 16Mhz ภายนอก:

-Atmega328p

ตัวต้านทานโอห์ม -10k (ฉันใช้ 22K) x1

-16 MHz clock crystal x1

- ตัวเก็บประจุ 22 pF x2

(หรือคุณสามารถซื้อชุดอุปกรณ์เหล่านี้ได้เหมือนที่ฉันทำ:

Virtuabotix Bareduino - ชุด Arduino อย่างน้อย 16 MHz

Virtuabotix Bareduino Plus- Arduino รองรับไมโครคอนโทรลเลอร์พร้อม Power Regulator

ทั้งสองถูก bootloaded เป็น Duemilanove ดังนั้นคุณจึงบันทึกขั้นตอน)

สำหรับการกำหนดค่า Minimal Circuit (การขจัดนาฬิกาภายนอก):

-Atmega328p x1

ขั้นตอนที่ 4: ไมโครคอนโทรลเลอร์ Atmel เป้าหมาย 1: Atmega328p (ประกอบ)

สำหรับการกำหนดค่าคริสตัล 16Mhz ภายนอก:

ดูรูปที่ 1

นอกจากนี้คุณสามารถทำตามคำแนะนำนี้:

www.virtuabotix.com/product-bareduino328-barebones-microcontroller-guide/

สำหรับการกำหนดค่า Minimal Circuit (การขจัดนาฬิกาภายนอก):

วาง Atmega บนบอร์ดของคุณเท่านั้น (รูปที่ 2)

รูปที่ 3 และ 4 --- Atmega328 พร้อมคริสตัล 16Mhz ภายนอก

รูปที่ 5 Atmega328 น้อยที่สุดวงจร

ขั้นตอนที่ 5: กำหนดเป้าหมาย Atmel Microcontroller 1: Atmega328p (การเขียน Bootloader และการอัปโหลดภาพร่าง)

สำหรับคริสตัล 16Mhz ภายนอกและการกำหนดค่าวงจรน้อยที่สุด:

1- เชื่อมต่อสายไฟจาก Leonardo ไปยัง atmega328 (โปรดดูที่ pinmega328 เหล่านี้เหมือนกันกับ atmega168 -picture 1):

Atmega328 Arduino Leonardo

(ในรูปที่ 1 หมุดบนสีดำ) (รูปภาพ 2-6pin ICSP)

RX pin 2 ------------------------------------- พินดิจิตอล 0

TX pin 3 ------------------------------------- พินดิจิตอล 1

MISO pin 18 ----------------------------------- ICSP pin MISO

ขา MOSI 17 ----------------------------------- ICSP พิน MOSI

SCK pin 19 ----------------------------------- ICSP pin SCK

RESET pin1 ------------------------------------- พินดิจิตอล 10

และพาวเวอร์พิน 5 โวลต์และกราวด์

อ้างถึงรูปภาพ 3 และ 4 สำหรับผลสุดท้าย

Burning Bootloader (ถ้าคุณซื้อ Bareduino หรือคุณใช้ bootloaded Atmega328 ข้ามขั้นตอนนี้)

********* สำคัญ: ขั้นตอนเพิ่มเติมสำหรับการกำหนดค่าวงจรน้อยที่สุด *********

1- ไปที่ http://arduino.cc/en/Tutorial/ArduinoToBreadboard และดาวน์โหลด Breadboard.zip

2- สร้างโฟลเดอร์ย่อย "ฮาร์ดแวร์" ในโฟลเดอร์ Sketchbook Arduino ของคุณ (ตำแหน่งที่คุณสามารถหาได้ในกล่องโต้ตอบการตั้งค่า Arduino) หากก่อนหน้านี้คุณได้ติดตั้งการสนับสนุนสำหรับการกำหนดค่าฮาร์ดแวร์เพิ่มเติมคุณอาจมีโฟลเดอร์ "ฮาร์ดแวร์" ในสมุดร่างของคุณ

3 ย้ายโฟลเดอร์ "breadboard" จากไฟล์ zip ไปยังโฟลเดอร์ย่อย "hardware" ของสมุดร่าง Arduino ของคุณ

รีสตาร์ทซอฟต์แวร์ Arduino

5 - คุณควรเห็น "ATmega328 บน breadboard (นาฬิกาภายใน 8 MHz)" ในเมนู Tools> Board

****************** ขั้นตอนเพิ่มเติมให้เสร็จสิ้นที่นี่ ******************

1- ตรวจสอบการเชื่อมต่ออีกครั้ง

2- เลือกบอร์ดของคุณ:

Atmega328 พร้อมคริสตัล 16mhz ภายนอก ----> Arduino Duemilanove w / ATmega328

Atmega น้อยที่สุดวงจรไม่มีคริสตัลภายนอก -----> ATmega328 บนเขียงหั่นขนม (นาฬิกาภายใน 8 MHz)

3- พอร์ตอนุกรมควรเหมือนกับ Arduino Leonardo

4- เลือก Arduino เป็น ISP (Leonardo) ในโปรแกรมเมอร์

5- เลือก เขียน Bootloader ที่เมนูเครื่องมือ

6- ถ้าคุณได้รับข้อความนี้: เขียน bootloader เรียบร้อยแล้ว สำเร็จ! (ดูรูปที่ 6 และ 8)

หากคุณได้รับข้อความแสดงข้อผิดพลาดตรวจสอบการเชื่อมต่อของคุณทีละคนและทำซ้ำขั้นตอน

อัพโหลดภาพร่าง

1- อย่าย้ายการเชื่อมต่อของคุณ

2- เลือกภาพร่าง (ดูรูปที่ 1 การกำหนดค่าหมุด Arduino เป็นสีแดง)

3- ใช้ อัพโหลดโดยใช้โปรแกรมเมอร์ จากเมนูไฟล์เสร็จแล้ว! (ภาพที่ 9- คลาสสิกกะพริบ)

หากคุณได้รับข้อความแสดงข้อผิดพลาดตรวจสอบการเชื่อมต่อของคุณทีละคนและทำซ้ำขั้นตอน

ขั้นตอนที่ 6: กำหนดเป้าหมาย Atmel Microcontroller 2: ATtiny84

คำแนะนำเหล่านี้ไม่เพียง แต่สำหรับ ATiny84 เท่านั้น แต่ควรใช้กับ Attiny45, Attiny85, Attiny44 และ Attiny84 โดยใช้ High-Low Tech Core และ ATtiny84 (84/44/24), ATtiny85 (85/45/25) และ ATtiny2313 (4313) ใช้ Arduino-Tiny Core แต่ในที่สุดกระบวนการก็เหมือนกัน

1- ติดตั้งการสนับสนุนซอฟต์แวร์สำหรับ Arduino IDE จากแกนที่คุณเลือก

2- เสียบสายระหว่าง (RX, TX, ถ้ามี) MISO, MOSI, SCK, RESET, 5V และ GND ของ ATtiny (ค้นหา pinout จากแผ่นข้อมูล Atmel) และ Arduino Leonardo ของคุณ

โปรดจำไว้: พิน RESET สำหรับเลโอนาร์โดคือพินดิจิตอล 10

3- เปิดร่าง

4- เลือกบอร์ดที่เกี่ยวข้อง ในกรณีของฉันโดยใช้คอร์ไฮเทคต่ำฉันกำลังเลือก Attiny84 (นาฬิกา 8Mhz ภายใน)

5- เลือก Arduino เป็น ISP (Leonardo) ในโปรแกรมเมอร์

6- การใช้งาน อัพโหลดโดยใช้โปรแกรมเมอร์ จากเมนูไฟล์

สำคัญ: ชิปบางตัวจะต้องมีการบูตเมื่อใช้ Arduino-Tiny Core ในกรณีที่ใช้ เบิร์น bootloader ก่อนที่คุณจะอัพโหลดภาพร่าง

สำคัญเช่นกัน: แกนใช้การกำหนดค่าพินที่แตกต่างกันคุณต้องอ้างถึงเอกสารประกอบของพวกเขาเมื่อเขียนแบบร่าง

ตัวอย่าง: รูปภาพที่ 2 เป็นการกำหนดค่า Pin สำหรับ ATtiny84 จากคอร์ไฮเทคต่ำและรูปภาพ 3 จาก Arduino-Tiny Core

ขั้นตอนที่ 7: ขอบคุณ!

นี่เป็นคำสั่งแรกของฉันที่จะแสดงความคิดเห็นคำแนะนำคำวิจารณ์ยินดีต้อนรับ