» อิเล็กทรอนิกส์ »โปรแกรมเมอร์โฮมเมดสำหรับตัวควบคุม PIC

โปรแกรมเมอร์ทำที่บ้านสำหรับตัวควบคุม PIC

โปรแกรมเมอร์ทำที่บ้านสำหรับตัวควบคุม PIC

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

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


รูป№1 - แผนภาพของโปรแกรมเมอร์

ทันทีที่ฉันนำรายการขององค์ประกอบสำหรับผู้ที่ขี้เกียจเกินกว่าที่จะมองเข้าไปในแผนภาพ:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (ถูกตัดทอน) ด้วยการปรับค่าความต้านทานของตัวต้านทานนี้คุณต้องมีขนาดประมาณ 13V ที่ pin No. 4 (VPP) ระหว่างการตั้งโปรแกรม ในกรณีของฉันความต้านทานอยู่ที่ 1.2 kOhm
  • R3 - 200 โอห์ม
  • R4, R5 - 1.5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (แรงดันเสถียรภาพ 5.1V)
  • VD7 - 1N4743A (แรงดันเสถียรภาพ 13V)
  • C1 - 100 nF (0.1 μF)
  • C2 - 470 μF x 16 V (อิเล็กโทรไลต์)
  • SUB-D9F - ตัวเชื่อมต่อพอร์ต COM (MOM หรือ SOCKET)
  • ซ็อกเก็ต DIP8 - ขึ้นอยู่กับคอนโทรลเลอร์ที่คุณใช้

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


รูปที่ 2 - ตัวเลือกเคสคอนโทรลเลอร์ PIC พร้อมข้อสรุปที่จำเป็น

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

แม้ว่าวงจรตัวเองค่อนข้างง่ายและไม่ก่อให้เกิดความยากลำบากในการชุมนุม แต่ก็ต้องเคารพ ดังนั้นมันจะดีถ้าทำแผ่นวงจรพิมพ์ออกมา หลังจากจัดการบางอย่างกับโปรแกรม SprintLayouttextolite สว่านและเหล็กเกิดขึ้นที่นี่ (รูปที่ 3)


รูปถ่ายหมายเลข 3 - แผงวงจรโปรแกรมเมอร์

ดาวน์โหลดซอร์ส PCB สำหรับโปรแกรม SprintLayout คุณสามารถไปที่ลิงค์นี้:
pp_programmator.zip [17.67 Kb] (ดาวน์โหลด: 984)
หากต้องการคุณสามารถเปลี่ยนเป็นคอนโทรลเลอร์สำหรับประเภท PIC ของคุณได้ สำหรับผู้ที่ตัดสินใจออกจากกระดานไม่เปลี่ยนแปลงฉันกระจายมุมมองจากด้านข้างของชิ้นส่วนเพื่ออำนวยความสะดวกในการติดตั้ง (รูปที่ 4)


รูปที่ 4 - บอร์ดด้านการติดตั้ง

คาถาเพิ่มเติมเล็กน้อยพร้อมหัวแร้งและเรามีอุปกรณ์สำเร็จรูปที่สามารถแฟลชได้ ตัวควบคุม Pic ตลอด พอร์ต COM คอมพิวเตอร์ของคุณ ยังคงอบอุ่นและไม่ล้างออกจากฟลักซ์ผลลัพธ์ของความพยายามของฉันจะแสดงในรูปภาพหมายเลข 5


รูปถ่ายหมายเลข 5 - โปรแกรมเมอร์ที่สมบูรณ์

นับจากนี้ไปก้าวแรกสู่เฟิร์มแวร์ ตัวควบคุม Picมาถึงจุดสิ้นสุด ขั้นตอนที่สองจะรวมถึงการเชื่อมต่อโปรแกรมเมอร์กับคอมพิวเตอร์และทำงานกับโปรแกรม IC Prog.
น่าเสียดายที่คอมพิวเตอร์และแล็ปท็อปสมัยใหม่บางรุ่นไม่สามารถทำงานร่วมกับโปรแกรมเมอร์นี้ได้ พอร์ต COMและสิ่งที่ติดตั้งบนแล็ปท็อปไม่ได้แจกโปรแกรมที่จำเป็น 12B. ดังนั้นฉันจึงตัดสินใจที่จะหันไปหาคนแรกของฉัน พีซีที่นานมาแล้วปัดฝุ่นและรอชั่วโมงที่ดีที่สุดของเขา (และยังคงรอ)
ดังนั้นเปิดคอมพิวเตอร์และติดตั้งโปรแกรมก่อน IC Prog. คุณสามารถดาวน์โหลดได้จากเว็บไซต์ของผู้เขียน หรือที่ลิงค์นี้:
icprog105d.zip [432.25 Kb] (ดาวน์โหลด: 1167)
เราเชื่อมต่อโปรแกรมเมอร์ พอร์ต COM และเรียกใช้แอปพลิเคชันที่ติดตั้งใหม่ สำหรับการดำเนินการที่ถูกต้องมีความจำเป็นต้องดำเนินการชุดของการจัดการ เริ่มแรกมีความจำเป็นต้องเลือกชนิดของคอนโทรลเลอร์ที่เราจะทำการเย็บ ฉันมีมัน PIC12F675. ในสกรีนช็อต # 6 ฟิลด์สำหรับการเลือกคอนโทรลเลอร์จะถูกเน้นด้วยสีแดง


