สารบัญ:

อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม: 10 ขั้นตอน (พร้อมรูปภาพ)
อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: รีวิว Mini Oscilloscope + LCR (2-in-1) จากค่าย FNIRSI รุ่น DSO-TC2 2024, กรกฎาคม
Anonim
อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม
อัปเกรด DIY Mini DSO เป็นออสซิลโลสโคปจริงด้วยคุณสมบัติที่ยอดเยี่ยม

ครั้งล่าสุดที่ฉันแชร์วิธีสร้าง Mini DSO ด้วย MCU

หากต้องการทราบวิธีสร้างทีละขั้นตอนโปรดอ้างอิงคำแนะนำก่อนหน้าของฉัน:

www.instructables.com/id/Make-Your-Own-Osc…

เนื่องจากมีคนสนใจโครงการนี้เป็นจำนวนมาก ฉันจึงใช้เวลาในการอัปเกรดโดยรวม หลังจากอัปเกรด Mini DSO จะมีประสิทธิภาพมากขึ้น

ข้อมูลจำเพาะ:

  • MCU: STC8A8K64S4A12 @27MHz รับจาก AliExpress
  • จอแสดงผล: 0.96" OLED พร้อมความละเอียด 128x64 รับจาก AliExpress
  • ตัวควบคุม: ตัวเข้ารหัส EC11 หนึ่งตัว รับจาก AliExpress
  • อินพุต: ช่องเดียว
  • วินาที/div: 500ms, 200ms, 100ms, 50ms, 20ms, 10ms, 5ms, 2ms, 1ms, 500us, 200us, 100us 100us ใช้ได้เฉพาะในโหมดทริกเกอร์อัตโนมัติ
  • ช่วงแรงดันไฟฟ้า: 0-30V
  • อัตราการสุ่มตัวอย่าง: 250kHz @ 100us/div

คุณสมบัติใหม่:

  1. แสดงความถี่ของรูปคลื่น
  2. ปรับแต่งระดับทริกเกอร์
  3. โหมดทริกเกอร์อัตโนมัติ ปกติ และเดี่ยว
  4. เลื่อนรูปคลื่นตามแนวนอนหรือแนวตั้ง
  5. ปรับความสว่าง OLED ในการตั้งค่า

ขั้นตอนที่ 1: ดูวิดีโอ

Image
Image

ในวิดีโอนี้ ฉันจะแสดงให้คุณเห็นถึงการเปลี่ยนแปลง การทำงาน และฟังก์ชันเกี่ยวกับ Mini DSO เวอร์ชันใหม่

ขั้นตอนที่ 2: เตรียมส่วนของคุณ

โครงการและวงจร!
โครงการและวงจร!

เราจำเป็นต้องเพิ่มตัวบ่งชี้สำหรับฟังก์ชันใหม่

รายการวัสดุ:

  • LED x 1 รับจาก AliExpress
  • ตัวต้านทาน 5k x 1 รับจาก AliExpress

ขั้นตอนที่ 3: แบบแผนและวงจร

โครงการและวงจร!
โครงการและวงจร!
โครงการและวงจร!
โครงการและวงจร!
โครงการและวงจร!
โครงการและวงจร!

การเปลี่ยนแปลงในวงจรเป็นเพียงการเพิ่ม LED เป็นตัวบ่งชี้เท่านั้น

ฉันจะแสดงให้คุณเห็นการใช้ตัวบ่งชี้ในภายหลัง

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

ขั้นตอนที่ 4: ดาวน์โหลดรหัส

ดาวน์โหลดรหัส!
ดาวน์โหลดรหัส!
ดาวน์โหลดรหัส!
ดาวน์โหลดรหัส!
ดาวน์โหลดรหัส!
ดาวน์โหลดรหัส!

ดาวน์โหลดแพ็คเกจด้านล่าง มีซอร์สโค้ดและไฟล์ hex ที่คอมไพล์แล้ว

นอกจากนี้ยังมีใน GitHub:

หากคุณไม่ต้องการอ่านโค้ด ให้เบิร์นเลขฐานสิบหกลงใน MCU

ใช้ตัวดาวน์โหลด USB เป็น TTL และซอฟต์แวร์ STC-ISP เพื่อดาวน์โหลดโค้ดไปยัง MCU

เชื่อมต่อ TXD, RXD และ GND

ดาวน์โหลดซอฟต์แวร์ STC-ISP ที่นี่:

หากอินเทอร์เฟซของ STC-ISP เป็นภาษาจีน คุณสามารถคลิกไอคอนด้านซ้ายบนเพื่อเปลี่ยนภาษาเป็นภาษาอังกฤษ

สำหรับการกำหนดค่ารายละเอียดของ STC-ISP โปรดดูวิดีโอก่อนหน้าของฉัน

รหัสถูกเขียนด้วยภาษาซี ใช้ซอฟต์แวร์ Keil เพื่อแก้ไขและคอมไพล์

ขั้นตอนที่ 5: การแนะนำอินเทอร์เฟซ

แนะนำอินเทอร์เฟซ!
แนะนำอินเทอร์เฟซ!
แนะนำอินเทอร์เฟซ!
แนะนำอินเทอร์เฟซ!

พารามิเตอร์ในอินเทอร์เฟซหลัก:

วินาทีต่อกอง:

"500ms", "200ms", "100ms", "50ms", "20ms", "10ms", "5ms", "2ms", "1ms", "500us", "200us", "100us"

100us ใช้ได้เฉพาะในโหมดทริกเกอร์อัตโนมัติ

ช่วงแรงดันไฟฟ้า:

แรงดันไฟ 0-30V

ระดับทริกเกอร์:

ระดับแรงดันทริกเกอร์

ความลาดชันของทริกเกอร์:

ทริกเกอร์บน Rising หรือ Falling Edge

โหมดทริกเกอร์:

โหมดอัตโนมัติ, โหมดปกติ, โหมดเดี่ยว

สถานะในอินเทอร์เฟซหลัก:

'เรียกใช้': การสุ่มตัวอย่างการวิ่ง

'หยุด': การสุ่มตัวอย่างหยุดลง

'ล้มเหลว': ระดับทริกเกอร์เกินรูปคลื่นในโหมดทริกเกอร์อัตโนมัติ

'อัตโนมัติ': ช่วงแรงดันไฟฟ้าอัตโนมัติ

พารามิเตอร์ในอินเทอร์เฟซการตั้งค่า:

PMode (โหมดพล็อต): แสดงรูปคลื่นในเวกเตอร์หรือจุด

LSB: สัมประสิทธิ์การสุ่มตัวอย่าง ปรับเทียบแรงดันสุ่มตัวอย่างโดยการปรับ LSB

ค่าสัมประสิทธิ์การแบ่งแรงดัน 100 เท่า เช่น. ตัวต้านทานสำหรับการแบ่งแรงดันคือ 10k และ 2k คำนวณค่าสัมประสิทธิ์การแบ่งแรงดัน (10+2)/2=6 รับ LSB = 6 x 100 = 600

BRT (ความสว่าง): ปรับความสว่าง OLED

ขั้นตอนที่ 6: การแนะนำการดำเนินงาน

ปฏิบัติการเบื้องต้น!
ปฏิบัติการเบื้องต้น!

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

อินเทอร์เฟซหลัก - โหมดพารามิเตอร์:

  • ตัวเข้ารหัสแบบคลิกเดียว: เรียกใช้/หยุดการสุ่มตัวอย่าง
  • Double Click Encoder: เข้าสู่ Wave Scroll Mode
  • ตัวเข้ารหัสแบบกดค้าง: เข้าสู่การตั้งค่าอินเทอร์เฟซ
  • หมุนตัวเข้ารหัส: ปรับพารามิเตอร์
  • หมุนตัวเข้ารหัสขณะกด: สลับระหว่างตัวเลือก
  • สลับช่วงอัตโนมัติและแบบแมนนวล: หมุนตัวเข้ารหัสตามเข็มนาฬิกาอย่างต่อเนื่องเพื่อเข้าสู่ช่วงอัตโนมัติ หมุนตัวเข้ารหัสทวนเข็มนาฬิกาเพื่อเข้าสู่ช่วงแมนนวล

อินเทอร์เฟซหลัก - โหมด Wave Scroll:

  • ตัวเข้ารหัสแบบคลิกเดียว: เรียกใช้/หยุดการสุ่มตัวอย่าง
  • ตัวเข้ารหัสดับเบิลคลิก: เข้าสู่โหมดพารามิเตอร์
  • ตัวเข้ารหัสแบบกดค้าง: เข้าสู่การตั้งค่าอินเทอร์เฟซ
  • Rotate Encoder: เลื่อนรูปคลื่นในแนวนอน (ใช้ได้เฉพาะเมื่อหยุดการสุ่มตัวอย่าง)
  • หมุนตัวเข้ารหัสขณะกด: เลื่อนรูปคลื่นในแนวตั้ง (ใช้ได้เฉพาะเมื่อหยุดการสุ่มตัวอย่าง)

อินเทอร์เฟซการตั้งค่า:

  • ตัวเข้ารหัสแบบคลิกเดียว: N/A
  • ตัวเข้ารหัสดับเบิลคลิก: N/A
  • ตัวเข้ารหัสแบบกดค้าง: กลับไปที่อินเทอร์เฟซหลัก
  • หมุนตัวเข้ารหัส: ปรับพารามิเตอร์
  • หมุนตัวเข้ารหัสขณะกด: สลับระหว่างตัวเลือก

ขั้นตอนที่ 7: การแนะนำฟังก์ชัน

แนะนำฟังก์ชั่น!
แนะนำฟังก์ชั่น!
แนะนำฟังก์ชั่น!
แนะนำฟังก์ชั่น!
แนะนำฟังก์ชั่น!
แนะนำฟังก์ชั่น!

ระดับทริกเกอร์:

สำหรับสัญญาณที่เกิดซ้ำ ระดับทริกเกอร์อาจทำให้การแสดงผลมีความเสถียร สำหรับสัญญาณช็อตเดียว ระดับทริกเกอร์สามารถจับได้

ความลาดชันของทริกเกอร์:

ความชันของทริกเกอร์กำหนดว่าจุดทริกเกอร์อยู่บนขอบขาขึ้นหรือขาลงของสัญญาณ

โหมดทริกเกอร์:

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

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

ตัวบ่งชี้:

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

บันทึกการตั้งค่า:

เมื่อออกจากอินเทอร์เฟซการตั้งค่า พารามิเตอร์ทั้งหมดในการตั้งค่าและอินเทอร์เฟซหลักจะถูกบันทึกไว้ใน EEPROM

ขั้นตอนที่ 8: ทดสอบเลย

ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!
ทดสอบเลย!

ทดสอบ 1:

จับรูปคลื่นระหว่างเปิดเครื่องจ่ายไฟแบบสวิตชิ่ง

รูปคลื่นบน Mini DSO จะเหมือนกับใน DS1052E การเปลี่ยนแปลงเล็กๆ น้อยๆ ของรูปคลื่นจะถูกบันทึกอย่างชัดเจน ความแม่นยำของแรงดันไฟฟ้านั้นเหมาะสม

ทดสอบ 2:

จับรูปคลื่นในวงจรวัดค่าความเหนี่ยวนำและกระแสอิ่มตัว

ระดับทริกเกอร์เพียง 0.1V และวินาที/div คือ 200us สำหรับสัญญาณขนาดเล็กที่สามารถกระตุ้นได้นั้นค่อนข้างดี

ขั้นตอนที่ 9: ข้อ จำกัด และปัญหา

ข้อจำกัดและปัญหา!
ข้อจำกัดและปัญหา!
ข้อจำกัดและปัญหา!
ข้อจำกัดและปัญหา!

1. เช่นเดียวกับรุ่นแรก ไม่สามารถวัดแรงดันลบได้ รูปคลื่นจะหยุดที่ 0V

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

ขั้นตอนที่ 10: วางแผนเพิ่มเติม

แผนต่อไป!
แผนต่อไป!

เนื่องจากมีปัญหาการสุ่มตัวอย่างกระโดดใน STC8A8K และไม่ได้รับความนิยมจนหายาก ฉันตัดสินใจโอนโครงการนี้ไปที่ STM32 ในขณะเดียวกัน ฉันจะพยายามหาวิธีง่ายๆ ในการวัดแรงดันลบ

หากคุณมีคำแนะนำหรือข้อกำหนดเกี่ยวกับโครงการนี้ กรุณาบอกฉัน

หวังว่าคุณจะชอบมัน.

อย่าลังเลที่จะตรวจสอบช่อง YouTube ของฉัน:

แนะนำ: