สารบัญ:
- ขั้นตอนที่ 1: คำแนะนำในการประกอบบอร์ด
- ขั้นตอนที่ 2: รวบรวมชิ้นส่วน
- ขั้นตอนที่ 3: ติดตั้งบอร์ด
- ขั้นตอนที่ 4: ใช้ Solder Paste
- ขั้นตอนที่ 5: วางชิ้นส่วน SMD
- ขั้นตอนที่ 6: เวลาสำหรับปืนลมร้อน
- ขั้นตอนที่ 7: เสริมแรงหากจำเป็น
- ขั้นตอนที่ 8: การทำความสะอาด/การถอด SMD Flux
- ขั้นตอนที่ 9: วางและประสานชิ้นส่วนของรางน้ำทั้งหมด
- ขั้นตอนที่ 10: ล้างหมุดเจาะรู
- ขั้นตอนที่ 11: อุ่นพินผ่านรูอีกครั้งหลังจากตัดเสร็จ
- ขั้นตอนที่ 12: ถอดฟลักซ์รูทะลุ
- ขั้นตอนที่ 13: ใช้อำนาจกับบอร์ด
- ขั้นตอนที่ 14: โหลด Bootloader
- ขั้นตอนที่ 15: โหลด Multi Sketch
- ขั้นตอนที่ 16: เสร็จสิ้น
- ขั้นตอนที่ 17: เวอร์ชันก่อนหน้า 1.3
วีดีโอ: โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
นี่เป็นคำสั่งสอนครั้งแรกของฉัน บอร์ดที่ฉันออกแบบคือ AVR Programmer บอร์ดนี้รวมเอาฟังก์ชันของบอร์ดต้นแบบ 4 แบบที่ฉันสร้างขึ้นในช่วงไม่กี่ปีที่ผ่านมา:
- โปรแกรมเมอร์ AVR แรงดันสูง ซึ่งส่วนใหญ่ใช้กับอุปกรณ์ ATtiny เพื่อตั้งค่าฟิวส์เมื่อใช้สายรีเซ็ตสำหรับ I/O
- Arduino เป็น ISP, 5V และ 3v3 (นับเป็นสองฟังก์ชัน)
- โปรแกรมเมอร์ NOR Flash EEPROM (คัดลอกจากการ์ด SD ไปยัง NOR Flash ได้อย่างรวดเร็ว)
บอร์ดนี้ใช้ตัวควบคุมแรงดันไฟฟ้า AMS1117 LDO ทั่วไปเพื่อรับ 5V และ 3v3 ฟังก์ชันไฟฟ้าแรงสูงต้องใช้ 12V สำหรับสิ่งนี้ ฉันใช้ MT3608 DC-DC step-up converter mcu ทำงานที่ 16MHz, 5V การเลื่อนระดับสำหรับทุกสิ่งที่ต้องการ 3v3 ทำได้โดยใช้ LVC125A LVC125A คือสิ่งที่คุณพบในโมดูลการ์ด SD จำนวนมาก mcu คือ ATmega328pb ATMega328pb เกือบจะเหมือนกับ ATMega328p ทั่วไป ยกเว้นว่ามีพิน I/O มากกว่า 4 พินในแพ็คเกจขนาดเดียวกัน
บอร์ดนี้เป็นเวอร์ชั่น 1.5 คุณลักษณะใหม่ในเวอร์ชันล่าสุดนี้:- อินเทอร์เฟซ USB แบบอนุกรม- ฟิวส์โพลีแบบรีเซ็ตได้- ไฟแสดงฟังก์ชัน LED ด้านล่างปุ่มเลือกฟังก์ชัน- สวิตช์ควบคุมการรีเซ็ตแบบอนุกรมโดยการตัดการเชื่อมต่อ DTR จากชิปอนุกรม USB - MOSFET สำหรับถอดไฟ DC-DC 12V ออกให้หมดเมื่อไม่ได้ใช้งาน
บอร์ดมีตัวเลือกในการเพิ่ม AT24Cxxx I2C serial EEPROM และมีขั้วต่อ I2C JST-XH-05 5 พิน (GND/5V/SCL/SDA/INT1) สำหรับเชื่อมต่ออุปกรณ์ I2C
แง่มุมที่ซับซ้อนกว่าประการหนึ่งของโครงการนี้คือวิธีการโหลดฟังก์ชัน/สเก็ตช์ทั้งหมดลงบนกระดาน วิธีที่ง่ายที่สุดคือการดาวน์โหลดภาพสเก็ตช์เมื่อใดก็ตามที่ฉันต้องการเปลี่ยนฟังก์ชัน อีกวิธีหนึ่งคือการรวมภาพร่างทั้งหมดเข้าด้วยกัน ฉันตัดสินใจต่อต้านทั้งสองวิธี วิธีการรวมจะทำให้ยากต่อการรวมการเปลี่ยนแปลงใดๆ ที่ทำกับภาพร่างต้นฉบับ วิธีการรวมยังมีปัญหาว่าจำนวน SRAM ที่มีอยู่ไม่เพียงพอโดยไม่ต้องเขียนใหม่และขุดลงในไลบรารีและภาพร่างที่ใช้ ซึ่งเป็นปัญหาในการบำรุงรักษาอีกครั้ง
วิธีที่ฉันเลือกคือเขียนแอปพลิเคชันชื่อ AVRMultiSketch ซึ่งทำงานร่วมกับ Arduino IDE เพื่อโหลดสเก็ตช์เป็นแฟลชโดยเปลี่ยนตำแหน่งหน่วยความจำ แหล่งที่มาของภาพร่างไม่ได้ถูกดัดแปลงแต่อย่างใด พวกเขาวิ่งบนกระดานราวกับว่าเป็นเพียงภาพร่างเท่านั้น วิธีการทำงานนี้มีรายละเอียดเกี่ยวกับโอเพ่นซอร์ส GitHub readme สำหรับ AVRMultiSketch ดู https://github.com/JonMackey/AVRMultiSketch สำหรับรายละเอียดเพิ่มเติม พื้นที่เก็บข้อมูลนี้ยังมีภาพสเก็ตช์ที่ฉันใช้/เขียน/แก้ไข ซึ่งสามารถใช้แยกกันได้
ในการสลับไปมาระหว่างภาพสเก็ตช์ บอร์ดมีปุ่มสี่ปุ่ม: รีเซ็ต และปุ่มที่มีป้ายกำกับ 0, 1, 2 เมื่อเปิดเครื่องหรือรีเซ็ต หากคุณไม่ดำเนินการใดๆ ฟังก์ชันสุดท้ายที่เลือกไว้จะถูกเรียกใช้ หากคุณกดปุ่มหมายเลขใดปุ่มหนึ่งค้างไว้ แสดงว่าคุณกำลังเลือกภาพร่าง/ฟังก์ชัน ภาพร่างกลายเป็นภาพร่างที่เลือก ไฟ LED สีขาวด้านล่างปุ่มฟังก์ชันแต่ละปุ่มจะติดสว่างเพื่อสะท้อนการเลือกปัจจุบัน
ขณะนี้คณะกรรมการมีภาพร่างเพียง 3 ภาพเท่านั้น แต่สามารถจัดอีกสองสามภาพ ในกรณีนั้น สมมติว่ามีเพียง 3 บิต/ปุ่มตัวเลข สามารถโฮสต์ได้ถึง 7 ปุ่มโดยกดปุ่มมากกว่าหนึ่งปุ่มค้างไว้
แผนผังอยู่ในขั้นตอนต่อไป
มีวงเล็บรองรับขั้นต่ำในสิ่งของต่างๆ ดู
บอร์ดสำหรับเวอร์ชัน 1.5 มีการแชร์บน PCBWay ดู
ติดต่อฉันหากคุณต้องการบอร์ดที่ประกอบและทดสอบแล้ว
ขั้นตอนที่ 1: คำแนะนำในการประกอบบอร์ด
คำแนะนำในการประกอบบอร์ด (หรือเกือบทุกบอร์ดขนาดเล็ก) มีดังต่อไปนี้
หากคุณรู้วิธีสร้างบอร์ด SMD แล้ว ให้ข้ามไปยังขั้นตอนที่ 13
ขั้นตอนที่ 2: รวบรวมชิ้นส่วน
ฉันเริ่มต้นด้วยการแปะกระดาษบนโต๊ะทำงานที่มีฉลากสำหรับชิ้นส่วนขนาดเล็กมากทั้งหมด (ตัวต้านทาน ตัวเก็บประจุ ไฟ LED) หลีกเลี่ยงการวางตัวเก็บประจุและไฟ LED ไว้ใกล้กัน ถ้าผสมกันอาจจะแยกแยะได้ยาก
จากนั้นฉันก็ใส่ชิ้นส่วนเหล่านี้ลงในกระดาษ รอบขอบฉันเพิ่มส่วนอื่น ๆ ง่ายต่อการระบุชิ้นส่วน
(โปรดทราบว่าฉันใช้กระดาษแผ่นเดียวกันนี้สำหรับกระดานอื่นๆ ที่ฉันออกแบบ ดังนั้นสถานที่เพียงไม่กี่แห่งในรูปภาพเท่านั้นที่มีส่วนต่างๆ ถัดจาก/บนฉลาก)
ขั้นตอนที่ 3: ติดตั้งบอร์ด
ฉันใช้ไม้ชิ้นเล็ก ๆ เป็นบล็อกยึด ฉันนำบอร์ด PCB มาเชื่อมระหว่างบอร์ดต้นแบบเศษเหล็กสองชิ้น แผงต้นแบบถูกยึดไว้กับบล็อกการติดตั้งด้วยเทปกาวสองชั้น (ไม่มีเทปบน PCB เอง) ฉันชอบใช้ไม้เป็นฐานยึดเพราะมันไม่นำไฟฟ้า/ป้องกันไฟฟ้าสถิตย์โดยธรรมชาติ นอกจากนี้ยังง่ายต่อการเคลื่อนย้ายเมื่อต้องการวางชิ้นส่วน
ขั้นตอนที่ 4: ใช้ Solder Paste
ทากาวบัดกรีบนแผ่น SMD โดยปล่อยให้แผ่นเจาะรูใดๆ เปลือยเปล่า ด้วยความถนัดขวา ฉันมักจะทำงานจากบนซ้ายไปล่างขวาเพื่อลดโอกาสที่สีบัดกรีที่ฉันได้ทาลงไปแล้ว หากคุณทาครีมทาครีม ให้ใช้ผ้าเช็ดทำความสะอาดที่ไม่มีขุย เช่น เช็ดเครื่องสำอางออก หลีกเลี่ยงการใช้คลีเน็กซ์/ทิชชู่ การควบคุมปริมาณการวางที่ใช้กับแต่ละแผ่นเป็นสิ่งที่คุณจะได้รับจากการลองผิดลองถูก คุณเพียงแค่ต้องการแต้มเล็กน้อยในแต่ละแผ่น ขนาดของแต้มจะสัมพันธ์กับขนาดและรูปร่างของแผ่น (ครอบคลุมประมาณ 50-80%) เมื่อมีข้อสงสัยให้ใช้น้อยลง สำหรับหมุดที่อยู่ชิดกัน เช่น แพ็คเกจ LVC125A TSSOP ที่ฉันกล่าวไปก่อนหน้านี้ คุณใช้แถบบางๆ กับแผ่นรองทั้งหมด แทนที่จะพยายามใช้แต้มแยกกับแผ่นรองที่แคบมากแต่ละแผ่น เมื่อบัดกรีละลาย หน้ากากประสานจะทำให้บัดกรีย้ายไปที่แผ่น เหมือนกับว่าน้ำจะไม่เกาะติดกับผิวมัน ประสานจะเป็นลูกปัดหรือย้ายไปยังพื้นที่ที่มีแผ่นสัมผัส
ฉันใช้แผ่นบัดกรีที่มีจุดหลอมเหลวต่ำ (จุดหลอมเหลว 137C) รูปที่สองคือบอร์ด v1.3 และประเภทของการวางบัดกรีที่ฉันใช้
ขั้นตอนที่ 5: วางชิ้นส่วน SMD
วางชิ้นส่วน SMD ฉันทำสิ่งนี้จากบนซ้ายไปล่างขวา แม้ว่ามันจะไม่ได้สร้างความแตกต่างมากนักนอกจากคุณจะไม่พลาดส่วนหนึ่ง ชิ้นส่วนถูกวางโดยใช้แหนบอิเล็กทรอนิกส์ ฉันชอบแหนบที่มีปลายโค้ง หยิบชิ้นส่วนขึ้นมา หมุนบล็อกการติดตั้ง หากจำเป็น จากนั้นวางชิ้นส่วน ให้แต่ละส่วนแตะเบา ๆ เพื่อให้แน่ใจว่าวางราบบนกระดาน เมื่อวางชิ้นส่วน ฉันใช้สองมือเพื่อช่วยในการจัดตำแหน่งที่แม่นยำ เมื่อวาง mcu สี่เหลี่ยม ให้หยิบขึ้นมาในแนวทแยงมุมจากมุมตรงข้าม
ตรวจสอบบอร์ดเพื่อให้แน่ใจว่าตัวเก็บประจุโพลาไรซ์อยู่ในตำแหน่งที่ถูกต้อง และชิปทั้งหมดอยู่ในตำแหน่งที่ถูกต้อง
ขั้นตอนที่ 6: เวลาสำหรับปืนลมร้อน
ฉันใช้แป้งบัดกรีอุณหภูมิต่ำ สำหรับปืนรุ่นของฉัน ฉันตั้งอุณหภูมิไว้ที่ 275C ตั้งค่ากระแสลมไว้ที่ 7 ถือปืนในแนวตั้งฉากกับกระดานที่ความสูงจากกระดานประมาณ 4 ซม. การบัดกรีในส่วนแรกจะใช้เวลาสักครู่จึงจะเริ่มหลอมละลาย อย่าถูกล่อลวงให้เร่งความเร็วโดยขยับปืนเข้าไปใกล้กระดาน โดยทั่วไปจะส่งผลให้ชิ้นส่วนต่างๆ รอบตัวเป่า เมื่อบัดกรีละลายแล้ว ให้ไปยังส่วนที่ทับซ้อนกันถัดไปของกระดาน ทำงานในแบบของคุณทั่วกระดาน
ฉันใช้ปืนลมร้อน YAOGONG 858D SMD (ใน Amazon ราคาต่ำกว่า 40 เหรียญ) แพคเกจประกอบด้วยหัวฉีด 3 หัว ฉันใช้หัวฉีดที่ใหญ่ที่สุด (8 มม.) โมเดล/สไตล์นี้ทำหรือขายโดยผู้ขายหลายราย ฉันเห็นเรตติ้งไปทั่ว ปืนนี้ทำงานได้อย่างไม่มีที่ติสำหรับฉัน
ขั้นตอนที่ 7: เสริมแรงหากจำเป็น
หากบอร์ดมีขั้วต่อการ์ด SD ที่ติดตั้งบนพื้นผิวหรือแจ็คเสียงที่ติดตั้งบนพื้นผิว ฯลฯ ให้ใช้ลวดบัดกรีพิเศษกับแผ่นอิเล็กโทรดที่ใช้ต่อตัวเรือนเข้ากับบอร์ด ฉันพบว่าการวางประสานเพียงอย่างเดียวโดยทั่วไปไม่แข็งแรงพอที่จะรักษาความปลอดภัยชิ้นส่วนเหล่านี้ได้อย่างน่าเชื่อถือ
ขั้นตอนที่ 8: การทำความสะอาด/การถอด SMD Flux
วางประสานที่ฉันใช้ได้รับการโฆษณาว่า "ไม่สะอาด" คุณต้องทำความสะอาดบอร์ด มันดูดีขึ้นมากและมันจะเอาลูกปัดเล็กๆ ที่บัดกรีบนบอร์ดออก ใช้ถุงมือยาง ไนไตรล์ หรือยางในที่ที่มีการระบายอากาศดี เท Flux Remover จำนวนเล็กน้อยลงในจานเซรามิกหรือสแตนเลสขนาดเล็ก ปิดผนึกขวดน้ำยาล้างฟลักซ์ ใช้แปรงแข็งทาแปรงในน้ำยาล้างฟลักซ์และขัดบริเวณกระดาน ทำซ้ำจนกว่าคุณจะขัดผิวกระดานจนหมด ฉันใช้แปรงทำความสะอาดปืนเพื่อการนี้ ขนแปรงแข็งกว่าแปรงสีฟันทั่วไป
ขั้นตอนที่ 9: วางและประสานชิ้นส่วนของรางน้ำทั้งหมด
หลังจากที่น้ำยาล้างฟลักซ์ระเหยออกจากบอร์ดแล้ว ให้วางและประสานส่วนรูรางทั้งหมด สั้นที่สุดไปสูงที่สุด ทีละส่วน
ขั้นตอนที่ 10: ล้างหมุดเจาะรู
ใช้คีมตัดแบบฝัง เล็มหมุดรูทะลุที่ด้านล่างของบอร์ด การทำเช่นนี้ทำให้การขจัดคราบฟลักซ์ทำได้ง่ายขึ้น
ขั้นตอนที่ 11: อุ่นพินผ่านรูอีกครั้งหลังจากตัดเสร็จ
เพื่อรูปลักษณ์ที่สวยงาม ให้อุ่นบัดกรีบนหมุดรูทะลุหลังจากตัดแล้ว สิ่งนี้จะลบรอยเฉือนที่เครื่องตัดฟลัชทิ้งไว้
ขั้นตอนที่ 12: ถอดฟลักซ์รูทะลุ
ใช้วิธีการทำความสะอาดแบบเดิม ทำความสะอาดด้านหลังของบอร์ด
ขั้นตอนที่ 13: ใช้อำนาจกับบอร์ด
จ่ายไฟให้กับบอร์ด (6 ถึง 12V) ถ้าไม่มีอะไรทอด ให้วัด 5V, 3v3 และ 12V 5V และ 3v3 สามารถวัดได้จากแท็บขนาดใหญ่บนชิปควบคุมสองตัว สามารถวัดได้ 12V จาก R3 ปลายตัวต้านทานใกล้กับด้านล่างซ้ายสุดของบอร์ด (แจ็คไฟอยู่ด้านบนซ้าย)
ขั้นตอนที่ 14: โหลด Bootloader
จากเมนูเครื่องมือ Arduino IDE ให้เลือกบอร์ดและตัวเลือกอื่นๆ สำหรับ mcu ที่เป็นเป้าหมาย
ในการออกแบบบอร์ดของฉัน ฉันมักจะมีตัวเชื่อมต่อ ICSP หากคุณไม่มี Arduino เป็น ISP หรือโปรแกรมเมอร์ ICSP อื่น ๆ คุณสามารถสร้างมันขึ้นมาบนเขียงหั่นขนมเพื่อวัตถุประสงค์ในการดาวน์โหลด bootloader ไปยังบอร์ดโปรแกรมเมอร์ เลือก Arduino เป็น ISP จากรายการเมนูโปรแกรมเมอร์ จากนั้นเลือกเบิร์น bootloader นอกจากการดาวน์โหลด bootloader แล้ว ยังช่วยตั้งค่าฟิวส์ให้ถูกต้องอีกด้วย ในภาพ กระดานด้านซ้ายคือเป้าหมาย กระดานด้านขวาคือ ISP
ขั้นตอนที่ 15: โหลด Multi Sketch
ทำตามคำแนะนำบนที่เก็บ GitHub ของฉันสำหรับ AVRMultiSketch เพื่อโหลดภาพสเก็ตช์หลายภาพลงในแฟลชผ่านพอร์ตอนุกรมบนบอร์ด ที่เก็บ GitHub AVRMultiSketch มีภาพสเก็ตช์ทั้งหมดที่แสดงในภาพถ่าย แม้ว่าคุณจะไม่ได้วางแผนที่จะสร้างบอร์ด คุณอาจพบว่า NOR Flash Hex Copier และภาพร่าง AVR High Voltage มีประโยชน์
ขั้นตอนที่ 16: เสร็จสิ้น
ฉันยังออกแบบแผงอะแดปเตอร์บางตัวเมื่อใช้ชิปที่ไม่ได้ต่อเชื่อม เช่น เมื่อใช้งานบอร์ดบอร์ด
- อะแดปเตอร์ ATtiny85 ICSP ใช้เพื่อตั้งโปรแกรม ATtiny85 แบบสแตนด์อโลน
- ATtiny84 ถึง ATtiny85 ใช้สำหรับการเขียนโปรแกรมไฟฟ้าแรงสูงและเชื่อมต่อกับอะแดปเตอร์ ATtiny85 ICSP
- อแดปเตอร์ NOR Flash
ดูงานออกแบบอื่นๆ ของฉันได้ที่
ขั้นตอนที่ 17: เวอร์ชันก่อนหน้า 1.3
ด้านบนเป็นรูปภาพของเวอร์ชัน 1.3 เวอร์ชัน 1.3 ไม่มี USB Serial, ฟิวส์แบบรีเซ็ตได้ และไฟ LED แสดงการทำงาน หนึ่งรุ่น 1.3 ตัวแปรใช้ ATmega644pa (หรือ 1284P)
หากคุณสนใจที่จะสร้างเวอร์ชั่น 1.3 ส่งข้อความหาฉัน (แทนที่จะเพิ่มความคิดเห็น)
แนะนำ:
CH341A โปรแกรมเมอร์: 8 ขั้นตอน
CH341A Programmer: ฉันเพิ่งซื้อ CH341A mini programmer โปรแกรมเมอร์ขนาดเล็กใช้ได้ และสามารถใช้เพื่อตั้งโปรแกรมชิปซีรีส์ 24 และ 24 ได้ มันมีต้นทุนต่ำมาก แต่มีประโยชน์มากเพราะฉันสามารถใช้เพื่อแฟลช BIOS ของคอมพิวเตอร์และเฟิร์มแวร์เราเตอร์ของฉัน WCH ได้โปรดปล่อย
โปรแกรมเมอร์ ATTiny HV: 4 ขั้นตอน
โปรแกรมเมอร์ ATTiny HV: คำแนะนำนี้มีไว้สำหรับยูทิลิตี้การเขียนโปรแกรม ATTiny โดยใช้ ESP8266 และส่วนต่อประสานผู้ใช้บนเบราว์เซอร์ มันต่อจากตัวแก้ไขฟิวส์ที่สั่งได้ก่อนหน้านี้สำหรับการอ่านและการตั้งค่าฟิวส์ แต่ตอนนี้รองรับการลบ อ่าน และเขียน fla
โปรแกรมเมอร์ VUSBTiny AVR SPI: 3 ขั้นตอน
โปรแกรมเมอร์ VUSBTiny AVR SPI: หลังจากสร้างโปรแกรมเมอร์ usbtiny isp และใช้งานเป็นเวลา 6 เดือน ฉันกำลังหาอีกอันหนึ่งสำหรับพกติดตัว ฉันชอบความเรียบง่ายของการออกแบบ usbtiny isp แต่ต้องการทำให้มันเล็กลงและใช้ชิ้นส่วนน้อยลง สิ่งหนึ่งในหรือ
โปรแกรมเมอร์ STK500 AVR ราคาถูกสำหรับ Atmel Studio: 7 ขั้นตอน
โปรแกรมเมอร์ STK500 AVR ราคาถูกสำหรับ Atmel Studio: Atmel Studio เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างโปรแกรม AVR แต่การเขียนโปรแกรมเป็นขั้นตอนแรก ในการใช้โปรแกรม คุณต้องสร้างวงจรและโอนรหัสของคุณไปยังไมโครคอนโทรลเลอร์ คุณสามารถตั้งโปรแกรม AVR ของคุณจาก Atmel Studio โดยใช้
โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR: 4 ขั้นตอน
โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR: โปรแกรมเมอร์ไมโครคอนโทรลเลอร์เป็นอุปกรณ์ฮาร์ดแวร์ที่มาพร้อมกับซอฟต์แวร์ซึ่งใช้ในการถ่ายโอนรหัสภาษาเครื่องไปยังไมโครคอนโทรลเลอร์/EEPROM จากพีซี โปรแกรมเมอร์ ISP สำหรับไมโครคอนโทรลเลอร์ AVR คือโปรแกรมเมอร์แบบอนุกรมซึ่งใช้ส