ภาพหน้าจอ 6 - การเลือกประเภทไมโครคอนโทรลเลอร์

ถัดไปไปที่เมนู "การตั้งค่า "->" ตัวเลือก"ในหน้าต่างที่ปรากฏขึ้นให้เลือกแท็บ I2C และทำเครื่องหมายในกล่องตามที่แสดงในภาพหน้าจอ # 7


ภาพหน้าจอ 7 - การตั้งค่าวิธีการบันทึกคอนโทรลเลอร์

ในหน้าต่างเดียวกันไปที่แท็บ "การเขียนโปรแกรม"และเลือก"ตรวจสอบการเขียนโปรแกรม"การตรวจสอบหลังจากการเขียนโปรแกรมอาจทำให้เกิดข้อผิดพลาดเพราะในบางกรณีเฟิร์มแวร์จะติดตั้งล็อคการล็อค CP. เพื่อไม่ให้หลอกตัวเองควรปิดการใช้งานการตรวจสอบนี้ ในระยะสั้นทำตามภาพหน้าจอหมายเลข 8


ภาพหน้าจอหมายเลข 8 - การตั้งค่าการตรวจสอบ

เรายังคงทำงานกับหน้าต่างนี้และไปที่ "ร่วมกัน"ที่นี่มีความจำเป็นต้องกำหนดลำดับความสำคัญของโปรแกรมและตรวจสอบให้แน่ใจว่าได้ใช้ NT / 2000 / XP ไดร์เวอร์ (ภาพหน้าจอหมายเลข 9) ในบางกรณีโปรแกรมอาจแนะนำให้ติดตั้งไดรเวอร์นี้และอาจต้องมีการรีสตาร์ท IC Prog.


ภาพหน้าจอ 9 - การตั้งค่าทั่วไป

ดังนั้นด้วยหน้าต่างนี้งานจึงจบลง ทีนี้มาดูการตั้งค่าของโปรแกรมเมอร์กันดีกว่า เลือกในเมนู "การตั้งค่า "->" การตั้งค่าโปรแกรมเมอร์"หรือเพียงแค่กดปุ่ม F3. หน้าต่างต่อไปนี้จะปรากฏขึ้นซึ่งแสดงในภาพหน้าจอ # 10


ภาพหน้าจอหมายเลข 10 - หน้าต่างการตั้งค่าโปรแกรมเมอร์

ก่อนอื่นให้เลือกประเภทของโปรแกรมเมอร์ - โปรแกรมเมอร์ Jdm. ต่อไปเราจะตั้งปุ่มตัวเลือกสำหรับการใช้ไดรเวอร์ ของ windows. ขั้นตอนต่อไปคือการเลือก พอร์ต COMซึ่งโปรแกรมเมอร์ของคุณเชื่อมต่ออยู่ หากเป็นหนึ่งเดียวไม่มีคำถามเลยและถ้ามีมากกว่าหนึ่งให้ดูในตัวจัดการอุปกรณ์ที่กำลังใช้งานอยู่ แถบเลื่อนการหน่วงเวลาอินพุต / เอาต์พุตถูกออกแบบมาเพื่อควบคุมความเร็วในการเขียนและอ่าน อาจจำเป็นต้องใช้กับคอมพิวเตอร์ที่เร็วและหากมีปัญหากับเฟิร์มแวร์ - พารามิเตอร์นี้จะต้องเพิ่มขึ้น ในกรณีของฉันมันคงเป็นค่าเริ่มต้นเท่ากับ 10 และทุกอย่างทำงานได้ดี

ในการตั้งค่าโปรแกรมนี้ IC Prog สิ้นสุดลงแล้วและคุณสามารถดำเนินการตามกระบวนการของเฟิร์มแวร์ได้ แต่ก่อนอื่นเราจะอ่านข้อมูลจากไมโครคอนโทรลเลอร์และดูสิ่งที่เขียนลงไป ในการทำเช่นนี้บนแถบเครื่องมือคลิกที่ไอคอนของ microcircuit ด้วยลูกศรสีเขียวดังที่แสดงในภาพหน้าจอหมายเลข 11


ภาพหน้าจอ 11 - กระบวนการอ่านข้อมูลจากไมโครคอนโทรลเลอร์

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


ภาพหน้าจอ 12 - ค่าของค่าคงที่การสอบเทียบ

ฉันพูดซ้ำ ๆ ว่าค่านั้นมีความพิเศษสำหรับไมโครวงจรแต่ละตัวและไม่ต้องตรงกับสิ่งที่แสดงในรูป หลายคนที่ขาดประสบการณ์เขียนทับค่าคงที่นี้และต่อมา ตัวควบคุม Pic เริ่มทำงานไม่ถูกต้องหากโครงการใช้การตอกบัตรจากเครื่องกำเนิดภายใน ฉันแนะนำให้คุณเขียนค่าคงที่นี้และติดจารึกที่มีค่าโดยตรงบนตัวควบคุม วิธีนี้คุณจะหลีกเลี่ยงปัญหามากมายในอนาคต ดังนั้นค่าจึงถูกเขียนลง - เราเดินหน้าต่อไป เปิดไฟล์เฟิร์มแวร์ซึ่งมักจะมีนามสกุล .hex. ตอนนี้แทนที่จะเขียน 3FFFบัฟเฟอร์การเขียนโปรแกรมมีรหัสของโปรแกรมของเรา (ภาพหน้าจอหมายเลข 13)


สกรีนช็อต 13 - ดาวน์โหลดเฟิร์มแวร์ไปยังบัฟเฟอร์การโปรแกรม

ฉันเขียนไว้ด้านบนว่ามีหลายคนเขียนทับค่าคงที่การสอบเทียบด้วยความประมาทเลินเล่อ สิ่งนี้จะเกิดขึ้นเมื่อใด สิ่งนี้จะเกิดขึ้นเมื่อเปิดไฟล์เฟิร์มแวร์ ค่าของค่าคงที่จะเปลี่ยนเป็นอัตโนมัติ 3FFF และถ้าคุณเริ่มกระบวนการเขียนโปรแกรมก็จะไม่มีการย้อนกลับ ในสกรีนช็อตหมายเลข 14 เซลล์หน่วยความจำนั้นซึ่งเป็นค่าคงที่ก่อนหน้านี้ 3450 (ก่อนเปิด ไฟล์ฐานสิบหก).


สกรีนช็อตหมายเลข 14 - การเปลี่ยนค่าคงที่การสอบเทียบอัตโนมัติ

ตอนนี้คุณต้องทำตามขั้นตอนด้านล่างอย่างระมัดระวัง เราคลิกที่ไอคอนของ microcircuit ที่มีฟ้าผ่าบนแถบเครื่องมือจึงแจ้งโปรแกรมที่เราต้องการเริ่มต้นกระบวนการเฟิร์มแวร์ โปรแกรมจะถามว่าเราแน่ใจหรือไม่ว่าต้องการแฟลชอุปกรณ์นี้ เราเห็นด้วยและคลิก "ใช่"หลังจากนั้นเราจะได้รับคำเตือนที่แสดงในภาพหน้าจอ # 15


สกรีนช็อตหมายเลข 15 - คำเตือนเกี่ยวกับความคลาดเคลื่อนในค่าของค่าคงที่นาฬิกา

IC Prog บอกเราว่าหนึ่งค่าคงที่การสอบเทียบ (ในกรณีของฉัน 3450) และตอนนี้อีกอัน (3FFF) แทนที่โดยอัตโนมัติจาก ไฟล์ฐานสิบหก. มันยังเสนอให้ออกจากค่าเริ่มต้น 3FFF. การคลิก "เป็นสิ่งสำคัญNO"เพื่อ IC Prog ระหว่างการเขียนโปรแกรมส่งคืนค่าเรา 3450 หรืออะไรจะอยู่กับคุณ โดยทั่วไปให้คลิก "NO"และสังเกตหน้าต่างต่อไปนี้ (ภาพหน้าจอหมายเลข 16)


