สารบัญ:
- ขั้นตอนที่ 1: BOM และเครื่องมือ
- ขั้นตอนที่ 2: แผนผัง/เค้าโครง
- ขั้นตอนที่ 3: การบัดกรี
- ขั้นตอนที่ 4: Bootloading
- ขั้นตอนที่ 5: การอัปโหลด
- ขั้นตอนที่ 6: งานในอนาคต
วีดีโอ: Atmega328p Companion: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ATMEGA328P Companion: Bootloader และ Programmer Module
ถ้าคุณเป็นเหมือนฉัน คุณติดโปรเจ็กต์และ Arduino อย่างไรก็ตาม หากคุณทำโปรเจ็กต์หลายอย่างโดยใช้ Arduino เป็นสมอง คุณอาจเริ่มเบื่อที่จะดูบอร์ด Arduino โดยรวม ทำให้โปรเจ็กต์ของคุณยุ่งเหยิง และโดยรวมก็ดูแย่ ดังนั้นฉันจึงตัดสินใจว่าฉันต้องการย้ายจากบอร์ด Arduino ไปใช้เพียง IC
ป้อน atmega328p
atmega328p น่าจะเป็น IC ที่เข้ากันได้กับ Arduino ที่อุดมสมบูรณ์ที่สุดในตลาด มันไม่ได้ถูกหรือทรงพลังที่สุด แต่เมื่อพิจารณาทั้งสองสิ่งนี้ ฉันคิดว่าประสิทธิภาพต่อดอลลาร์ดีที่สุด คุณพร้อมที่จะเริ่มทำให้โครงการของคุณดูเป็นมืออาชีพมากขึ้นและไม่เหมือนกับการรวมกลุ่มของโมดูลชั้นวางหรือไม่? ถ้าเป็นเช่นนั้น อ่านคำแนะนำนี้แล้วคุณจะได้รับข้อมูลที่จำเป็นในการสร้างโมดูลของคุณเองซึ่งจะช่วยให้คุณแฟลช bootloader ไปยังเป้าหมายของคุณ atmega328p อัปโหลดภาพสเก็ตช์กะพริบเพื่อให้แน่ใจว่าสิ่งต่าง ๆ ใช้งานได้ และสุดท้ายก็อัปโหลดภาพร่างของคุณเอง สำหรับแต่ละโครงการของคุณ
ขั้นตอนที่ 1: BOM และเครื่องมือ
อย่างแรกเลย คำสั่งสอนนี้ไม่ใช่ขั้นตอนการสร้างคู่มือ แต่ฉันคิดว่าคุณรู้วิธีอ่านแผนผังและสามารถแปลสิ่งนั้นเป็นบอร์ดได้ ต่อไปนี้คือวัสดุและเครื่องมือที่จำเป็น:
วัสดุ:
- โปรโตบอร์ด 1x 40x60 มม. หรือ PCB
- ส่วนหัวชาย 1x 6pin (ฉันใช้ตัวผู้มุมขวา)
- 2x 14pin ส่วนหัวของตัวเมีย
- ส่วนหัวหญิง 1x 6pin
- ส่วนหัวหญิง 1x 2pin
- ตัวเก็บประจุ 2x 22pF (22)
- ตัวเก็บประจุ 1x 0.1uF (104)
- ตัวต้านทาน 1x 10kohm
- ตัวต้านทาน 2x330ohm
- 1x LED (สีใดก็ได้สำหรับไฟแสดงสถานะ - 3mm สำหรับการออกแบบ PCB)
- 1x LED (สีใดก็ได้สำหรับพินดิจิตอล 13 สำหรับร่างแบบกะพริบ - 3 มม. สำหรับการออกแบบ PCB)
- 1x 16MHz คริสตัล
- สวิตช์สไลด์ 1x
- 1x ปุ่มกดชั่วขณะ
เครื่องมือ:
- Arduino Uno
- หัวแร้ง
- จัมเปอร์ M-M 6x
- โปรแกรมเมอร์ FTDI
- สาย USB ที่ตรงกับโปรแกรมเมอร์ FTDI ของคุณ
- Arduino IDE
ขั้นตอนที่ 2: แผนผัง/เค้าโครง
สิ่งที่แนบมากับขั้นตอนนี้คือไฟล์อินทรีที่ฉันใช้ คุณสามารถแก้ไขและเปลี่ยนแปลงได้ตามต้องการ อย่างไรก็ตามฉันได้ออกแบบบอร์ดเพื่อให้ร่องรอยทั้งหมดอยู่ที่ชั้นล่างเพื่อให้ง่ายต่อการประดิษฐ์บนโรงสี PCB (ถ้าคุณมีการเข้าถึง) ด้วยบอร์ดด้านเดียว นอกจากนี้ยังอยู่ด้านล่างเพื่อให้ง่ายต่อการประสานส่วนประกอบเข้าด้วยกัน
หากคุณต้องการ PCB เพียงเรียกใช้ CAM เพื่อรับไฟล์ gerber ที่จำเป็นสำหรับผู้ผลิตที่คุณชื่นชอบ ฉันชอบ OSH Park เพราะคุณแค่ให้ไฟล์บอร์ดกับพวกเขา และพวกเขาเรียกใช้ CAM ที่จำเป็นเพื่อรับไฟล์ที่ต้องการ
ขั้นตอนที่ 3: การบัดกรี
มีสามวิธีในการสร้างบอร์ดนี้:
- การเติม PCB
- การเติมบอร์ดสี
- กำลังเติมโปรโตบอร์ด
การเติม PCB ค่อนข้างตรงไปตรงมา และไม่ควรทำให้คุณมีปัญหาใดๆ เนื่องจากทุกอย่างมีป้ายกำกับ
การเติมบอร์ดที่บดแล้วไม่ควรยากเกินไป เนื่องจากมีการสร้างแบบจำลองเหมือนกับ PCB ทุกประการ ยกเว้นว่าคุณไม่มีเครื่องหมาย ดังนั้นให้ทำตามไฟล์บอร์ดใน Eagle เพื่อให้แน่ใจว่าคุณกำลังวางสิ่งต่างๆ ในตำแหน่งที่ถูกต้อง (โดยเฉพาะขั้วของ LED)
สุดท้ายนี้ การเติมโปรโตบอร์ดเป็นงานที่ต้องใช้ความคิดมากที่สุด แต่ก็ไม่ได้ยากมาก ฉันมีรูปภาพสองสามรูปในขั้นตอนนี้ซึ่งแสดงเวอร์ชันโปรโตบอร์ดของฉันและวิธีที่ฉันปรับให้เข้ากับทุกสิ่ง โปรดทราบว่า LM7805 ตัวเก็บประจุ 4.7uF สองตัว และขั้วสกรูจะไม่อยู่บนบอร์ดของคุณ ฉันกำลังล้อเล่นกับความคิดที่ว่าสิ่งนี้จะมีความสามารถในการขับเคลื่อนจากภายนอก แต่เมื่อฉันเริ่มคิดเกี่ยวกับมัน ฉันตัดสินใจว่าท้ายที่สุดแล้วมันจะเปลืองเนื้อที่ในบอร์ด
ขั้นตอนที่ 4: Bootloading
การตั้งค่า Bootloading Arduino:
นี่คือที่ที่คุณต้องการ Arduino ตัวอื่นของคุณ ไปที่นี่ก่อนและดาวน์โหลดไฟล์จากผู้ชายคนนี้ ณ จุดนี้ ไฟล์มีอายุไม่กี่ปี แต่ก็ยังใช้งานได้ดี เมื่อคุณดาวน์โหลดเสร็จแล้ว ให้เปิด optiLoader.ino และ Arduino IDE ของคุณควรแจ้งให้คุณใส่ลงในโฟลเดอร์ ทำเช่นนั้นแล้วใส่ไฟล์ optiLoader.h ลงในโฟลเดอร์ที่มีนามสกุล.ino ตอนนี้คุณพร้อมที่จะอัปโหลดภาพร่างนั้นไปยัง Arduino สำหรับการบูตเครื่องแล้ว ฉันใช้ Arduino Uno ดังนั้นฉันรู้ว่ามันใช้งานได้ แต่ฉันแน่ใจว่ามันจะทำงานกับบอร์ดอื่นๆ ได้เช่นกัน
เมื่อคุณอัปโหลด optiLoader.ino ไปยัง Arduino แล้ว ทุกอย่างก็พร้อมสำหรับการบูตโหลดชิป Arduino ต่างๆ มากมาย ฉันเพิ่งทำกับ atmega328p เท่านั้น อย่างไรก็ตาม โค้ดนี้ถูกตั้งค่าให้ตรวจจับ MCU เป้าหมายและแฟลช bootloader ที่ถูกต้อง ซึ่งค่อนข้างดี ดังนั้น เมื่อใดก็ตามที่คุณเชื่อมต่อ Arduino นี้กับบอร์ด Atmega Companion ด้วยชิปที่ติดตั้งและเปิดใช้งาน มันจะตรวจจับโดยอัตโนมัติว่าเป้าหมายคือ atmega328p และแฟลช bootloader ที่เหมาะสมโดยอัตโนมัติ ไม่มีการรีเซ็ตการกระโดด ไม่มีสิ่งแปลก ๆ เพียงแค่เสียบปลั๊กและเล่น
การเดินสาย Bootloader ไปยัง Companion Board:
[Bootloader Arduino] [บอร์ดคู่หู Atmega328p]
- D10 รีเซ็ต / พิน 1
- D11 MOSI / พิน 17
- D12 MISO / พิน 18
- D13 SCK / พิน 19
- 5V Vcc / พิน 20 หรือ 21
- GND Gnd / พิน 22
หมุดหมายถึงขาของ IC เอง หากทำให้เกิดความสับสน ให้ดูที่รูปภาพของบอร์ดจากขั้นตอนแผนผัง/เลย์เอาต์เนื่องจากหมุดบนบอร์ดที่แสดงร่วมจะติดป้ายกำกับไว้
กระพริบ Bootloader:
เมื่อคุณได้รับการตั้งค่า Bootloader Arduino ด้วยสเก็ตช์ optiLoader.ino และตอนนี้ได้ต่อสายเข้ากับ Companion Board แล้ว ตรวจสอบให้แน่ใจว่าสวิตช์บอร์ดคู่หูถูกตั้งค่าเป็น "bootload" แทนที่จะเป็น "อัปโหลด" จากนั้นเสียบปลั๊ก Arduino กับคอมพิวเตอร์ คุณควรเห็นไฟบนทั้ง Arduino และ Companion Board ของคุณกะพริบหลายครั้ง หลังจากนั้นไม่กี่วินาที ทั้งคู่ควรมืดและไม่กะพริบอีกต่อไป นี่อาจหมายความว่ามันแฟลช atmega328p IC ของคุณกับ bootloader สำเร็จ เพื่อให้แน่ใจว่าทุกอย่างเป็นไปด้วยดี ให้เสียบเข้ากับคอมพิวเตอร์ของคุณและเปิด Arduino IDE จากนั้นจึงเปิดจอภาพแบบอนุกรม เปลี่ยนอัตราบอดเป็น 19200 จากนั้นหากไม่รีสตาร์ทโดยอัตโนมัติ ให้กดปุ่มรีเซ็ตบน Arduino คุณควรเห็นข้อความจำนวนมากที่อธิบายว่าสคริปต์กำลังทำอะไรอยู่ ในตอนท้าย ไม่ควรมีข้อความแสดงข้อผิดพลาดใดๆ และควรแจ้งให้คุณทราบว่ากระบวนการเสร็จสิ้นแล้ว
หากคุณได้รับข้อผิดพลาด ให้ตรวจสอบสวิตช์ของคุณและตรวจสอบว่าคุณอยู่ใน "bootload" หากคุณยังคงได้รับข้อผิดพลาด ให้ตรวจสอบการเดินสายทั้งหมดของคุณและตรวจสอบให้แน่ใจว่าถูกต้อง
ขั้นตอนที่ 5: การอัปโหลด
นี่เป็นขั้นตอนที่ง่าย
ปลดสายไฟทั้งหมดจากขั้นตอนก่อนหน้าและพลิกสวิตช์จาก "bootload" เป็น "upload" เสียบโมดูล FTDI ของคุณ ฉันชอบ Adafruit CP2104 และ SparkFun CH340G เป็นหลักเพราะมันค่อนข้างถูกและพินเอาต์ตรงกับพิน FTDI ที่ออกมาจากบอร์ดคู่หู
เมื่อคุณเสียบ FTDI เข้ากับบอร์ดคู่หูแล้ว ให้เสียบเข้ากับคอมพิวเตอร์ของคุณ จากนั้นอัปโหลดภาพร่างตัวอย่างการกะพริบเพื่อให้แน่ใจว่าโปรแกรมโหลดบูตถูกแฟลชอย่างถูกต้อง เลือก Arduino/Genuino Uno จากเมนูบอร์ด เมื่ออัปโหลดสเก็ตช์การกะพริบแล้ว คุณจะเห็นไฟ LED กะพริบกะพริบตามที่คาดไว้ หากได้ผล แสดงว่าคุณพร้อมที่จะอัปโหลดภาพสเก็ตช์แบบกำหนดเองของคุณไปยัง IC เช่นเดียวกับที่คุณทำกับ Arduino ตัวอื่นๆ
ขั้นตอนที่ 6: งานในอนาคต
ในอนาคต ฉันวางแผนที่จะสร้างสิ่งนี้ให้เป็น Arduino Uno shield ไม่ควรใช้เวลานานในการทำเช่นนั้น และหากผู้คนต้องการ ฉันสามารถอัปโหลดไฟล์ Eagle สำหรับสิ่งนั้นที่นี่ได้เช่นกัน สิ่งนี้จะทำให้ขั้นตอนการโหลดบูตง่ายขึ้น เนื่องจากคุณไม่จำเป็นต้องกังวลเกี่ยวกับการเดินสายอย่างไม่ถูกต้อง ฉันเปิดรับข้อเสนอแนะอื่นๆ สำหรับการปรับปรุงเช่นกัน อย่างไรก็ตาม ฉันไม่สงสัยว่าฉันจะทำอะไรมากกว่านี้กับมันมากกว่านี้ เนื่องจากเป็นเพียงขั้นตอนที่จำเป็นในการเตรียมโครงการในอนาคตของฉัน
หากคุณต้องการเห็นโครงการในอนาคตของฉันเพิ่มเติม โปรดแจ้งให้เราทราบ แล้วฉันจะพยายามโพสต์ให้ชุมชนทราบต่อไป
แนะนำ:
Stand Alone Arduino ATmega328p: 7 ขั้นตอน (พร้อมรูปภาพ)
Stand Alone Arduino ATmega328p: ทุกอย่างเริ่มต้นเมื่อฉันได้เห็น "เกมไบนารี" โดย Keebie81https://www.instructables.com/id/Binary-Game/ แต่ฉันคิดว่าเวอร์ชันสแตนด์อะโลนแทนที่จะเป็นบอร์ด Arduino จะดีกว่าถ้าได้
สูตร Companion Box (ฮาร์ดแวร์ Remix / Circuit Bending): 11 ขั้นตอน (พร้อมรูปภาพ)
Companion Box Recipe (Hardware Remix / Circuit Bending): การรีมิกซ์ฮาร์ดแวร์เป็นวิธีตรวจสอบความสามารถในการจ่ายเทคโนโลยีดนตรีอีกครั้ง Companion Boxes เป็นวงจร DIY เครื่องดนตรีอิเล็กทรอนิกส์ เสียงที่พวกเขาทำขึ้นกับวงจรที่ใช้ อุปกรณ์ที่ฉันสร้างนั้นอิงจากมัลติเอฟเฟ
วิธีการสร้างเครื่องวัดอุณหภูมิ DIY แบบกำหนดเองโดยใช้กราฟแท่ง & Atmega328p: 3 ขั้นตอน (พร้อมรูปภาพ)
วิธีสร้างเครื่องวัดอุณหภูมิ DIY แบบกำหนดเองโดยใช้กราฟแท่ง & Atmega328p: ในโพสต์นี้ฉันจะแสดงวิธีสร้างเครื่องวัดอุณหภูมิโดยใช้กราฟแท่ง & Atmega328p. โพสต์จะมีรายละเอียดทั้งหมดเช่นแผนภาพวงจร, การผลิต PCB, การเข้ารหัส, การประกอบ & การทดสอบ ฉันได้รวมวิดีโอที่มีทั้งหมด
Portal 2 Companion Cube Audio Speaker: 23 ขั้นตอน (พร้อมรูปภาพ)
Portal 2 Companion Cube Audio Speaker: การพิมพ์ 3 มิติเป็นงานอดิเรกที่ยิ่งใหญ่ของฉัน ฉันใช้เวลามากในการสร้างผลงานแฟน ๆ ของภาพยนตร์และเกมที่ฉันชื่นชอบ มักเป็นสิ่งที่ฉันต้องการ แต่หาซื้อไม่ได้ในร้านค้าหรือทางออนไลน์ หนึ่งในเกมที่ฉันชอบที่สุดตลอดกาลคือ Portal 2 ในฐานะที่เป็นโปรเจกต์
Arduino Desktop Companion: 3 ขั้นตอน (พร้อมรูปภาพ)
Arduino Desktop Companion: คู่หูเป็นความคิดที่ฉันมาหาฉันในขณะที่ฉันรู้สึกหงุดหงิดกับการบ้าน ปัญหาคอมพิวเตอร์ หรือการเล่นเกม เพื่อนคู่ควรที่จะตอบสนองต่อ "ความโกรธ" ของคุณ พฤติกรรมและทำให้คุณตระหนักถึงพฤติกรรมของคุณหรือทำให้คุณสงบลง สิ่งที่คุณต้องการสำหรับ