สารบัญ:

Atmega328p Companion: 6 ขั้นตอน (พร้อมรูปภาพ)
Atmega328p Companion: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Atmega328p Companion: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Atmega328p Companion: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Electronic Basics #6: Standalone Arduino Circuit 2024, กรกฎาคม
Anonim
Atmega328p Companion
Atmega328p Companion

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
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 สำหรับสิ่งนั้นที่นี่ได้เช่นกัน สิ่งนี้จะทำให้ขั้นตอนการโหลดบูตง่ายขึ้น เนื่องจากคุณไม่จำเป็นต้องกังวลเกี่ยวกับการเดินสายอย่างไม่ถูกต้อง ฉันเปิดรับข้อเสนอแนะอื่นๆ สำหรับการปรับปรุงเช่นกัน อย่างไรก็ตาม ฉันไม่สงสัยว่าฉันจะทำอะไรมากกว่านี้กับมันมากกว่านี้ เนื่องจากเป็นเพียงขั้นตอนที่จำเป็นในการเตรียมโครงการในอนาคตของฉัน

หากคุณต้องการเห็นโครงการในอนาคตของฉันเพิ่มเติม โปรดแจ้งให้เราทราบ แล้วฉันจะพยายามโพสต์ให้ชุมชนทราบต่อไป

แนะนำ: