เครื่องกำเนิดความถี่บนแผนภาพรูป เครื่องกำเนิดพัลส์สี่เหลี่ยม (ความถี่) ที่ควบคุมด้วยมัลติโหมดบนไมโครคอนโทรลเลอร์ pic12f675 ลักษณะสำคัญของอุปกรณ์

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

แผนผังของเครื่องกำเนิดบน MK

การตั้งค่าอุปกรณ์

  • ช่วงความถี่: 10 เฮิรตซ์ - 60 กิโลเฮิรตซ์
  • การปรับความถี่ดิจิตอลใน 3 ขั้นตอนที่แตกต่างกัน
  • รูปคลื่น: ไซน์, สามเหลี่ยม, สี่เหลี่ยม, เลื่อย, H-pulse, L-pulse, Burst, Sweep, Noise
  • ช่วงเอาต์พุต: 15V สำหรับไซน์และสามเหลี่ยม, 0-5V สำหรับโหมดอื่นๆ
  • มีเอาต์พุตสำหรับการซิงโครไนซ์พัลส์

อุปกรณ์นี้ใช้พลังงานจากไฟฟ้ากระแสสลับ 12 โวลต์ ซึ่งให้แรงดันไฟฟ้ากระแสตรงสูงเพียงพอ (มากกว่า 18 โวลต์) ซึ่งจำเป็นสำหรับการทำงานปกติของ 78L15 และ 79L15 ซึ่งสร้างวงจรไบโพลาร์ 15 โวลต์ ซึ่งทำเพื่อให้ไมโครวงจร LF353 สามารถส่งออกเอาต์พุตได้ สัญญาณเต็มช่วงถึงโหลด 1 kOhm

ตัวควบคุมระดับใช้ ALPS SRBM1L0800 วงจรควรใช้ตัวต้านทานที่มีค่าความคลาดเคลื่อน ±1% หรือดีกว่า ตัวจำกัดกระแสไฟ LED - ตัวต้านทานซีรีย์ 4306R ความสว่างสามารถเพิ่มขึ้นได้ขึ้นอยู่กับความชอบของนักแสดง เครื่องกำเนิดไฟฟ้าประกอบในกล่องพลาสติกขนาด 178x154x36 มม. พร้อมแผงอลูมิเนียมด้านหน้าและด้านหลัง

ส่วนประกอบหน้าสัมผัสจำนวนมากติดตั้งอยู่ที่แผงด้านหน้าและด้านหลัง (ปุ่ม, ปุ่มหมุน, ขั้วต่อ RCA, ชุด LED, ขั้วต่อสายไฟ) แผงวงจรพิมพ์ติดอยู่กับตัวเครื่องด้วยสลักเกลียวพร้อมตัวเว้นระยะพลาสติก องค์ประกอบอื่น ๆ ทั้งหมดของเครื่องกำเนิดไฟฟ้าจะติดตั้งอยู่บนแผงวงจรพิมพ์ - แหล่งจ่ายไฟแยกจากกัน ปุ่มซ้ายตรงกลางคือเปลี่ยนโหมด ปุ่มขวาคือเลือกความถี่ของโหมด

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

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

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

ฉันอยากจะเสนอโครงการสำหรับเครื่องกำเนิดไฟฟ้าดังกล่าว

ขั้นแรกให้วงจรกำเนิดพัลส์:

อุปกรณ์นี้ใช้ไมโครคอนโทรลเลอร์ยอดนิยม เอทีเมก้า8 จากแอทเมล.

คำอธิบายของโครงการ วงจรทั้งหมดใช้พลังงานจากแรงดันไฟฟ้า 5 V ไมโครคอนโทรลเลอร์โอเวอร์คล็อกที่ความถี่ 8 MHz ซึ่งได้รับการเสถียรโดยควอตซ์ X1 ตัวจับเวลา/ตัวนับหมายเลข 1 ใช้เพื่อสร้างพัลส์ ตัวเข้ารหัสจะแสดงในรูปแบบของปุ่มในแผนภาพที่เชื่อมต่อกับพิน PC3, PC4 และ PC5 ปุ่มด้านนอกสองปุ่มแทนที่การสลับตัวเข้ารหัสระหว่างการหมุน และปุ่มที่อยู่ตรงกลางคือปุ่มตัวเข้ารหัสที่จะปิดเมื่อคุณกดแกน พัลส์สี่เหลี่ยมของความถี่ที่ตั้งไว้โดยใช้ตัวเข้ารหัสที่มีแอมพลิจูด 5 V จะถูกลบออกจากเอาต์พุตของตัวจับเวลา 1 (OCR1A) ในการแสดงความถี่เอาต์พุต จะใช้จอแสดงผล LCD บรรทัดเดียว 16 ตัวอักษร WH1601 ซึ่งเชื่อมต่อกับพอร์ต D ของไมโครคอนโทรลเลอร์ จอแสดงผลก็เป็นเรื่องปกติเช่นกัน โดยอิงตามไดรเวอร์ HD44780 ตัวต้านทาน R1 ปรับคอนทราสต์ของจอแสดงผล การแลกเปลี่ยนข้อมูลระหว่าง MK และจอแสดงผลจัดขึ้นโดยใช้บัส 4 สาย ขั้วต่อ J1 สำหรับการตั้งโปรแกรมในวงจรของ MK

ตอนนี้เกี่ยวกับโปรแกรมสำหรับไมโครคอนโทรลเลอร์

โปรแกรมนี้เขียนในสภาพแวดล้อมการพัฒนา CodeVisionAVR. สภาพแวดล้อมนี้มีไลบรารีสำเร็จรูปสำหรับการทำงานกับจอแสดงผล และการตั้งค่า MK นั้นชัดเจนและเรียบง่าย ฉันใช้เวอร์ชันก่อนเผยแพร่ CodeVisionAVR เวอร์ชัน 3.12.มันแตกต่างเล็กน้อยในการสร้างโค้ดโดยใช้ วิซาดา.แต่โดยพื้นฐานแล้วทุกอย่างก็เหมือนกัน ด้านล่างนี้อธิบายทุกอย่างโดยใช้ตัวอย่างการทำงานด้วย CodeVisionAVR เวอร์ชัน 3.12.อินเทอร์เน็ตเต็มไปด้วยลิงก์เพื่อศึกษาสภาพแวดล้อมนี้ เช่น: การเรียนรู้สภาพแวดล้อมการพัฒนาแบบบูรณาการ CodeVisionAVR.

มาเปิดตัว CVAVR กันดีกว่า สร้างโครงการใหม่ ( โครงการใหม่). โปรแกรมจะแจ้งให้คุณใช้วิซาร์ดการสร้างโครงการ

เราเห็นด้วย. จากนั้นเลือกตระกูลคอนโทรลเลอร์

การกำหนดค่าพอร์ต I/O คุณต้องสร้างเอาต์พุตบิต 1 ของพอร์ต B (PB1) - ความถี่ที่สร้างขึ้นจะถูกนำมา เราปล่อยให้พอร์ต D เหมือนเดิมในตอนนี้ และตั้งค่าพินที่จะอ่านสถานะตัวเข้ารหัส (PC3, PC4, PC5) เป็นอินพุต ( ทิศทางข้อมูล: ใน) และเปิดแหล่งจ่ายไฟภายใน ( ค่าพูลอัพ/เอาท์พุต- ความหมาย ).

ไปที่แท็บ ไทม์เมอร์/เคาน์เตอร์. ที่นี่คุณต้องกำหนดค่าตัวจับเวลา 2 ตัว: ตัวจับเวลา0และ เครื่องจับเวลา1ปล่อยให้ตัวจับเวลาที่เหลือปิดการใช้งาน ( ค่านาฬิกา: หยุดแล้ว).

การตั้งค่าความถี่ ตัวจับเวลา0 125 กิโลเฮิรตซ์ ตัวจับเวลานี้จำเป็นสำหรับการสำรวจสถานะตัวเข้ารหัสเป็นระยะ การโพลจะเกิดขึ้นทุกครั้งที่ตัวจับเวลาถึงค่าสูงสุด เพราะว่า ตัวจับเวลา0 8 บิต ค่าบนของมันคือ 255 และเพื่อให้คอนโทรลเลอร์ขัดจังหวะการทำงานของโปรแกรมหลักเพื่อสำรวจตัวเข้ารหัส คุณต้องเปิดใช้งานการขัดจังหวะโอเวอร์โฟลว์ ตัวจับเวลา0 (ล้นขัดจังหวะ).

การตั้งค่ามันขึ้นมา เครื่องจับเวลา1. คุณต้องเลือกโหมด ( โหมด) ซีทีซี (ล้างตัวจับเวลาในการเปรียบเทียบ– รีเซ็ตหากมีการแข่งขัน) ในโหมดนี้ เอาต์พุตตัวจับเวลาจะเปลี่ยนเป็นบันทึก 0 ทันทีที่เนื้อหาของการลงทะเบียนการนับ ทีเอ็นที1ตรงกับกรณี OCR1A. โดยการเปลี่ยนค่าในรีจิสเตอร์ OCR1Aเราจะเปลี่ยนความถี่ของพัลส์เอาท์พุต วงจรใช้เอาต์พุต A ของตัวจับเวลา 1 คุณต้องเลือกค่า สลับไปที่การเปรียบเทียบการแข่งขัน(สลับไปยังสถานะอื่นหากมีการแข่งขัน) โดยทั่วไปให้ดูที่ภาพ:

ขั้นตอนต่อไปคือการเชื่อมต่อจอแสดงผล ใน CodeVisionAVRก็เพียงพอที่จะระบุได้ว่าพอร์ตใดของ MK ที่จะเชื่อมต่อจอแสดงผล เลือกพอร์ต D

ตอนนี้คุณต้องสร้างโค้ดโปรแกรม คลิก โปรแกรม -> สร้าง บันทึก และออก

ตอนนี้คุณต้องไปที่การตั้งค่า โครงการ -> กำหนดค่าและตรวจสอบว่าตั้งค่าประเภท MK และความถี่สัญญาณนาฬิกาอย่างถูกต้อง:

โครงการพร้อมสำหรับ CVAVR

(316.0 KiB, 670 ครั้ง)

หากต้องการแฟลชเฟิร์มแวร์ MK คุณต้องมีไฟล์ที่มีนามสกุล .hex. ในโครงการที่เสร็จสิ้นแล้วนี่คือไฟล์ Gen_mega8.hex. มันอยู่ในโฟลเดอร์ ปล่อย/Exe/.

หากคุณต้องการเขียนโปรแกรมตั้งแต่เริ่มต้น โปรเจ็กต์จะมีความคิดเห็นเกี่ยวกับคำสั่งที่จำเป็นสำหรับอะไร หรือคุณสามารถวางโค้ดที่เสร็จแล้วจากไฟล์ได้ gen_mega8.c.และเมื่อเปลี่ยนมันดูว่ามันสะท้อนให้เห็นบนอุปกรณ์ที่เสร็จแล้วอย่างไร ในการสร้างไฟล์เฟิร์มแวร์ MK คุณต้องกดปุ่ม สร้างโครงการไฟล์ที่มีนามสกุล .hexจะถูกสร้างขึ้นเป็นโฟลเดอร์ ปล่อย/Exe/.
บิตฟิวส์ของตัวควบคุมได้รับการตั้งโปรแกรมให้ทำงานกับเครื่องสะท้อนเสียงควอทซ์ 8 MHz ภายนอกตามรูป:

ตอนนี้เกี่ยวกับการควบคุมเครื่องกำเนิดพัลส์

หลังจากที่จ่ายไฟแล้ว จอแสดงผลและตัวเข้ารหัสจะถูกเตรียมใช้งาน (กำหนดค่าหมุดที่เชื่อมต่อตัวเข้ารหัสอยู่) ถัดไป แถบจะพาดผ่านจอแสดงผล (ตัวเลือก "เคล็ดลับ" ซึ่งสร้างขึ้นสำหรับเอาต์พุตการแสดงผลการฝึก) และข้อความ "ปิดเครื่องกำเนิดไฟฟ้า" จะปรากฏขึ้น หลังจากผ่านไป 2 วินาที หน้าจอจะสว่างขึ้น ความถี่เอาต์พุตจะปรากฏขึ้นหลังจากหมุนปุ่มเข้ารหัสและเปลี่ยนตามหน่วยของเฮิรตซ์ เมื่อคุณกดปุ่มตัวเข้ารหัสค้างไว้ประมาณ 0.5 วินาที ข้อความ “ปล่อยปุ่ม” จะแสดงบนหน้าจอ หลังจากนี้ การหมุนปุ่มเข้ารหัส ความถี่จะเปลี่ยนเป็นสิบเฮิรตซ์ หากต้องการเปลี่ยนความถี่เป็นร้อย (พัน) ของเฮิรตซ์ คุณต้องกดปุ่มตัวเข้ารหัสอีกครั้ง (2 ครั้ง) จากนั้นทุกอย่างจะเริ่มต้นอีกครั้งในหน่วยเฮิรตซ์

เพื่อเพิ่มความสามารถในการรับน้ำหนักของเครื่องกำเนิดไฟฟ้าสามารถเปิดเอาต์พุต MK ผ่านทรานซิสเตอร์ได้

เกี่ยวกับความแม่นยำของความถี่เอาต์พุต

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

ฉันเพิ่งซื้อมัลติมิเตอร์ที่สะดวกและกะทัดรัดซึ่งสามารถใช้ในการวัดความถี่ (สูงถึง 9.999 MHz) นี่มันคือ รีวิววิดีโอ . และสามารถสั่งซื้อได้ทาง ลิงค์นี้ .

ไมโครคอนโทรลเลอร์สามารถแฟลชด้วยโปรแกรมเมอร์พิเศษหรือคุณสามารถสร้างโปรแกรมเมอร์ง่ายๆ เองก็ได้ เช่น ฉันใช้โปรแกรมเมอร์ได้สำเร็จ USBasp. คุณสามารถอ่านเกี่ยวกับโปรแกรมเมอร์นี้ได้ที่

ในการสร้างสัญญาณวิดีโอ ไมโครคอนโทรลเลอร์เพียงตัวเดียวและตัวต้านทานสองตัวก็เพียงพอแล้ว นั่นคือคุณสามารถสร้างเครื่องกำเนิดสัญญาณวิดีโอขนาดพกพาขนาดเท่าพวงกุญแจได้ อุปกรณ์ดังกล่าวจะเป็นประโยชน์กับช่างเทคนิคทีวี สามารถใช้เมื่อผสม kinescope ปรับความบริสุทธิ์ของสีและความเชิงเส้น

การทำงานของเครื่องกำเนิดไฟฟ้าและคุณลักษณะของมัน
เครื่องกำเนิดไฟฟ้าเชื่อมต่อกับอินพุตวิดีโอของทีวี โดยปกติจะเป็นขั้วต่อ "ทิวลิป" หรือ "SCART"
อุปกรณ์สร้างหกฟิลด์:
- ช่องข้อความ 17 บรรทัด;
- ตาข่าย 8x6;
- ตาข่าย 12x9;
- สนามหมากรุกขนาดเล็ก 8x6;
- สนามหมากรุกขนาดใหญ่ 2x2;
- สนามสีขาว

การสลับระหว่างฟิลด์ทำได้โดยกดปุ่ม S2 เป็นเวลาสั้นๆ (ใช้เวลาน้อยกว่า 1 วินาที) การกดปุ่มนี้ค้างไว้เป็นเวลานาน (นานกว่า 1 วินาที) จะปิดเครื่องกำเนิด (ไมโครคอนโทรลเลอร์จะเข้าสู่สถานะ "SLEEP") เครื่องกำเนิดไฟฟ้าเปิดอยู่โดยกดปุ่ม S1 สถานะของอุปกรณ์ (เปิด/ปิด) จะแสดงด้วยไฟ LED

ลักษณะทางเทคนิคของอุปกรณ์:
- ความถี่สัญญาณนาฬิกา - 12 MHz;
- แรงดันไฟฟ้า 3 - 5 V;
- ปริมาณการใช้กระแสไฟในโหมดการทำงาน:
- ที่แรงดันไฟฟ้า 3V - ประมาณ 5mA;
- ที่แรงดันไฟฟ้า 5V - ประมาณ 12mA;
- อัตราเฟรม - 50 เฮิร์ตซ์;
- จำนวนบรรทัดในเฟรม - 625

โครงการ
โครงการนี้ง่ายมาก
ทั้งหมดทำงานในรูปแบบ
สัญญาณวิดีโอ
ดำเนินการโดยโปรแกรม
เย็บเป็นไมโครคอน-
รถเข็น ตัวต้านทานสองตัว
พร้อมกับการต่อต้าน
อินพุตวิดีโอทีวี
ให้สิ่งที่จำเป็น
ระดับแรงดันไฟฟ้าที่เป็นไปได้
สัญญาณวิดีโอ:
- 0 V - ระดับการซิงโครไนซ์;
- 0.3 V - ระดับสีดำ
- 0.7 V - ระดับสีเทา
- 1 V - ระดับสีขาว

ในการสร้างสัญญาณวิดีโอ จะใช้ PORTA บิตเป็นศูนย์และ PORTB ทั้งหมด (พอร์ตนี้ทำงานในโหมด shift แม้ว่าสัญญาณจะถูกดึงมาจากบิตศูนย์เท่านั้น แต่โปรแกรมก็จะใช้สัญญาณทั้งหมด ดังนั้น บิต PORTB ทั้งหมดจึงถูกกำหนดค่าเป็นเอาต์พุต) บิตแรกของ PORTA ใช้เพื่อระบุสถานะของ ออสซิลเลเตอร์ เมื่ออุปกรณ์เปิดอยู่ ไฟ LED จะสว่างขึ้น เมื่อปิดอุปกรณ์ ไฟ LED จะดับลง บิต PORTA ที่สามใช้เพื่อสลับโหมดการทำงานของเครื่องกำเนิดไฟฟ้าและปิดเครื่อง การกดปุ่ม S2 สั้นๆ จะทำให้คุณสามารถย้ายจากฟิลด์ตัวสร้างหนึ่งไปยังอีกฟิลด์หนึ่งได้ เมื่อคุณกดปุ่มนี้ค้างไว้นานกว่า 1 วินาที อุปกรณ์ปิด (ไมโครคอนโทรลเลอร์จะเข้าสู่สถานะ "SLEEP") ต้องทำการรีเซ็ตเพื่อเปิดเครื่องกำเนิดไฟฟ้า ทำได้โดยการกดปุ่ม S1 แรงดันไฟฟ้าของอุปกรณ์สามารถเลือกได้ในช่วง 3 - 5 V ในกรณีนี้ต้องเลือกค่าตัวต้านทานตามนั้น
3V...– R5=456โอห์ม และ R6=228โอห์ม
3.5V – R5=571โอห์ม และ R6=285โอห์ม
4V...– R5=684โอห์ม และ R6=342โอห์ม
4.5V – R5=802โอห์ม และ R6=401โอห์ม
5V...- R5=900โอห์ม และ R6=450โอห์ม
ค่าโดยประมาณแสดงไว้ที่นี่ ในความเป็นจริง คุณสามารถติดตั้งตัวต้านทานจากช่วงมาตรฐานได้ เช่น 5V - 910 Ohm และ 470 Ohm และสำหรับ 3V - 470 Ohm และ 240 Ohm
แรงดันไฟฟ้าของเครื่องกำเนิดไฟฟ้าอาจน้อยกว่า 3V สำหรับแต่ละ PIC ที่เฉพาะเจาะจง ควรกำหนดค่าต่ำสุดด้วยการทดลอง ตัวอย่างเช่น 20 MHz PIC ของฉันจากปี 2544 ทำงานที่ 2.3 V

โปรแกรม.
โปรแกรมจะสร้าง 6 ฟิลด์ แต่ละฟิลด์ประกอบด้วย 301 บรรทัด (บรรทัดข้อมูล 300 บรรทัด + เส้นสีดำหนึ่งเส้น) โดยทั่วไป จำนวนที่คำนวณได้คือ 305 (625 เส้นแรสเตอร์ - 15 เส้นการซิงโครไนซ์เฟรม = 610 ข้อมูลในเฟรมจะแสดงเป็นเส้น (ดูข้อมูลเพิ่มเติมที่นี่) ดังนั้น 610/2 = 305) แต่ด้วยจำนวนเส้นนี้ ขนาดแนวตั้งของแรสเตอร์จะใหญ่กว่าสัญญาณวิดีโอที่ส่งโดยศูนย์โทรทัศน์เล็กน้อย
บรรทัดแรกในแต่ละฟิลด์จะเป็นสีดำ ในขณะนี้ สถานะของปุ่ม S2 ถูกสอบถาม เวลาที่กดค้างไว้จะถูกคำนวณ และความจำเป็นในการย้ายจากฟิลด์หนึ่งไปยังอีกฟิลด์หนึ่งจะถูกกำหนด
มีการบิดเบี้ยวเล็กน้อยในเส้นแนวตั้งในช่องกราฟิก นี่เป็นเพราะความจริงที่ว่าความยาวของบางบรรทัดนั้นยาวกว่าสองสามรอบสัญญาณนาฬิกาเนื่องจากจำเป็นต้องติดตั้งตัวนับลูป โดยทั่วไป รูทีนที่สร้างฟิลด์กราฟิกนั้นง่ายมาก ดังนั้นจึงไม่จำเป็นต้องแสดงความคิดเห็น
มาดูส่วนของโปรแกรมที่สร้างฟิลด์ข้อความกันดีกว่า นี่เป็นส่วนที่ซับซ้อนที่สุดของโปรแกรม ซึ่งกินพื้นที่ส่วนใหญ่ ใช้ทรัพยากรไมโครคอนโทรลเลอร์สูงสุด (หน่วยความจำข้อมูลทั้งหมดและส่วนสำคัญของ RAM) รหัสที่ใช้ในที่นี้นำมาจากเกม Pong ซึ่งเขียนโดย Rickard Gunee
ฟิลด์ข้อความประกอบด้วย 17 บรรทัด ซึ่งแต่ละบรรทัดสามารถมีอักขระได้ไม่เกินแปดตัว อักขระจะแสดงข้ามบรรทัด กล่าวคือ ข้อความหนึ่งบรรทัดครอบคลุม 17 บรรทัดแรสเตอร์ (การแสดงผลนี้เกิดจากข้อจำกัดของ PIC) ข้อมูลกราฟิกสัญลักษณ์จะถูกจัดเก็บไว้ในหน่วยความจำโปรแกรมในส่วนตาราง ข้อมูลเกี่ยวกับข้อความของบรรทัดจะถูกจัดเก็บไว้ในหน่วยความจำข้อมูล (64 คำ = 8 บรรทัด จำนวน 8 ตัวอักษร) ตัวอย่างเช่น ในบรรทัด 08h (ที่อยู่ตั้งแต่ 08h ถึง 0Fh) ข้อมูลต่อไปนี้จะถูกเขียน:.20.60.48.50.90.58.20 20 แต่ละค่าคือพิกัด (ออฟเซ็ตจากจุดเริ่มต้น) ของอักขระในตาราง ความคุ้มค่า.20. ตรงกับช่องว่าง .60 - ตัวอักษร "B", .48 - ตัวอักษร "ฉัน" เป็นต้น และทุกอย่างรวมกันเป็น “_VIDEO__”
ลองดูตัวอย่างวิธีแสดงข้อความ ตามโปรแกรมในบรรทัดข้อความที่ 12 ของหน้าจอจำเป็นต้องแสดงข้อมูลที่อ้างอิงโดยบรรทัดหน่วยความจำข้อมูล 28h (A0 B8 68 C8 D8 70 E0 D0) ดังนั้นแรสเตอร์ 17 บรรทัดต่อไปนี้ควรแสดงข้อความ: " p i c 1 6 f 8 4 " มันเป็นแบบนี้ บรรทัดแรกจาก 17 บรรทัดแสดงเฉพาะระดับสีดำ ในช่วง 64 μs เหล่านี้ ขณะที่เส้นสีดำปรากฏบนหน้าจอ "ค่าบน" ของอักขระจะถูกเขียนลงในรีจิสเตอร์ RAM: 00h จาก "p", 08h จาก "i", 00h จาก "c" 18h จาก " 1” และอื่นๆ ในบรรทัดถัดไป ข้อมูลนี้จะถูกถ่ายโอนตามลำดับไปยัง PORTB นั่นคือไปยังเอาต์พุตวิดีโอ เส้นที่สามเป็นสีดำอีกครั้ง ในระหว่างการดำเนินการ ค่าสัญลักษณ์ "ที่สองจากบนสุด" จะถูกเขียนใหม่ลงในบัฟเฟอร์: 00h จาก "p", 00h จาก "i", 00h จาก "c" 1Ch จาก "1"... ในบรรทัดที่สี่ ข้อมูลนี้จะปรากฏบนหน้าจอ และต่อไปเรื่อยๆ จนกระทั่งแสดงทั้งบรรทัด
รูทีนการซิงโครไนซ์เฟรมนำมาจากเกม Pong ซึ่งเขียนโดย Rickard Gunee ทั้งหมด กิจวัตรนี้สั้นแต่ค่อนข้างซับซ้อน หากคุณอธิบายวิธีการทำงาน มันจะยิ่งยาวและสับสนมากขึ้น วิธีที่ดีที่สุดคือวางข้อความของรูทีนย่อยและรูปวาดของออสซิลโลแกรมของเฟรมซิงค์พัลส์ไว้ติดกัน และใช้เวลาในการแยกวิเคราะห์โค้ดแต่ละบรรทัด ฉันขอบอกว่ารูทีนย่อยเริ่มดำเนินการไม่ใช่จากบรรทัดบนสุด แต่จากตรงกลาง (:-)) จากป้ายกำกับ "vertsync"

การโอเวอร์คล็อก PIC16F84
ดังที่เห็นได้จากแผนภาพในโครงการนี้ ไมโครคอนโทรลเลอร์ทำงานที่ความถี่ 12 MHz ปัจจุบัน PIC16F84 มี 3 เวอร์ชันให้เลือก ได้แก่ 4 MHz, 10 MHz และ 20 MHz (ณ วันที่ 1 มกราคม พ.ศ. 2545 อัตราส่วนราคาอยู่ที่ประมาณ 3.5 ดอลลาร์ 5.3 ดอลลาร์ และ 6.3 ดอลลาร์) ในโครงการ Pong ของเขา Rickard Gunee อ้างว่าเขาใช้ PIC16F84 ความถี่ 4 MHz และทำงานที่ความถี่ 12 MHz เป็นเวลาหลายชั่วโมงโดยไม่มีปัญหา ฉันลองแล้วและแน่นอนว่า PIC 4 MHz ทำงานได้ตามปกติที่ความถี่ที่สูงกว่าความถี่ที่อนุญาตถึงสามเท่า (!!!) (แม้ว่าฉันจะไม่ได้ล่อลวงโชคชะตาและเปิดเครื่องกำเนิดไฟฟ้าเพียงไม่กี่นาทีก็ตาม) ในเวลาเดียวกัน ปริมาณการใช้กระแสไฟของ 4 MHz PIC สูงกว่าการใช้คลื่นความถี่ 20 MHz ถึง 10..20% (ด้วยเหตุนี้ จึงเห็นได้ชัดว่าเป็นข้อจำกัดด้านความถี่) ฉันคิดว่าไมโครคอนโทรลเลอร์ 10 MHz สามารถโอเวอร์คล็อกเป็น 12 MHz โดยไม่มีความเสี่ยง แต่แน่นอนว่าในโครงการเชิงพาณิชย์ไม่ควรทำสิ่งนี้

การผลิต.

ผู้อ่านนิตยสารรู้จักเครื่องกำเนิดการวัดซึ่งตั้งค่าความถี่ที่ต้องการโดยใช้แป้นพิมพ์ (ดูตัวอย่างบทความโดย Piskaev A. “ เครื่องวัดความถี่ - เครื่องกำเนิด - นาฬิกา” ใน "วิทยุ", 2545, ไม่ . 7 หน้า 31, 32) ตามกฎแล้วอุปกรณ์เหล่านี้ถูกสร้างขึ้นบนไมโครคอนโทรลเลอร์ช่วงของความถี่ที่สร้างขึ้นนั้นถูกจำกัดไว้ที่หลายเมกะเฮิรตซ์และการรับค่าความถี่ที่แน่นอนนั้นเป็นไปไม่ได้ เครื่องกำเนิดที่อธิบายในบทความยังมีไมโครคอนโทรลเลอร์ แต่ใช้เพื่อควบคุมไมโครวงจรพิเศษเท่านั้น - เครื่องสังเคราะห์ความถี่ AD9850 การใช้ไมโครวงจรนี้ทำให้สามารถขยายช่วงความถี่ที่สร้างขึ้นจากเศษส่วนของเฮิรตซ์เป็น 60 MHz ซึ่งภายในนั้นสามารถรับค่าความถี่ใด ๆ ที่มีความแม่นยำ 1 Hz

เครื่องกำเนิดไฟฟ้าที่นำเสนอนั้นใช้ชิป AD9850 จาก Analog Devices ซึ่งเป็นเครื่องสังเคราะห์ความถี่ DDS (Direct Digital Sclusion) เต็มรูปแบบพร้อมตัวเปรียบเทียบในตัว ซินธิไซเซอร์ดังกล่าวมีเอกลักษณ์เฉพาะในด้านความแม่นยำ และในทางปฏิบัติไม่ได้ขึ้นอยู่กับการเปลี่ยนแปลงของอุณหภูมิและการเสื่อมสภาพ (องค์ประกอบเดียวที่มีลักษณะความไม่เสถียรของอุปกรณ์อะนาล็อกคือตัวแปลงดิจิทัลเป็นอะนาล็อก) เนื่องจากคุณลักษณะทางเทคนิคที่สูงของซินธิไซเซอร์ DDS จึงได้เปลี่ยนซินธิไซเซอร์ความถี่แอนะล็อกแบบเดิมๆ ไปเมื่อเร็วๆ นี้ ข้อได้เปรียบหลักของพวกเขาคือความถี่และความละเอียดเฟสที่สูงมากซึ่งควบคุมด้วยระบบดิจิทัล อินเทอร์เฟซดิจิทัลช่วยให้ใช้งานการควบคุมไมโครคอนโทรลเลอร์ได้อย่างง่ายดาย คุณสามารถดูคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับหลักการของการสังเคราะห์ความถี่ดิจิทัลโดยตรงได้ใน

รูปที่ 1

แผนภาพบล็อกของซินธิไซเซอร์ AD9850 แสดงในรูปที่ 1 1. พื้นฐานของมันคือตัวสะสมเฟสซึ่งสร้างรหัสเฟสทันทีของสัญญาณเอาท์พุต รหัสนี้จะถูกแปลงเป็นค่าดิจิทัลของสัญญาณไซน์ ซึ่งจะถูกแปลงเป็นสัญญาณอะนาล็อกโดยใช้ DAC และกรอง ตัวเปรียบเทียบช่วยให้คุณได้รับสัญญาณเอาท์พุตรูปสี่เหลี่ยมผืนผ้า ความถี่ fout (เป็นเฮิรตซ์) ถูกกำหนดโดยสูตร f out = A fin /232 โดยที่ f m คือความถี่สัญญาณนาฬิกา Hz; A คือค่ารหัสความถี่ 32 บิต ค่าสูงสุดของ f^ จะต้องไม่เกินครึ่งหนึ่งของความถี่สัญญาณนาฬิกา

ลักษณะทางเทคนิคหลักค.ศ 9850 (ที่แรงดันไฟฟ้า 5V)

ความถี่สัญญาณนาฬิกา 1…125

ปริมาณการใช้กระแสไฟสูงสุด (ที่ f ใน =125 MHz), mA 95

จำนวนบิต DAC 10

กระแสไฟขาออก DAC สูงสุด (ที่ R ชุด =3.9 kOhm), mA 10.24

ความไม่เป็นเชิงเส้นอินทิกรัลสูงสุดของ DAC, MZR 1

แรงดันเอาต์พุตของตัวเปรียบเทียบ, V:

ระดับสูงขั้นต่ำ 4.8

ระดับต่ำสุดสูงสุด 0.4

ในการดาวน์โหลดข้อมูล ชิป AD9850 มีอินเทอร์เฟซแบบขนานและแบบอนุกรม ในกรณีหลัง ข้อมูล (คำ 40 บิต) จะถูกป้อนผ่านอินพุต D7 บิตข้อมูลแต่ละบิตจะมาพร้อมกับพัลส์ขั้วบวกที่อินพุตนาฬิกา W_CLK หลังจากโหลดคำควบคุมด้วยพัลส์ของขั้วบวกที่อินพุต FQJJD พารามิเตอร์การสร้างจะถูกแทนที่ด้วยพารามิเตอร์ใหม่ การกำหนดบิตคำควบคุมแสดงไว้ในตาราง 1.

แผนผังของเครื่องกำเนิดไฟฟ้าแสดงในรูปที่ 1 2. ควบคุมซินธิไซเซอร์ไมโครคอนโทรลเลอร์ DD2 DD1



รูปที่ 2

โดยจะสำรวจคีย์บอร์ด SB1-SB16 แสดงข้อมูลบนตัวบ่งชี้ LCD HG1 คำนวณค่ารหัสความถี่และส่งผ่านอินเทอร์เฟซแบบอนุกรมไปยังซินธิไซเซอร์ DD2 ตัวส่งสัญญาณเสียง HA1 ทำหน้าที่ยืนยันการกดปุ่มแป้นพิมพ์ ชิป AD9850 (DD2) ใช้ในการเชื่อมต่อมาตรฐาน ตัวกรอง Z1 เปิดอยู่ที่เอาต์พุตของ DAC หลังจากตัวกรอง สัญญาณไซน์จะถูกส่งไปยังซ็อกเก็ต XW2 และอินพุตของตัวเปรียบเทียบของชิป DD2 (พิน 16) จากเอาต์พุตของอันหลัง สัญญาณสี่เหลี่ยมจะถูกส่งไปยังซ็อกเก็ต XW1 ออสซิลเลเตอร์ควอตซ์ G1 ใช้เป็นเครื่องกำเนิดสัญญาณนาฬิกาสำหรับ DDS ตัวต้านทานทริมเมอร์ R7 ปรับคอนทราสต์ของภาพบนตัวบ่งชี้ HG1

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

เครื่องกำเนิดไฟฟ้าถูกควบคุมโดยใช้แป้นพิมพ์ประกอบด้วยปุ่ม SB1-SB16 เนื่องจากสายอินพุตพอร์ต B ทั้งหมดเชื่อมต่อกับแหล่งจ่ายไฟผ่านตัวต้านทาน จึงไม่จำเป็นต้องมีตัวต้านทานภายนอกเพื่อดึงพอร์ต RB4 - RB7 เข้ากับสายไฟ ตัวต้านทาน R3-R6 ปกป้องเอาต์พุตของไมโครคอนโทรลเลอร์จากการโอเวอร์โหลดเมื่อมีการกดปุ่มหลายปุ่มพร้อมกันโดยไม่ตั้งใจ
ความถี่ที่ต้องการถูกตั้งค่าจากแป้นพิมพ์ ในการดำเนินการนี้ให้คลิกที่ปุ่มที่มีตัวเลขที่เกี่ยวข้องป้อนค่าที่ต้องการ (เป็นเฮิรตซ์) แล้วกดปุ่ม "*" หากความถี่ไม่เกินค่าสูงสุดที่อนุญาต ข้อความ "ตกลง" จะปรากฏบนตัวบ่งชี้ในช่วงเวลาสั้น ๆ และเครื่องกำเนิดไฟฟ้าจะเข้าสู่โหมดการทำงาน และหากเกินนั้น ข้อความ "ข้อผิดพลาด" จะปรากฏขึ้น ในกรณีนี้คุณต้องกดปุ่ม "C" ("รีเซ็ต") แล้วป้อนค่าที่ถูกต้องอีกครั้ง พวกเขาทำเช่นเดียวกันหากมีข้อผิดพลาดระหว่างกระบวนการอินพุตความถี่ การกดปุ่มนี้สองครั้งจะทำให้อุปกรณ์เข้าสู่โหมดการทำงานตามค่าความถี่ที่ตั้งไว้ก่อนหน้านี้

หมายเลขบิต

วัตถุประสงค์

รหัสความถี่บิต 0

รหัสความถี่บิต 1

……..

…………

รหัสความถี่บิต 31

บิตควบคุม (ต้องเป็น 0)

บิตควบคุมกำลัง (เปิดที่ 0 ปิดที่ 1)

รหัสเฟสบิต 0

รหัสบิต 1 เฟส

……….

…………….

รหัสบิต 4 เฟส

ในโหมดการทำงาน สัญลักษณ์ดอกจันจะกะพริบที่บริเวณด้านขวาสุดของตัวบ่งชี้ หากป้อนค่าความถี่ปัจจุบันจากชุดควบคุมภายนอก (เช่นจากคอมพิวเตอร์) หากต้องการกลับสู่ความถี่ที่แสดงบนตัวบ่งชี้เพียงกดปุ่ม "*"
ปุ่ม "U" (ขึ้น) และ "D" (ลง) ช่วยให้คุณสามารถเปลี่ยนความถี่เอาต์พุตของเครื่องกำเนิดไฟฟ้าทีละขั้นตอน โดยเพิ่มหรือลดค่าตำแหน่งทศนิยมทีละหนึ่งตามลำดับ ตำแหน่งทศนิยมที่ต้องการจะถูกเลือกโดยการเลื่อนเคอร์เซอร์โดยใช้ปุ่ม "L" (ซ้าย - ซ้าย) และ "R" (ขวา - ขวา)
เมื่อคุณกดปุ่ม "*" ค่าความถี่และตำแหน่งเคอร์เซอร์จะถูกบันทึกไว้ในหน่วยความจำแบบไม่ลบเลือนของไมโครคอนโทรลเลอร์ ดังนั้นในครั้งถัดไปที่เปิดเครื่อง โหมดการทำงานที่ถูกขัดจังหวะจะถูกกู้คืนโดยอัตโนมัติ

เนื่องจากความสามารถในการประมวลผลของไมโครคอนโทรลเลอร์มีจำกัด ความถี่เอาต์พุตจึงถูกตั้งค่าด้วยความแม่นยำประมาณ 1 Hz ซึ่งเพียงพอสำหรับกรณีส่วนใหญ่ เพื่อให้ตระหนักถึงความสามารถของซินธิไซเซอร์ได้อย่างเต็มที่ สามารถควบคุมได้โดยใช้พีซี ในการดำเนินการนี้จะต้องแก้ไขเครื่องกำเนิดโดยการเพิ่มหน่วยซึ่งไดอะแกรมจะแสดงในรูปที่ 1 3. เชื่อมต่อพีซี (หรืออุปกรณ์ควบคุมอื่น ๆ ) เข้ากับเต้ารับ
XS1. เมื่อระดับลอจิกที่อินพุตที่อยู่ A ต่ำ มัลติเพล็กเซอร์ของชิป DD3 จะเชื่อมต่ออินพุตควบคุมซินธิไซเซอร์กับไมโครคอนโทรลเลอร์ DD1 และเมื่อระดับลอจิกสูง ไปยังอุปกรณ์ภายนอก สัญญาณควบคุมจะถูกส่งผ่านหน้าสัมผัส "ENABLE" ของช่องเสียบ XS1 ตัวต้านทาน R19 ให้ระดับลอจิกต่ำที่อินพุตที่อยู่ของ DD3 เมื่อไม่ได้เชื่อมต่ออุปกรณ์ควบคุม
เครื่องกำเนิดไฟฟ้าถูกประกอบและทดสอบบนเขียงหั่นขนม หากคุณไม่สามารถซื้อบอร์ดสำหรับตัวเรือน SSOP สำหรับชิป DD2 ได้ คุณสามารถใช้ลวดกระป๋องสั้น (ยาว 10-15 มม.) ที่มีเส้นผ่านศูนย์กลาง 0.2 มม. เพื่อเชื่อมต่อพินเข้ากับแผ่นอิเล็กโทรดที่เกี่ยวข้อง พิน 1,2,5,10,19, 24, 26, 27, 28 เชื่อมต่อกับสายไฟทั่วไปโดยมีส่วนยาวกว่าหนึ่งส่วน
ไฟแสดงสถานะ LCD HG1 - 1TM1601 (บรรทัดเดียว 16 ตัวอักษรพร้อมคอนโทรลเลอร์ในตัว) HA1 เป็นเครื่องส่งเสียงแบบเพียโซอิเล็กทริกที่มีเครื่องกำเนิดไฟฟ้าในตัวซึ่งออกแบบมาสำหรับแรงดันไฟฟ้า 5 V ในฐานะเครื่องกำเนิดสัญญาณนาฬิกา (G1) คุณสามารถใช้ไมโครแอสเซมบลีของออสซิลเลเตอร์ควอตซ์ที่มีความถี่สูงถึง 125 MHz ซึ่งได้รับอนุญาต เพื่อใช้หน่วยที่คล้ายกันกับระบบรักษาเสถียรภาพของควอตซ์และบนองค์ประกอบที่แยกจากกัน
โปรแกรมควบคุมของไมโครคอนโทรลเลอร์ขึ้นอยู่กับความถี่ของเครื่องกำเนิดสัญญาณนาฬิกา
เมื่อเขียนโปรแกรมไมโครคอนโทรลเลอร์ค่าบิตต่อไปนี้จะถูกตั้งค่าในคำกำหนดค่า: ประเภทตัวสร้าง (OSC) - RC ตัวจับเวลา Watchdog (WDT) - ปิดใช้งาน, เปิดใช้งานการหน่วงเวลาในการเปิดเครื่อง (PWRTE) - เปิดใช้งาน

วรรณกรรม
1. Ridico L. DDS: การสังเคราะห์ความถี่ดิจิตอลโดยตรง - ส่วนประกอบและเทคโนโลยี พ.ศ. 2544 № 7. น. 50-54.
2. AD9650, ซินธิไซเซอร์ DDS สมบูรณ์ - http://www-analog.com

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

ลักษณะเครื่องกำเนิด:
ช่วงความถี่: 11 เฮิรตซ์ - 60 กิโลเฮิรตซ์
การปรับความถี่ดิจิตอลใน 3 ขั้นตอนที่แตกต่างกัน
รูปคลื่น: ไซน์, สามเหลี่ยม, สี่เหลี่ยม, พัลส์, ระเบิด, กวาด, สัญญาณรบกวน
ช่วงแรงดันไฟฟ้าขาออก: ± 15V สำหรับไซน์และสามเหลี่ยม 0-5V สำหรับอื่นๆ
การซิงโครไนซ์: เอาต์พุตสำหรับสัญญาณพัลส์

อุปกรณ์นี้ใช้พลังงานจากหม้อแปลงไฟฟ้า 12 โวลต์ ซึ่งให้แรงดันไฟฟ้าคงที่สูงเพียงพอ (มากกว่า 18 V) ซึ่งจำเป็นสำหรับการทำงานปกติของตัวปรับความเสถียร 78L15 และ 79L15 จำเป็นต้องมีแหล่งจ่ายไฟ ±15 V เพื่อให้แน่ใจว่าเครื่องขยายสัญญาณเอาต์พุต LF353 ให้สัญญาณเต็มรูปแบบที่โหลด 1 kOhm เมื่อใช้พลังงาน ±12 V ตัวต้านทานนี้ต้องมีค่าอย่างน้อย 3 kOhm

เซ็นเซอร์การหมุน (ตัวเข้ารหัสแบบหมุน) ที่ฉันใช้คือ ALPS SRBM1L0800 ในรูปแบบของสวิตช์สองตัวในวงกลมในแผนภาพ ผู้เขียนอาจใช้อันอื่น ดังนั้นจึงจำเป็นต้องเปลี่ยนแปลงโค้ดโปรแกรมคอนโทรลเลอร์บางอย่าง เซ็นเซอร์ของฉันมีหน้าสัมผัสสองกลุ่ม: ปิดและเปิด (เมื่อโรเตอร์เคลื่อนที่ไปในทิศทางที่สอดคล้องกัน) ดังนั้น การเปลี่ยนแปลงในการขัดจังหวะ PORTB จะต้องถูกสร้างขึ้นหากคู่พินตัวใดตัวหนึ่งลัดวงจร ทำได้โดยการเชื่อมต่อทั้งสองกลุ่มเข้ากับพิน PIC16 (RB4 - RB7) ซึ่งโปรแกรมจะตรวจสอบการเปลี่ยนแปลงสถานะ โชคดีที่ไม่ได้ใช้ RB4 ในการออกแบบดั้งเดิม ดังนั้นฉันจึงเปลี่ยนเส้นทาง RB3 ไปยัง RB4 การปรับเปลี่ยนอื่นเกิดจากการใช้โรตารีเอ็นโค้ดเดอร์ ดังนั้นฉันจึงเปลี่ยนการขัดจังหวะเฟิร์มแวร์เล็กน้อย ฉันทำให้ตัวควบคุมคงสถานะไว้สำหรับการวัดต่อเนื่อง 100 ครั้ง แทนที่จะเป็น 10 ครั้งในการออกแบบดั้งเดิม โปรดทราบว่าพิน PIC บางตัวใช้เพื่อเปลี่ยนเส้นทาง +5V เพื่อลดความซับซ้อนของโครงร่าง PCB ดังนั้นจึงกำหนดค่าเป็นอินพุตพอร์ต

แผงวงจรพิมพ์มีชุดตัวต้านทานสามชุด หนึ่ง – R/2R – สำหรับ DAC จากซีรีส์ Bourns 4310R นอกจากนี้ ส่วนประกอบตัวต้านทาน DAC ยังสามารถสร้างได้โดยใช้ตัวต้านทานแบบแยกส่วนตามแผนภาพด้านบน ควรใช้ตัวต้านทานที่มีค่าความคลาดเคลื่อน ±1% ขึ้นไป ตัวต้านทานจำกัดไฟ LED Bourns 4306R series ความสว่างของ LED สามารถเพิ่มได้โดยการเปลี่ยนความต้านทานของตัวต้านทานจำกัดเป็น 220 - 330 โอห์ม

เครื่องกำเนิดไฟฟ้าบรรจุในกล่องพลาสติกขนาด 179x154x36 มม. พร้อมแผงอลูมิเนียมด้านหน้าและด้านหลัง ระดับสัญญาณเอาท์พุตถูกควบคุมโดยตัวต้านทานผันแปร Alfa 1902F series ส่วนประกอบอื่นๆ ทั้งหมดได้รับการติดตั้งไว้ที่แผงด้านหน้าและด้านหลัง (ปุ่ม ขั้วต่อ ชุด LED ขั้วต่อสายไฟ) บอร์ดติดอยู่กับเคสด้วยสลักเกลียวขนาด 6 มม. พร้อมสเปเซอร์พลาสติก

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


โหมด\รูปร่าง

สามเหลี่ยม

โหมด 1

โหมด 2

โหมด 3

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

ป.ล. ฉันจะเพิ่มในนามของฉันเอง: เมื่อทำซ้ำอุปกรณ์กับแผงวงจรพิมพ์ของผู้เขียนอุปกรณ์ปฏิเสธที่จะสตาร์ท (อาจมีข้อผิดพลาดบนแผงวงจรพิมพ์) และเมื่อติดตั้งบนเขียงหั่นขนม เครื่องกำเนิดไฟฟ้าก็เริ่มทำงานทันที .

ด้านล่างนี้คุณสามารถดาวน์โหลดไฟล์ asm, เฟิร์มแวร์และ PCB ได้ ()

รายชื่อธาตุกัมมันตภาพรังสี

การกำหนด พิมพ์ นิกาย ปริมาณ บันทึกร้านค้าสมุดบันทึกของฉัน
วงจรเครื่องกำเนิดไฟฟ้า
ไมโครคอนโทรลเลอร์PIC16F8701 ไปยังสมุดบันทึก
กะการลงทะเบียน

CD74HC164

1 ไปยังสมุดบันทึก
เครื่องขยายเสียงปฏิบัติการ

LF353

1 ไปยังสมุดบันทึก
มัลติเพล็กเซอร์/ดีมัลติเพล็กเซอร์

CD4053B

1 ไปยังสมุดบันทึก
ตัวควบคุมเชิงเส้น

LM7805

1 ไปยังสมุดบันทึก
ตัวควบคุมเชิงเส้น

LM78L15

1 ไปยังสมุดบันทึก
ตัวควบคุมเชิงเส้น

LM79L15

1 ไปยังสมุดบันทึก
ไดโอดเรียงกระแส

1N4002

3 ไปยังสมุดบันทึก
ตัวเก็บประจุ22 พิโคเอฟ2 ไปยังสมุดบันทึก
ตัวเก็บประจุ51 พิโคเอฟ1 ไปยังสมุดบันทึก
ตัวเก็บประจุ100 พิโคเอฟ1 ไปยังสมุดบันทึก
ตัวเก็บประจุ1,000 พิโคเอฟ1 ไปยังสมุดบันทึก
ตัวเก็บประจุ0.1 µF1 ไปยังสมุดบันทึก
1 µF2 ไปยังสมุดบันทึก
ตัวเก็บประจุด้วยไฟฟ้า4.7 µF1 ไปยังสมุดบันทึก
ตัวเก็บประจุด้วยไฟฟ้า100 µF2 ไปยังสมุดบันทึก
ตัวเก็บประจุด้วยไฟฟ้า500 µF1 ไปยังสมุดบันทึก
ตัวต้านทาน

470 โอห์ม

6 ไปยังสมุดบันทึก
ตัวต้านทานแบบแปรผัน1 โอห์ม1 ไปยังสมุดบันทึก
ตัวต้านทาน

2.7 โอห์ม

1 ไปยังสมุดบันทึก
ตัวต้านทาน

4.7 โอห์ม

1 ไปยังสมุดบันทึก
ตัวต้านทาน

10 kโอห์ม

4 ไปยังสมุดบันทึก
ตัวต้านทาน

15 kโอห์ม

1 ไปยังสมุดบันทึก
ตัวต้านทาน

22 kโอห์ม

1