สารบัญ:

โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน

วีดีโอ: โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน

วีดีโอ: โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง: 17 ขั้นตอน
วีดีโอ: วงจรเพิ่มแรงดัน 2 เท่า จากอุปกรณ์ง่ายๆที่ใครก็ทำได้เวอร์ชั่นที่ 1 2024, กรกฎาคม
Anonim
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง
โปรแกรมเมอร์ AVR พร้อมไฟฟ้าแรงสูง

นี่เป็นคำสั่งสอนครั้งแรกของฉัน บอร์ดที่ฉันออกแบบคือ 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

ใช้ Solder Paste
ใช้ Solder Paste
ใช้ Solder Paste
ใช้ Solder Paste

ทากาวบัดกรีบนแผ่น SMD โดยปล่อยให้แผ่นเจาะรูใดๆ เปลือยเปล่า ด้วยความถนัดขวา ฉันมักจะทำงานจากบนซ้ายไปล่างขวาเพื่อลดโอกาสที่สีบัดกรีที่ฉันได้ทาลงไปแล้ว หากคุณทาครีมทาครีม ให้ใช้ผ้าเช็ดทำความสะอาดที่ไม่มีขุย เช่น เช็ดเครื่องสำอางออก หลีกเลี่ยงการใช้คลีเน็กซ์/ทิชชู่ การควบคุมปริมาณการวางที่ใช้กับแต่ละแผ่นเป็นสิ่งที่คุณจะได้รับจากการลองผิดลองถูก คุณเพียงแค่ต้องการแต้มเล็กน้อยในแต่ละแผ่น ขนาดของแต้มจะสัมพันธ์กับขนาดและรูปร่างของแผ่น (ครอบคลุมประมาณ 50-80%) เมื่อมีข้อสงสัยให้ใช้น้อยลง สำหรับหมุดที่อยู่ชิดกัน เช่น แพ็คเกจ LVC125A TSSOP ที่ฉันกล่าวไปก่อนหน้านี้ คุณใช้แถบบางๆ กับแผ่นรองทั้งหมด แทนที่จะพยายามใช้แต้มแยกกับแผ่นรองที่แคบมากแต่ละแผ่น เมื่อบัดกรีละลาย หน้ากากประสานจะทำให้บัดกรีย้ายไปที่แผ่น เหมือนกับว่าน้ำจะไม่เกาะติดกับผิวมัน ประสานจะเป็นลูกปัดหรือย้ายไปยังพื้นที่ที่มีแผ่นสัมผัส

ฉันใช้แผ่นบัดกรีที่มีจุดหลอมเหลวต่ำ (จุดหลอมเหลว 137C) รูปที่สองคือบอร์ด v1.3 และประเภทของการวางบัดกรีที่ฉันใช้

ขั้นตอนที่ 5: วางชิ้นส่วน SMD

วางชิ้นส่วน SMD
วางชิ้นส่วน SMD

วางชิ้นส่วน SMD ฉันทำสิ่งนี้จากบนซ้ายไปล่างขวา แม้ว่ามันจะไม่ได้สร้างความแตกต่างมากนักนอกจากคุณจะไม่พลาดส่วนหนึ่ง ชิ้นส่วนถูกวางโดยใช้แหนบอิเล็กทรอนิกส์ ฉันชอบแหนบที่มีปลายโค้ง หยิบชิ้นส่วนขึ้นมา หมุนบล็อกการติดตั้ง หากจำเป็น จากนั้นวางชิ้นส่วน ให้แต่ละส่วนแตะเบา ๆ เพื่อให้แน่ใจว่าวางราบบนกระดาน เมื่อวางชิ้นส่วน ฉันใช้สองมือเพื่อช่วยในการจัดตำแหน่งที่แม่นยำ เมื่อวาง mcu สี่เหลี่ยม ให้หยิบขึ้นมาในแนวทแยงมุมจากมุมตรงข้าม

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

ขั้นตอนที่ 6: เวลาสำหรับปืนลมร้อน

เวลาสำหรับปืนลมร้อน
เวลาสำหรับปืนลมร้อน

ฉันใช้แป้งบัดกรีอุณหภูมิต่ำ สำหรับปืนรุ่นของฉัน ฉันตั้งอุณหภูมิไว้ที่ 275C ตั้งค่ากระแสลมไว้ที่ 7 ถือปืนในแนวตั้งฉากกับกระดานที่ความสูงจากกระดานประมาณ 4 ซม. การบัดกรีในส่วนแรกจะใช้เวลาสักครู่จึงจะเริ่มหลอมละลาย อย่าถูกล่อลวงให้เร่งความเร็วโดยขยับปืนเข้าไปใกล้กระดาน โดยทั่วไปจะส่งผลให้ชิ้นส่วนต่างๆ รอบตัวเป่า เมื่อบัดกรีละลายแล้ว ให้ไปยังส่วนที่ทับซ้อนกันถัดไปของกระดาน ทำงานในแบบของคุณทั่วกระดาน

ฉันใช้ปืนลมร้อน YAOGONG 858D SMD (ใน Amazon ราคาต่ำกว่า 40 เหรียญ) แพคเกจประกอบด้วยหัวฉีด 3 หัว ฉันใช้หัวฉีดที่ใหญ่ที่สุด (8 มม.) โมเดล/สไตล์นี้ทำหรือขายโดยผู้ขายหลายราย ฉันเห็นเรตติ้งไปทั่ว ปืนนี้ทำงานได้อย่างไม่มีที่ติสำหรับฉัน

ขั้นตอนที่ 7: เสริมแรงหากจำเป็น

เสริมแรงถ้าจำเป็น
เสริมแรงถ้าจำเป็น
เสริมแรงถ้าจำเป็น
เสริมแรงถ้าจำเป็น

หากบอร์ดมีขั้วต่อการ์ด SD ที่ติดตั้งบนพื้นผิวหรือแจ็คเสียงที่ติดตั้งบนพื้นผิว ฯลฯ ให้ใช้ลวดบัดกรีพิเศษกับแผ่นอิเล็กโทรดที่ใช้ต่อตัวเรือนเข้ากับบอร์ด ฉันพบว่าการวางประสานเพียงอย่างเดียวโดยทั่วไปไม่แข็งแรงพอที่จะรักษาความปลอดภัยชิ้นส่วนเหล่านี้ได้อย่างน่าเชื่อถือ

ขั้นตอนที่ 8: การทำความสะอาด/การถอด SMD Flux

การทำความสะอาด/การถอด SMD Flux
การทำความสะอาด/การถอด SMD Flux
การทำความสะอาด/การถอด SMD Flux
การทำความสะอาด/การถอด SMD Flux

วางประสานที่ฉันใช้ได้รับการโฆษณาว่า "ไม่สะอาด" คุณต้องทำความสะอาดบอร์ด มันดูดีขึ้นมากและมันจะเอาลูกปัดเล็กๆ ที่บัดกรีบนบอร์ดออก ใช้ถุงมือยาง ไนไตรล์ หรือยางในที่ที่มีการระบายอากาศดี เท Flux Remover จำนวนเล็กน้อยลงในจานเซรามิกหรือสแตนเลสขนาดเล็ก ปิดผนึกขวดน้ำยาล้างฟลักซ์ ใช้แปรงแข็งทาแปรงในน้ำยาล้างฟลักซ์และขัดบริเวณกระดาน ทำซ้ำจนกว่าคุณจะขัดผิวกระดานจนหมด ฉันใช้แปรงทำความสะอาดปืนเพื่อการนี้ ขนแปรงแข็งกว่าแปรงสีฟันทั่วไป

ขั้นตอนที่ 9: วางและประสานชิ้นส่วนของรางน้ำทั้งหมด

วางและประสานชิ้นส่วนของรูรางทั้งหมด
วางและประสานชิ้นส่วนของรูรางทั้งหมด
วางและประสานชิ้นส่วนของรูรางทั้งหมด
วางและประสานชิ้นส่วนของรูรางทั้งหมด

