- ส่วนประกอบที่จำเป็น
- Pin Diagram ของ Atmega328
- คำอธิบายส่วนประกอบ
- ส่วนที่ 1: การสร้างวงจร Arduino บน Breadboard
- ส่วนที่ 2: การเบิร์น Bootloader ลงใน Atmega328 IC
- ส่วนที่ 3: วิธีการเขียนโปรแกรม Arduino Bootloader อัปโหลด Atmega 328
- การเขียนโปรแกรม Atmega328 Chip โดยใช้บอร์ด Arduino
- การเขียนโปรแกรม Arduino Atmega328 Chip โดยใช้ USB to Serial converter
เราทุกคนรู้ดีว่า Atmega328 IC ใช้ในบอร์ด Arduino UNO IC นี้เป็นสมองของบอร์ด Arduino จริงๆแล้วนักออกแบบ Arduino ต้องการสร้างบอร์ดต้นแบบที่มีประโยชน์สำหรับผู้เริ่มต้นดังนั้นพวกเขาจึงจัดองค์ประกอบทั้งหมดในลักษณะที่ทุกคนสามารถเข้าถึงพินทั้งหมดของ Atmega328 IC และสามารถตั้งโปรแกรมได้เพียงแค่เชื่อมต่อกับคอมพิวเตอร์ บอร์ด Arduino เป็นที่นิยมมากสำหรับการสร้างโครงการงานอดิเรก แต่ในผลิตภัณฑ์อุตสาหกรรมหรือสินค้าอุปโภคบริโภคไม่ควรใช้บอร์ด Arduino ที่สมบูรณ์ดังนั้นเราจึงสามารถใช้ Atmega328 IC แบบสแตนด์อโลนซึ่งสามารถตั้งโปรแกรมกับ Arduino IDE ได้ แต่ไม่ต้องใช้บอร์ด Arduino
ในบทช่วยสอนนี้เราจะดูวิธีเปลี่ยนบอร์ด Arduino ด้วย Atmega328 ICและส่วนประกอบอื่น ๆ สำหรับการใช้ Atmega328 IC แทน arduino ก่อนอื่นเราต้องเบิร์น Arduino Bootloader จากนั้นเราจะตั้งโปรแกรมโดยใช้ FTDI หรือใช้ Arduino Board บทช่วยสอนนี้จะช่วยในการเปลี่ยน Atmega328 IC ที่เสียหายจากบอร์ด Arduino นอกจากนี้ด้วยการใช้วงจรที่อธิบายไว้ด้านล่างคุณสามารถสร้างบอร์ด Arduino ของคุณเองได้โดยการจำลองบน PCB
ส่วนประกอบที่จำเป็น
- Atmega 328 IC
- เขียงหั่นขนม
- LM7805
- คริสตัล 16 MHz
- ตัวเก็บประจุเซรามิก 22pF (2)
- ตัวเก็บประจุ 10uF (2)
- ตัวต้านทาน 10 K
- ตัวต้านทาน 1k
- สายจัมเปอร์
คุณยังสามารถใช้ตัวควบคุมแรงดันไฟฟ้า 3.3v LM1117-3.3v เพื่อรวมราง 3.3v ไว้ในวงจรของคุณ
Pin Diagram ของ Atmega328
คำอธิบายส่วนประกอบ
ส่วนแหล่งจ่ายไฟ -
- ตัวควบคุมแรงดันไฟฟ้า 5V: Atmega 328 IC ทำงานบนแหล่งจ่ายไฟ 5V ดังนั้นที่นี่เราใช้ LM7805 เพื่อรับเอาท์พุท 5v มันสามารถรองรับได้ถึง 30V เป็นอินพุต หากคุณมีแหล่งจ่าย 5V แยกต่างหากคุณสามารถออกจากขั้นตอนนี้ได้
- ตัวเก็บประจุ:ตัวเก็บประจุ 10uF ใช้ที่ส่วนอินพุตและเอาต์พุตของ 7805 เพื่อข้ามส่วนประกอบ AC ลงกราวด์
- LED:นี่จะแสดงให้คุณเห็นว่าเอาต์พุต 5V ของคุณกำลังจะมา
ส่วนไมโครคอนโทรลเลอร์ -
- Atmega 328:นี่คือส่วนประกอบหลักของเราบนเขียงหั่นขนม แผนภาพพินได้รับด้านบน
- Crystal oscillator:คริสตัลภายนอก 16MHz เชื่อมต่อระหว่าง Pin 9 และ Pin 10 ของ ATmega328 คริสตัลนี้ใช้เพื่อให้นาฬิกาแก่ไมโครคอนโทรลเลอร์เพื่อให้ทำงานได้เร็วขึ้น
- ปุ่มกด:ในการรีเซ็ตไมโครคอนโทรลเลอร์ปุ่มกดเชื่อมต่อระหว่างพิน 1 และ GND โดยปกติจะเชื่อมต่อกับ 5v โดยใช้ตัวต้านทาน 10k
- LED: ไฟ led เชื่อมต่อกับพินดิจิตอล 13.
บทช่วยสอนที่สมบูรณ์นี้แบ่งออกเป็นสามส่วนเพื่อให้ Arduino ของคุณทำงานบน breadboard:
- การสร้าง Arduino Circuit บน Breadboard
- การเบิร์น Bootloader ลงใน Atmega328 IC
- วิธีการเขียนโปรแกรม Arduino Bootloader อัปโหลด Atmega 328 IC บน breadboard
ตอนนี้เราจะอธิบายทีละส่วน
ส่วนที่ 1: การสร้างวงจร Arduino บน Breadboard
ขั้นตอนที่ 1: - เชื่อมต่อชิ้นส่วนพาวเวอร์ซัพพลายตามที่แสดงในแผนภาพวงจรและทดสอบโดยใช้แหล่งจ่ายไฟภายนอกเข้ากับ LM7805 หน้าตาจะเป็นแบบนี้
ขั้นตอนที่ 2: - ตอนนี้เชื่อมต่อชิ้นส่วนไมโครคอนโทรลเลอร์ตามที่แสดงในแผนภาพวงจร ทำการเชื่อมต่ออย่างระมัดระวัง
ขั้นตอนที่ 3: - ตอนนี้เชื่อมต่อแหล่งจ่ายไฟและส่วนไมโครคอนโทรลเลอร์โดยใช้จัมเปอร์ วงจรสุดท้ายจะเป็นแบบนี้
ดังนั้นนี้เป็นของเราArduino บนเขียงหั่นขนม คุณสามารถใช้วงจรเดียวกันบน PCB โดยใช้เครื่องมือง่ายๆเช่น EasyEDA เป็นต้นตอนนี้เราต้องอัปโหลด bootloader ไปยัง Atmega 328 IC ใหม่เพื่อให้เราสามารถเริ่มโปรแกรม IC ได้
ส่วนที่ 2: การเบิร์น Bootloader ลงใน Atmega328 IC
bootloader คืออะไรและทำไมเราถึงต้องการ ??
Bootloader เป็นโค้ดปฏิบัติการชิ้นเล็ก ๆ ที่เก็บถาวรในหน่วยความจำของไมโครคอนโทรลเลอร์ ใช้หน่วยความจำน้อยกว่า 1Kb Bootloader อนุญาตให้ IC รับรหัสจากคอมพิวเตอร์และวางไว้ในหน่วยความจำของไมโครคอนโทรลเลอร์
ตามเนื้อผ้าไมโครคอนโทรลเลอร์ทั้งหมดจาก Atmel จะถูกตั้งโปรแกรมด้วยความช่วยเหลือของโปรแกรมเมอร์ที่มีการเชื่อมต่อแบบแฟนซี Bootloaders ช่วยลดความซับซ้อนและช่วยให้เราสามารถเขียนโปรแกรมไมโครคอนโทรลเลอร์ได้อย่างง่ายดายและมีประสิทธิภาพ ซึ่งหมายความว่าคุณสามารถโปรแกรมมันก็โดยใช้สาย USB
เมื่อคุณซื้อ ATMEGA ใหม่ 328 จากตลาดก็มี bootloader ในนั้นไม่มี ดังนั้นในการตั้งโปรแกรม Atmega328 ของคุณโดยใช้ Arduino IDE คุณต้องอัปโหลด bootloader ก่อน
ในการอัปโหลด Bootloader เรามีสองวิธี:
- ใช้โปรแกรมเมอร์ USBasp
- ใช้บอร์ด Arduino UNO
วิธีที่สองง่ายกว่าเมื่อเทียบกับวิธีแรก เนื่องจากต้องใช้การเชื่อมต่อน้อยลงและ Arduino IDE เวอร์ชันล่าสุดไม่รองรับโปรแกรมเมอร์ USBasp แบบแฟนซี
ดังนั้นในการกวดวิชานี้เราจะอัปโหลด bootloader ใช้บอร์ด
อัปโหลด Arduino Bootloader ใน Atmega328 Chip
ขั้นตอนที่ 1: -เปิด Arduino IDE ไปที่ File -> ตัวอย่าง -> ArduinoISP กว่าเลือก ArduinoISP ดังแสดงด้านล่าง.
ขั้นตอนที่ 2: -ตอนนี้คุณต้องอัปโหลดรหัสนี้ไปยังบอร์ด Arduino ของคุณ เลือกพอร์ต com และบอร์ดจากเมนูเครื่องมือแล้วกดปุ่มอัปโหลด
ขั้นตอนที่ 3: -หลังจาก ' เสร็จสิ้นการอัปโหลด' ให้ถอดบอร์ด Arduino ออกจากคอมพิวเตอร์และทำการเชื่อมต่อบอร์ด Arduino กับ Atmega 328 ดังแสดงในแผนภาพด้านล่าง
ขั้นตอนที่ 4: -ตอนนี้เชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์ เปิด Arduino IDE
ไปที่Toolsเลือกบอร์ดเป็น Arduino / Genuine UnoเลือกPort ที่ถูกต้องสำหรับบอร์ดของคุณ เลือกโปรแกรมเมอร์เป็น“Arduino เป็นผู้ให้บริการอินเทอร์เน็ต” อย่าสับสนกับ ArduinoISP ทั้งสองอย่างแตกต่างกัน
ขั้นตอนที่ 5: -ตอนนี้ไปที่ Tools อีกครั้งและคลิกที่Burn Bootloaderด้านล่างตัวเลือก Programmer หลังจากไม่กี่วินาที bootloader จะถูกอัปโหลดสำเร็จ หากมีข้อผิดพลาดในการอัปโหลดให้ตรวจสอบการเชื่อมต่อ
ตรวจสอบด้านล่างวิดีโอที่จะเข้าใจขั้นตอนที่อธิบายข้างต้นที่จะอัปโหลด Bootloader ใน ATMEGA 328 IC
Arduino เขียงหั่นขนมของคุณ พร้อมที่จะทำงานเป็นบอร์ด Arduino จริง ตอนนี้เกิดคำถามว่าจะโปรแกรม Atmega 328 IC ได้อย่างไร? ซึ่งเราจะพูดถึงในหัวข้อถัดไป
ส่วนที่ 3: วิธีการเขียนโปรแกรม Arduino Bootloader อัปโหลด Atmega 328
Standalone Arduino Atmega328 Chip สามารถตั้งโปรแกรมได้หลายแบบ
- ใช้บอร์ด Arduino เปล่าเช่นบอร์ด Arduino ที่ไม่มี Atmega 328 IC อยู่
- ใช้โมดูลตัวแปลง USB เป็น Serial TTL (โมดูล FTDI)
- การใช้โปรแกรมเมอร์ USBasp (เกี่ยวข้องกับการเชื่อมต่อจำนวนมาก)
ที่นี่เราจะตั้งโปรแกรมโดยใช้สองวิธี: USB เป็นตัวแปลงอนุกรมและบอร์ด Arduino
การเขียนโปรแกรม Atmega328 Chip โดยใช้บอร์ด Arduino
ขั้นตอนที่ 1: -ใช้บอร์ด Arduino โดยไม่ต้องใช้ชิป Atmega328 ทำให้การเชื่อมต่อของบอร์ด Arduino กับเรา เขียงหั่นขนม Arduino ดังแสดงในแผนภาพนี้
ขั้นตอนที่ 2: -เชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์และเปิด Arduino IDE เลือก Arduino Uno จากเมนู Board ใน Tools , Programmer เป็น USBasp และแก้ไขพอร์ต com ของบอร์ด
ขั้นตอนที่ 3: -เราจะเริ่มต้นด้วยการอัปโหลดโปรแกรม Blink ดังนั้นเลือกโปรแกรมกะพริบจากตัวอย่างและกดปุ่มอัปโหลด
ตอนนี้คุณสามารถเห็นไฟ led บนเขียงหั่นขนมจะเริ่มกะพริบ
การเขียนโปรแกรม Arduino Atmega328 Chip โดยใช้ USB to Serial converter
ขั้นตอนที่ 1: -หากคุณไม่มีบอร์ด Arduino นี่คือวิธีที่ดีที่สุดในการเขียนโปรแกรมของคุณ เขียงหั่นขนม Arduino
ทำการเชื่อมต่อเป็น:
RXD พินของ FTDI -> Tx พินของ Atmega328 (พิน 3)
TXD พินของ FTDI -> Rx พินของ Atmega328 (พิน 2)
GND -> GND (พิน 8)
5v -> Vcc (พิน 7)
โมดูล FTDI บางโมดูลมีพินรีเซ็ตหรือที่เรียกว่าพิน DTR ซึ่งจำเป็นต้องเชื่อมต่อกับพินรีเซ็ตของ Atmega328 (พิน 1) หากไม่มีพินรีเซ็ตในโมดูลไม่ต้องกังวลฉันจะให้วิธีแก้ปัญหาเมื่อเราตั้งโปรแกรมชิป
ขั้นตอนที่ 2: -ตอนนี้เชื่อมต่อ FTDI กับคอมพิวเตอร์และเปิดตัวจัดการอุปกรณ์ในแผงควบคุม คุณจะเห็นส่วนพอร์ตขยาย หากมีเครื่องหมายสีเหลืองด้านหน้าไดรเวอร์คุณต้องอัปเดตไดรเวอร์โมดูลของคุณ
หากไม่มีเครื่องหมายให้จดหมายเลขพอร์ต com และเปิด Arduino IDE ไปที่ Tools -> Ports -> เลือก com ที่คุณจดไว้
ขั้นตอนที่ 3: -ตอนนี้เราจะอัปโหลดโปรแกรมพริบของเรา เขียงหั่นขนม Arduino ไปที่ File -> ตัวอย่าง -> พื้นฐาน -> กะพริบตา เลือก Arduino Uno จากเมนูบอร์ดในเครื่องมือโปรแกรมเมอร์เป็น USBasp และพอร์ต com ที่ถูกต้องของบอร์ด
จากนั้นกดปุ่มอัปโหลด
หมายเหตุ: หากโมดูล FTDI ของคุณไม่มีพิน DTR ให้กดปุ่มรีเซ็ตบนเขียงหั่นขนมแล้วกดปุ่มอัปโหลด กดค้างไว้หากมีข้อความว่ากำลังรวบรวมภาพร่าง...ปล่อยปุ่มทันทีที่มีข้อความว่ากำลังอัปโหลด...
ตอนนี้โปรแกรมจะอัปโหลดลงในชิป Arduino Bootloader Atmega328 ได้สำเร็จ
ด้านล่างนี้เป็นวิดีโอสำหรับการเขียนโปรแกรม Atmega 328 IC โดยไม่ต้องใช้ Arduino Board:
เราได้ทำDIY Breadboard Arduino Circuitแล้ว คุณสามารถออกแบบวงจรนี้บน PCB เพื่อให้มีขนาดกะทัดรัดมากขึ้น