[Arduino #8] ซ่อมบูตโหลดเดอร์

บอร์ด Arduino ไม่ว่าจะเป็นรุ่นอะไรก็ตามโครงสร้างของบอร์ดก็จะประกอบด้วยไอซีไมโครคอนโทรลเลอร์ตระกูล AVR ของบริษัท ATMEL ซึ่งไอซีตระกูลนี้มีข้อดีตรงที่สามารถสร้างบูตโหลดเดอร์ได้ บูตโหลดเดอร์ก็คือส่วนที่ใช้ติดต่อรับไฟล์โปรแกรมผ่านทางพอร์ตอนุกรมนำมาอัดเข้าภายในตัวเองได้ ซึ่งมีลักษณะเป็นเครื่องโปรแกรมภายในนั่นเอง ทำให้ผู้ใช้งานสะดวกยิ่งขึ้นไม่ต้องหาซื้อเครื่องโปรแกรมเหมือนกับไมโครคอนโทรลเลอร์ในตระกูลอื่น ๆ แต่ก็มีบางครั้งที่การใช้งานอาจทำให้บูตโหลดเดอร์เสียหายไม่สามารถโปรแกรมได้ บทความนี้ขอเสนอวิธีการซ่อมบูตโหลดเดอร์ (จริง ๆ ก็คืออัดบูตโหลดเดอร์ลงไปใหม่นั่นเอง)

ส่วนประกอบที่จะใช้ในการซ่อมบูตโหลดเดอร์
1. โปรแกรม Arduino IDE (เวอร์ชั่นที่ทดสอบผ่านคือ  1.8.3, 1.8.5)
2. บอร์ด Arduino ตัวที่ยังใช้งานได้ปกติ (จะเอามาทำเป็นเครื่องโปรแกรม)
3. บอร์ด Arduino ตัวที่บูตโหลดเดอร์เสียหาย
4. สายจั๊มเปอร์สำหรับเชื่อมโยงระหว่างบอร์ดทั้งสอง
5. สาย USB ที่ใช้เชื่อมต่อระหว่าบอร์ด Arduino ตัวที่ยังใช้งานได้ปกติกับคอมพิวเตอร์

 ขั้นตอนการดำเนินการ
1. ดาวน์โหลดโปรแกรม Arduino IDE โดยเข้าไปที่เวปไซต์ https://www.arduino.cc  มีลำดับขั้นดังรูป

2. แนะนำว่าให็โหลดเป็นไฟล์ Zip 

3. ตั้งค่าสำหรับบอร์ด Programmer (บอร์ดตัวที่ยังทำงานได้) เช่นในตัวอย่างเป็นบอร์ดรุ่น UNO

4. เลือก Port ที่บอร์ดเชื่อมต่ออยู่ (ขั้นตอนนี้ต้องติดตั้งไดร์เวอร์ของบอร์ดและเชื่อมต่อกับคอมพิวเตอร์แล้ว)

5. เลือกชนิดของเครื่องโปรแกรมเป็น AVRISP mkII ดังรูป

6. เปิดไฟล์ ArduinoISP ดังรูป

7. คลิดอัพโหลด หลังจากนี้บอร์ด Arduino ตัวที่ใช้งานได้ปกติจะทำหน้าที่เป็นเครื่องโปรแกรม

8. เชื่อมโยงสายระหว่างบอร์ดตัวโปรแกรมและตัวถูกโปรแกรม ในที่นี้ยกตัวอย่างบอร์ด Arduino ตัวที่ยังใช้งานได้ปกติ (จะเอามาทำเป็นเครื่องโปรแกรม) เป็นรุ่น UNO การเชื่อมโยงสายจะเป็นดังรูป

9. การดำเนินการเบิร์นบูตโหลดเดอร์ ทำดังนี้
  9.1 เลือกชนิดบอร์ด (หรือเบอร์ซีพียู) ตัวที่ต้องการสร้าง/ซ่อม บูตโหลดเดอร์
  9.2 หากบอร์ดชนิดนั้นมีซีพียูหลายเบอร์ต้องเลือกเบอร์ซีพูยูให้ตรงกับที่จะเบิร์น
  9.3 เลือกพอร์ตที่เชื่อมต่อ
  9.3 เปลี่ยนชนิดเครื่องโปรแกรมเป็น Arduino as ISP
  9.5 คลิกที่ Burn Bootloader เพื่อทำการเบิร์น

10. หากการเบิร์นบูตโหลดเดอร์สมบูรณ์จะแสดงข้อความดังรูป (ต้องตั้งค่าให้แสดงด้วย)

ในกรณีที่ต้องการทำบูตโหลดเดอร์ลงตัวไอซีเดี่ยว ๆ วงจรในการเชื่อมต่อเป็นดังนี้

 ผู้ใช้งานสามารถใช้แผ่นวงจรพิมพ์เอนกประสงค์ต่อเป็นชิลด์วางเสียบลงบนบอร์ด Arduino UNO ได้ดังรูป

 

ปล. ในกรณีที่บอร์ด Arduino ตัวที่ยังใช้งานได้ปกติ (จะเอามาทำเป็นเครื่องโปรแกรม) เป็นบอร์ดรุ่น Nano การเชื่อมต่อก็ทำได้เช่นเดียวกันดังรูป

โปรดติดตามบทความอื่น ๆ ในตอนต่อ ๆ ไป

ขอบคุณสำหรับการติดตาม 

ครูประภาส  สุวรรณเพชร