ภาพหน้าจอ 16 - กระบวนการเขียนโปรแกรม

ในช่วงเวลานี้ฉันแนะนำให้คุณอย่ากดอะไรหรือโหลดคอมพิวเตอร์ด้วยงานอื่น เมื่อฉันถ่ายภาพหน้าจอสำหรับบทความนี้เมื่อฉันคลิกที่ปุ่ม พิมพ์หน้าจอ เกิดข้อผิดพลาดในการเขียนและฉันต้องทำมันอีกครั้ง หลังจากนั้นสักครู่ IC Prog จะให้ข้อความเกี่ยวกับการยืนยันที่สำเร็จของรหัสที่เขียนใหม่ในของคุณ ตัวควบคุม Picดังนั้นทุกคนที่ชอบบทความนี้ฉันต้องการเห็นสิ่งนี้หลังจากความพยายามที่คล้ายกัน (ภาพหน้าจอหมายเลข 17):


สกรีนช็อตหมายเลข 17 - เฟิร์มแวร์ประสบความสำเร็จคุณสามารถผ่อนคลายได้

หากในกระบวนการคุณมีคำถามใด ๆ ให้อ่านบทความใหม่อีกครั้งอย่างระมัดระวังและทุกอย่างจะได้ผล ขอให้โชคดีกับทุกคนและประสบความสำเร็จในการสร้างสรรค์ !!!
9.8
9.9
9.9

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้
8 คิดเห็น
บุคคลทั่วไป Ivanov
ชุดรูปแบบที่ยอดเยี่ยม วัดเป็นมืออาชีพถูกต้องชัดเจนและรัดกุม! ขอบคุณ! ที่ประสบความสำเร็จ!
แขกเฮเลน
โปรดบอกฉันที ถ้าเมื่ออ่านเฟิร์มแวร์จากตัวควบคุมที่มีการกะพริบอย่างตั้งใจรหัสโปรแกรมจะมีเพียง ZEROs และปัจจัยการสอบเทียบในตอนท้ายนี่หมายความว่าเฟิร์มแวร์ได้รับการปกป้องจากการอ่านหรือไม่? ไมโครคอนโทรลเลอร์ PIC16F630 พยายามพิจารณาโปรแกรมเมอร์ตามรูปแบบ "เดินสาย 3" ผ่านพอร์ต COM ช่วยเหลือ
สวัสดี สวัสดีปีใหม่กับคุณ ได้โปรดบอกฉัน คุณเขียน 13 โวลต์บนพินที่ 4 เมื่อเขียนโปรแกรม การวัดแรงดันไฟฟ้าในเอาต์พุตที่ 4 ที่สัมพันธ์กับ gnd บอกเราเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าโปรแกรมเมอร์
มีรูปแบบ (ร้ายแรงยิ่งขึ้น) ใน LPT AN589 เมื่อนานมาแล้ว
ดูบนอินเทอร์เน็ต
ผู้เขียน
น่าเสียดายที่ไม่มี
และโดยบังเอิญมีรูปแบบกับพอร์ต lpt ไม่? ขอบคุณ
ผู้เขียน
ขอบคุณสำหรับการให้คะแนน ฉันทำให้เพื่อนเป็นโปรแกรมเมอร์ด้วยสายเคเบิลระยะไกลประมาณ 1 เมตร เที่ยวบินเป็นปกติ - ผู้ควบคุมเย็บโดยไม่ล้มเหลว สายเคเบิลใช้สายเคเบิลเกลียวคู่บิด
Roman1984ฉันใส่คุณในวันที่ 9-10-10 แต่มีคำถาม: คุณพยายามทำงานกับโปรแกรมเมอร์ที่ถูกลบออกจากพอร์ต COM บนสายเคเบิลหรือไม่? หากใช้งานได้ตามปกติในกรณีนี้คุณสามารถบัดกรีสายเคเบิลแทนที่จะเชื่อมต่อกับบอร์ด สะดวกยิ่งขึ้นเมื่อโมดูลโปรแกรมเมอร์อยู่บนโต๊ะและโหลดแบบไดนามิกบนพอร์ต COM ของพีซีจะน้อยลง
เมื่อดำเนินการสายเคเบิลขอแนะนำให้วางโปรแกรมเมอร์เมื่อไม่ได้ใช้งาน แต่ไม่สามารถถอดสายเคเบิลออกจากช่องเสียบ PC ในกล่องเช่นกล่องสบู่เพื่อหลีกเลี่ยงการลัดวงจรจากอุบัติเหตุ

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...