สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สร้างโปรแกรมเมอร์ PIC ของคุณเองสำหรับพอร์ตขนานของคอมพิวเตอร์ของคุณ นี่คือรูปแบบหนึ่งของการออกแบบคลาสสิกของ David Tait มีความน่าเชื่อถือมากและมีซอฟต์แวร์การเขียนโปรแกรมที่ดีให้ใช้งานฟรี ฉันชอบโปรแกรมเมอร์ IC-Prog และ PICpgm เหนือสิ่งอื่นใด มันใช้ตัวควบคุมแรงดันไฟฟ้าสองตัวและทรานซิสเตอร์ 5 ตัวเท่านั้น! *** ฉันเพิ่มรูปภาพของผลลัพธ์สุดท้าย และรูปภาพของ mini-programmer ใหม่ของฉันที่มีส่วนบนที่ชัดเจน คลิกที่ภาพขนาดเล็กด้านล่าง!** นี่เป็นรูปแบบใหม่ และทำงานไม่ถูกต้อง 100% ในการลองครั้งแรก ฉันเดาว่าฉันได้นำหน้าตัวเอง.. ฉันได้สร้างรูปแบบต่างๆ มากมาย และฉันคิดว่าฉันทำได้เหนือสิ่งอื่นใด:) มีการเปลี่ยนแปลงเล็กน้อย แต่ทุกอย่างก็เรียบร้อยในที่สุด ฉันต้องเพิ่มทรานซิสเตอร์ npn เพิ่มเติมและเปลี่ยนค่าตัวต้านทานสองสามค่า การเปลี่ยนแปลงเหล่านี้มีผลอยู่แล้วในรายการนี้ แต่จะไม่มีการอัปเดตในทุกภาพ ดูภาพซอฟต์แวร์ที่ฉันใช้และวิธีตั้งค่าโปรแกรมเมอร์ในขั้นตอนที่ 7 คุณต้องการ: ทรานซิสเตอร์ DB25 socket4x NPN ตัวผู้ เช่น ทรานซิสเตอร์ 2n39041x PNP เช่น ตัวควบคุมแรงดันไฟฟ้า 2n39061x 78051x LM317 ตัวควบคุมแรงดันไฟฟ้า (และตัวต้านทานที่เหมาะสมกับ ทำ 12.5V)เครือข่ายตัวต้านทาน SIP 1x 10k ตัวต้านทาน 4x 10k ตัวต้านทาน 1x 22k ตัวต้านทาน * อัปเดตสำหรับตัวต้านทานขั้นตอนที่ 31x 5k ตัวต้านทาน 1x 1k ตัว* อัปเดตสำหรับขั้นตอนที่ 31x ซ็อกเก็ตชิปแบบกลึงเกลียว เหล็ก โปรโตบอร์ด ลวดพัน เครื่องมือห่อ ปืนกาว
ขั้นตอนที่ 1: บัตรดัชนี
หากคุณมีเทปทองแดง ให้วางแถบลงเป็นระนาบพื้น ถ้าไม่ ให้ใส่ลวดเย็บกระดาษหนึ่งแถวตามขอบด้านหนึ่งแล้วประสานเข้าด้วยกัน
จากนั้นงอขาของเครือข่ายตัวต้านทาน SIP และกาวตามที่แสดง
ขั้นตอนที่ 2: พอร์ต ICSP
สร้างพอร์ต ICSP ด้วยส่วนหนึ่งของซ็อกเก็ตชิป แบบนี้ งอหมุดเป็นมุมฉากอย่างระมัดระวัง
ตอนนี้กาวพอร์ตลง ตอนนี้เป็นเวลาที่ดีที่จะติดทรานซิสเตอร์ของคุณ คุณยังสามารถประสานอีซีแอลของทรานซิสเตอร์ npn ของคุณกับระนาบกราวด์ได้แล้ว ฉันได้ติดป้ายกำกับแต่ละวัตถุประสงค์ของทรานซิสเตอร์ไว้ที่นี่ ทรานซิสเตอร์ npn สามตัวจะต่อสายเป็นอินเวอร์เตอร์ โดยพื้นฐานแล้วพวกเขาจะ "ดึงพลังงาน" จากตัวต้านทานแบบดึงขึ้นตามลำดับเมื่อกระแสถูกวางลงบนขาฐาน ทรานซิสเตอร์ PNP (คว่ำ) จะควบคุมแรงดันไฟฟ้าในการเขียนโปรแกรม มันจะกลับสัญญาณของมันด้วย **แก้ไข: ฉันเพิ่งรู้ว่ามีการละเลยในการออกแบบนี้ ควรมีทรานซิสเตอร์ npn เพิ่มเติมหนึ่งตัวที่ใช้ในการขับเคลื่อนทรานซิสเตอร์ PNP สิ่งนี้จะบัฟเฟอร์พอร์ตคอมพิวเตอร์ของคุณจากแรงดันไฟฟ้าที่ฐานของ pnp ความผิดฉันเอง. สิ่งนี้จะยกเลิกการแปลงสัญญาณด้วย ดูขั้นตอนที่ 8
ขั้นตอนที่ 3: ตัวต้านทานฐาน
ฉันใช้ตัวต้านทานฐาน 10k ประสานที่วงกลม ฉันทำให้ทรานซิสเตอร์ pnp ยุ่งเหยิงในรูปนี้ ละเว้นพื้นที่สีขาวออก
**แก้ไข: ตัวต้านทานพื้นฐานสำหรับ "ข้อมูลใน" tranny ควรเป็น 22k นอกจากนี้ ไม่ควรดึงข้อมูลออกด้วยเครือข่ายตัวต้านทาน 10k ให้ดึงขึ้นด้วยตัวต้านทาน 1k แทน ฉันเพิ่งรู้ว่าตัวต้านทานสองตัวนี้จะเป็นตัวแบ่งแรงดันไฟฟ้า และถ้าแต่ละตัวมีข้อมูลสูง 10k จะเป็น 2.5V… ไม่ดีเลย (อีกทางหนึ่ง คุณสามารถปล่อยให้สิ่งต่าง ๆ เหมือนเดิมได้ แต่เชื่อมต่อตัวสะสมทรานซิสเตอร์ Data Out กับพูลอัป 5 10k ที่เหลือทั้งหมด สิ่งนี้ทำให้ตัวหาร 2/10 ซึ่งน่าจะพอเพียง ในวงจรเฉพาะของฉัน นั่นคือสิ่งที่ฉันทำ และ มันลงทะเบียนสูง 4.24V ซึ่งน่าจะเพียงพอ) ภาพที่ 2: ทรานซิสเตอร์ pnp ได้รับตัวต้านทานพื้นฐานสองตัวที่ต่อสายเป็นตัวแบ่ง ประสานตัวต้านทาน 10k ระหว่างอีซีแอลและฐาน ประสานปลายด้านหนึ่งของ 5k ของคุณ (อันที่จริงฉันใช้ 3.3k เพราะฉันวางมันไว้รอบ ๆ) ไปที่ฐาน คุณสามารถเชื่อมต่อคอลเลคเตอร์กับพิน Vpp ได้แล้ว เนื่องจากมันอยู่ใกล้กัน ในที่สุด คุณจะเชื่อมต่ออีซีแอลกับแหล่งสัญญาณ 12.5V ตัวต้านทาน 10k ช่วยให้ฐานสูง - ดังนั้นจึงปิดแรงดันไฟฟ้าในการเขียนโปรแกรม เมื่อพิน 5 ของพอร์ตขนานของคุณเหลือน้อย มันจะดึงฐานต่ำผ่านตัวต้านทาน 5k แผนผังที่ฉันใช้ยังแสดงตัวต้านทาน 10k ระหว่างตัวสะสมและกราวด์ ฉันไม่แน่ใจว่ามีไว้เพื่ออะไร ฉันคิดว่าเพื่อให้แน่ใจว่าพิน MCLR ของ PIC ไม่ลอย แต่นั่นคงเป็นเรื่องงี่เง่าเพราะ MCLR มักจะเชื่อมต่อกับ pullup ภายนอกอยู่แล้ว นอกจากนี้ พิน MCLR ยังเป็นซิงก์ที่ใช้งานของไมโครแอมป์สองสามตัว มันไม่ลอย ยังไงก็ตาม ฉันได้ละเว้นตัวต้านทานนี้โดยประมาท คะแนนโบนัสสำหรับทุกคนที่สามารถบอกฉันได้ว่าทำไมนี่เป็นความคิดที่ไม่ดี
ขั้นตอนที่ 4: พอร์ต DB25
DB25 คือการกำหนดพอร์ตขนาน เท่าที่ฉันรู้พวกเขามีความหมายเหมือนกัน คุณต้องการส่วนของผู้ชาย เนื่องจากคอมพ์ของคุณมีปลั๊กตัวเมีย
ติดกาวที่ขอบการ์ดได้เลย ไม่รอ! คุณติดมันเร็วเกินไป! ขั้นแรกให้สร้างหมุด 18-25 แบบทั่วไปเนื่องจากจะเป็นหมุดกราวด์ทั่วไป อ้อ..ก็ได้ครับเพราะการ์ดงอได้ อันที่จริง วิธีที่ดีกว่าในการทำส่วนนี้คือการงอหมุดแต่ละอันเข้าหาเพื่อนบ้าน จากนั้นบัดกรีลงไป ฉันแค่พยายามแสดงให้เห็นว่าการเชื่อมต่อควรเป็นอย่างไร
ขั้นตอนที่ 5: การเชื่อมต่อ DB 25
ตกลง. ขาที่ 2 ของพอร์ต DB25 คือขา data out เชื่อมต่อกับตัวต้านทานฐาน "data out" ผลลัพธ์สุดท้าย: เมื่อพินนี้สูงขึ้น พินข้อมูล RB7/ดาต้าของรูปจะรับสัญญาณต่ำ (จุดประสงค์ของการกลับด้านคืออะไร? ผลข้างเคียงของการกลับสัญญาณคือการที่คุณบัฟเฟอร์มันเช่นกัน การบัฟเฟอร์สัญญาณที่นี่โดยใช้แหล่งพลังงานภายนอกเป็นจุดรวมของทรานซิสเตอร์ npn)
พินที่ 3 คือพินนาฬิกาออก เชื่อมต่อกับตัวต้านทานฐาน "clock out" ภาพที่ 2: พิน 10 เป็นข้อมูล IN พิน เชื่อมต่อสิ่งนี้กับตัวต้านทานแบบดึงขึ้นของทรานซิสเตอร์ "data in" ตามที่เห็นในวงกลมสีน้ำเงิน พิน 5 คือพินแรงดันการเขียนโปรแกรมหรือพิน Vpp ดูขั้นตอนที่ 8 คุณจะต้องเพิ่มทรานซิสเตอร์ npn ตัวที่สี่ และเชื่อมต่อสายนี้กับตัวต้านทานฐาน ตัวเก็บประจุของทรานซิสเตอร์จะเชื่อมต่อกับตัวต้านทานฐาน 5k ของทรานซิสเตอร์ pnp อีซีแอลจะเชื่อมต่อกับระนาบกราวด์
ขั้นตอนที่ 6: ด้านพอร์ต ICSP
ในการตั้งค่าของฉัน ฉันเลือกให้นาฬิกาอยู่ด้านล่าง ด้านบนของข้อมูล และพื้น Vdd และ Vpp อยู่ระหว่าง นี่เป็นกฎเกณฑ์โดยสมบูรณ์
ดาต้าพิน ICSP จะเชื่อมต่อกับทั้งตัวต้านทานแบบดึงขึ้นสำหรับ "ข้อมูลออก" tranny และตัวต้านทานพื้นฐานของ "ข้อมูลใน" tranny วงกลมสีน้ำเงิน **แก้ไข: ดึงข้อมูลออกด้วยตัวต้านทาน 1k หรือพูลอัป 10k ที่เหลือทั้งหมด 5 รายการในเครือข่ายตัวต้านทาน การใช้ตัวต้านทาน 10k เพียงตัวเดียวจะทำให้สัญญาณข้อมูลสูงถูกแบ่งออกเป็น 2.5V ซึ่งจะไม่บันทึกสูง เนื่องจากชิ้นส่วน CMOS ที่ทำงานที่ 5V ต้องการ 3.5V เพื่อลงทะเบียนสูง พิน Vpp จะเชื่อมต่อกับตัวสะสมของทรานซิสเตอร์ PNP พิน Vdd จะเชื่อมต่อกับพินตัวต้านทานเครือข่าย 1 วงกลมสีส้ม หากคุณต้องการสวิตช์เปิด/ปิดบนโปรแกรมเมอร์ ให้เสียบระหว่างจุดเหล่านี้ หมุดกราวด์จะเชื่อมต่อที่ใดที่หนึ่งบนแถบกราวด์ หมุดนาฬิกาจะเชื่อมต่อกับตัวต้านทานแบบดึงขึ้นของทรานซิสเตอร์ "clock out" วงกลมสีเหลือง
ขั้นตอนที่ 7: รูปภาพใหม่… เสร็จสิ้นและทดสอบแล้ว
นี่คือโปรแกรมเมอร์ที่เสร็จแล้ว คุณไม่สามารถบอกได้ในรูป แต่ฉันตัดคลิปบอร์ดให้เป็นขนาดที่เหมาะสม และใช้ของ Elmer เพื่อกาวการ์ดเข้ากับบอร์ด
ฉันดึง LCD ออกมาเพื่อทดสอบอย่างรวดเร็ว มันอ่าน เขียน ลบ คุณสามารถถามอะไรได้อีก ตรวจสอบภาพเพื่อดูภาพหน้าจอของวิธีตั้งค่าซอฟต์แวร์การเขียนโปรแกรม ICProg หรือ PICPgm ตรวจสอบขั้นตอนที่ 8 เพื่อดูรายละเอียดของมาตรการแก้ไขสองสามข้อที่แสดงไว้ที่นี่ ฉันเพิ่ม lm317 สองตัวสำหรับ 5V และแรงดันไฟฟ้าในการเขียนโปรแกรม
ขั้นตอนที่ 8: การแก้ไข!!
นี่คือการแก้ไข อ๊ะ… อัปเดต ดูรูปถัดไป
คุณควรมีทรานซิสเตอร์ npn ตัวอื่นเพื่อบัฟเฟอร์พอร์ตจากแรงดันไฟฟ้าที่อาจเป็นอันตรายที่ฐานของ pnp นี่คือภาพที่ด้านบนซ้าย ตัวสะสมไม่ยึดติดกับตัวต้านทานแบบดึงขึ้น ฐาน pnp ถูกดึงขึ้นไปยัง Vpp แล้ว อีซีแอลถูกต่อสายดิน ตัวสะสมเชื่อมต่อกับตัวต้านทานฐาน 5k ของทรานซิสเตอร์ pnp ฉันยังแสดงตัวต้านทานแบบดึงลง 10k ที่ฉันละเว้นก่อนหน้านี้ ฉันยังไม่รู้ว่ามีไว้เพื่ออะไร:) เนื่องจากคุณกำลังบัฟเฟอร์กับการใช้อินเวอร์เตอร์ เมื่อคุณใช้ซอฟต์แวร์โปรแกรมที่เข้ากันได้กับ TAIT คุณจะต้องเข้าไปที่การตั้งค่าโปรแกรมเมอร์และสลับนาฬิกา ข้อมูลออก และข้อมูลเข้า เนื่องจากคุณสลับสาย Vpp สองครั้ง คุณจะปล่อยให้มันอยู่คนเดียว FYI TAIT ดั้งเดิมใช้ DB25 pin 4 เพื่อควบคุม Vdd ฉันไม่ชอบสิ่งนี้ เพราะคุณไม่สามารถเรียกใช้รูปภาพของคุณจากแหล่งพลังงานของโปรแกรมเมอร์ ฉันได้เพิ่มสวิตช์แบบแมนนวลในโปรแกรมเมอร์คนอื่นๆ ของฉันแล้ว แต่มันไม่สามารถใช้งานได้เลย ทำไมคุณถึงไปอยู่ข้างหลังคอมพิวเตอร์ของคุณเพื่อเปิด/ปิดวงจรของคุณ? ฉันเพิ่งเพิ่มสวิตช์ไปที่เขียงหั่นขนม/วงจรเพื่อควบคุม Vdd คุณต้องถอดสายไฟหรือสาย icsp เมื่อไม่ได้ใช้งาน เพื่อหลีกเลี่ยงไม่ให้ไฟฟ้าลัดวงจรและต่อสายดิน
ขั้นตอนที่ 9: แผนผังโดยใช้แบตเตอรี่ 9V! และรูปคิตตี้ฟรี:)
รูปที่ 1: เพียงแค่เพิ่มสวิตช์เปิด/ปิดให้กับแบตเตอรี่ และโปรแกรมเมอร์นี้ก็พร้อมใช้งาน หากวงจรของคุณดึงพลังงานมากกว่าแบตเตอรี่ wimpy ให้เพิ่มแหล่งจ่ายไฟอื่นระหว่าง 9 ถึง 12.5V (ตรวจสอบว่าด้วยมัลติมิเตอร์หรือไม่! 12V ที่ไม่ได้ควบคุมมักจะหมายถึง 18-20V ภายใต้การดึงต่ำ - และจะฆ่ารูปของคุณ) หากหูดที่ผนังที่ใกล้ที่สุดของคุณให้พลังงานมากกว่า 12.5V คุณจะต้องเพิ่มตัวควบคุมแรงดันไฟฟ้าอื่น
หรือคุณสามารถปล่อยให้แบตเตอรี่ 9V เชื่อมต่อกับทรานซิสเตอร์ pnp แต่ถอดออกจาก 7805 จากนั้นเสียบแหล่งพลังงานภายนอกของคุณที่น้อยกว่า 35V ไปที่ 7805 ตอนนี้คุณเข้าใจว่าโปรแกรมเมอร์ทำงานอย่างไร ?) คุณสามารถปรับเปลี่ยนได้ตามต้องการจากที่นี่ เพิ่มไฟ LED แสดงสถานะบางส่วนอาจจะดี? รูปที่ 2: สเมิร์ฟฟี่ หึหึ เธอกำลังหลับอยู่