หลังจากที่น้ำยาล้างฟลักซ์ระเหยออกจากบอร์ดแล้ว ให้วางและประสานส่วนรูรางทั้งหมด สั้นที่สุดไปสูงที่สุด ทีละส่วน

ขั้นตอนที่ 10: ล้างหมุดเจาะรู

หมุดเจาะทะลุรู
หมุดเจาะทะลุรู

ใช้คีมตัดแบบฝัง เล็มหมุดรูทะลุที่ด้านล่างของบอร์ด การทำเช่นนี้ทำให้การขจัดคราบฟลักซ์ทำได้ง่ายขึ้น

ขั้นตอนที่ 11: อุ่นพินผ่านรูอีกครั้งหลังจากตัดเสร็จ

อุ่นหมุดผ่านรูหลังจากตัดแล้ว
อุ่นหมุดผ่านรูหลังจากตัดแล้ว

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

ขั้นตอนที่ 12: ถอดฟลักซ์รูทะลุ

ถอดฟลักซ์รูทะลุ
ถอดฟลักซ์รูทะลุ

ใช้วิธีการทำความสะอาดแบบเดิม ทำความสะอาดด้านหลังของบอร์ด

ขั้นตอนที่ 13: ใช้อำนาจกับบอร์ด

ใช้อำนาจกับคณะกรรมการ
ใช้อำนาจกับคณะกรรมการ

จ่ายไฟให้กับบอร์ด (6 ถึง 12V) ถ้าไม่มีอะไรทอด ให้วัด 5V, 3v3 และ 12V 5V และ 3v3 สามารถวัดได้จากแท็บขนาดใหญ่บนชิปควบคุมสองตัว สามารถวัดได้ 12V จาก R3 ปลายตัวต้านทานใกล้กับด้านล่างซ้ายสุดของบอร์ด (แจ็คไฟอยู่ด้านบนซ้าย)

ขั้นตอนที่ 14: โหลด Bootloader

โหลด Bootloader
โหลด Bootloader

จากเมนูเครื่องมือ Arduino IDE ให้เลือกบอร์ดและตัวเลือกอื่นๆ สำหรับ mcu ที่เป็นเป้าหมาย

ในการออกแบบบอร์ดของฉัน ฉันมักจะมีตัวเชื่อมต่อ ICSP หากคุณไม่มี Arduino เป็น ISP หรือโปรแกรมเมอร์ ICSP อื่น ๆ คุณสามารถสร้างมันขึ้นมาบนเขียงหั่นขนมเพื่อวัตถุประสงค์ในการดาวน์โหลด bootloader ไปยังบอร์ดโปรแกรมเมอร์ เลือก Arduino เป็น ISP จากรายการเมนูโปรแกรมเมอร์ จากนั้นเลือกเบิร์น bootloader นอกจากการดาวน์โหลด bootloader แล้ว ยังช่วยตั้งค่าฟิวส์ให้ถูกต้องอีกด้วย ในภาพ กระดานด้านซ้ายคือเป้าหมาย กระดานด้านขวาคือ ISP

ขั้นตอนที่ 15: โหลด Multi Sketch

โหลด Multi Sketch
โหลด Multi Sketch
โหลด Multi Sketch
โหลด Multi Sketch
โหลด Multi Sketch
โหลด 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
เวอร์ชันก่อนหน้า 1.3
เวอร์ชันก่อนหน้า 1.3

ด้านบนเป็นรูปภาพของเวอร์ชัน 1.3 เวอร์ชัน 1.3 ไม่มี USB Serial, ฟิวส์แบบรีเซ็ตได้ และไฟ LED แสดงการทำงาน หนึ่งรุ่น 1.3 ตัวแปรใช้ ATmega644pa (หรือ 1284P)

หากคุณสนใจที่จะสร้างเวอร์ชั่น 1.3 ส่งข้อความหาฉัน (แทนที่จะเพิ่มความคิดเห็น)

แนะนำ: