- ส่วนประกอบที่จำเป็น:
- คำอธิบายวงจร:
- 555 ตัวจับเวลา IC จาก Square Wave Generator:
- Schmitt Trigger Gate:
- Arduino วัดความจุ:
- สรุปและทดสอบ:
เมื่อเราเจอแผงวงจรที่ออกแบบไว้ก่อนหน้านี้หรือเรานำแผงวงจรไฟฟ้าออกจากทีวีหรือคอมพิวเตอร์เครื่องเก่าเพื่อพยายามซ่อมแซม และบางครั้งเราจำเป็นต้องทราบความจุของตัวเก็บประจุเฉพาะในบอร์ดเพื่อกำจัดความผิดพลาด จากนั้นเราประสบปัญหาในการรับค่าที่แน่นอนของตัวเก็บประจุจากบอร์ดโดยเฉพาะอย่างยิ่งหากเป็นอุปกรณ์ Surface Mount เราสามารถซื้ออุปกรณ์สำหรับวัดความจุได้ แต่อุปกรณ์ทั้งหมดนี้มีราคาแพงและไม่ใช่สำหรับทุกคน โดยที่ในใจเราจะไปในการออกแบบที่เรียบง่ายArduino ประจุกระแสไฟมิเตอร์ เพื่อวัดความจุของตัวเก็บประจุที่ไม่รู้จัก
เครื่องวัดนี้สามารถทำได้ง่ายและยังประหยัดค่าใช้จ่ายอีกด้วย เรากำลังจะสร้างCapacitance Meter โดยใช้ Arduino Uno, Schmitt trigger gate และ 555 IC timer
ส่วนประกอบที่จำเป็น:
- IC จับเวลา 555
- IC 74HC14 Schmitt trigger gate หรือ NOT gate
- ตัวต้านทาน 1K Ω (2 ชิ้น), ตัวต้านทาน10KΩ
- ตัวเก็บประจุ 100nF ตัวเก็บประจุ 1000µF
- 16 * 2 LCD,
- Breadboard และตัวเชื่อมต่อบางตัว
คำอธิบายวงจร:
แผนภาพวงจรของCapacitance Meter โดยใช้ Arduinoแสดงดังรูปด้านล่าง วงจรเป็นเรื่องง่าย LCD เชื่อมต่อกับ Arduino เพื่อแสดง Capacitance ที่วัดได้ของตัวเก็บประจุ วงจรกำเนิดคลื่นสี่เหลี่ยม (555 ในโหมด Astable) เชื่อมต่อกับ Arduino ซึ่งเราได้เชื่อมต่อตัวเก็บประจุที่ต้องวัดความจุ Schmitt trigger gate (IC 74LS14) ใช้เพื่อให้แน่ใจว่ามีการป้อนคลื่นสี่เหลี่ยมให้ Arduino เท่านั้น สำหรับการกรองสัญญาณรบกวนเราได้เพิ่มตัวเก็บประจุสองตัวในกำลังไฟ
วงจรนี้ได้อย่างถูกต้องสามารถวัดประจุอยู่ในช่วง10nF เพื่อ 10uF
555 ตัวจับเวลา IC จาก Square Wave Generator:
ก่อนอื่นเราจะพูดถึง 555 Timer IC based square generator หรือฉันควรจะพูดว่า 555 Astable Multivibrator เราทราบดีว่าความจุของตัวเก็บประจุไม่สามารถวัดได้โดยตรงในวงจรดิจิทัลกล่าวอีกนัยหนึ่งคือ UNO เกี่ยวข้องกับสัญญาณดิจิทัลและไม่สามารถวัดความจุได้โดยตรง ดังนั้นเราจึงใช้วงจรกำเนิดคลื่นสี่เหลี่ยม 555 สำหรับเชื่อมโยงตัวเก็บประจุกับโลกดิจิตอล
พูดง่ายๆคือตัวจับเวลาให้เอาท์พุทคลื่นสี่เหลี่ยมซึ่งความถี่มีผลโดยตรงกับความจุที่เชื่อมต่ออยู่ ก่อนอื่นเราจะได้สัญญาณคลื่นสี่เหลี่ยมซึ่งมีความถี่เป็นตัวแทนของความจุของตัวเก็บประจุที่ไม่รู้จักและป้อนสัญญาณนี้ไปยัง UNO เพื่อให้ได้ค่าที่เหมาะสม
การกำหนดค่าทั่วไป555 ในโหมด Astableดังแสดงในรูปด้านล่าง:
ความถี่ของสัญญาณเอาต์พุตขึ้นอยู่กับตัวต้านทาน RA, RB และตัวเก็บประจุ C สมการจะได้รับเป็น
ความถี่ (F) = 1 / (ช่วงเวลา) = 1.44 / ((RA + RB * 2) * C)
ที่นี่ RA และ RB คือค่าความต้านทานและ C คือค่าความจุ ด้วยการใส่ค่าความต้านทานและค่าความจุในสมการข้างต้นเราจะได้ความถี่ของคลื่นสแควร์เอาท์พุต
เราจะเชื่อมต่อ1KΩเป็น RA และ10KΩเป็น RB ดังนั้นสูตรจึงกลายเป็น
ความถี่ (F) = 1 / (ช่วงเวลา) = 1.44 / (21000 * C)
ด้วยการจัดเรียงเงื่อนไขที่เรามีใหม่
ความจุ C = 1.44 / (21000 * F)
ในรหัสโปรแกรมของเรา (ดูด้านล่าง) สำหรับการรับค่าความจุอย่างถูกต้องเราได้คำนวณผลลัพธ์ใน nF โดยการคูณผลลัพธ์ที่ได้รับ (เป็นค่าฟาเรด) ด้วย "1000000000" นอกจากนี้เรายังใช้ '20800' แทน 21000 เนื่องจากความต้านทานที่แม่นยำของ RA และ RB คือ 0.98K และ 9.88K
ดังนั้นถ้าเรารู้ความถี่ของคลื่นสี่เหลี่ยมเราจะได้ค่าความจุ
Schmitt Trigger Gate:
สัญญาณที่สร้างโดยวงจรจับเวลาไม่ปลอดภัยอย่างสมบูรณ์ที่จะส่งให้ Arduino Uno โดยตรง ด้วยความไวของ UNO เราจึงใช้ Schmitt trigger gate Schmitt trigger gate คือ digital logic gate
ประตูนี้ให้เอาต์พุตตามระดับแรงดันไฟฟ้าอินพุต Schmitt Trigger มีระดับแรงดันไฟฟ้า THERSHOLD เมื่อสัญญาณ INPUT ที่ใช้กับประตูมีระดับแรงดันไฟฟ้าสูงกว่า THRESHOLD ของลอจิกเกตเอาต์พุตจะสูง หากระดับสัญญาณแรงดันไฟฟ้า INPUT ต่ำกว่า THRESHOLD เอาต์พุตของประตูจะอยู่ในระดับต่ำ ด้วยเหตุนี้เราจึงไม่ได้รับ Schmitt trigger แยกกันเราจึงมีประตู NOT ตาม Schmitt trigger เสมอ Schmitt Trigger อธิบายไว้ที่นี่: Schmitt Trigger Gate
เราจะใช้ชิป 74HC14 ชิปนี้มี 6 Schmitt Trigger gatesอยู่ในนั้น ประตู SIX เหล่านี้เชื่อมต่อภายในดังแสดงในรูปด้านล่าง
จริงตารางประตู Inverted มิตทริกเกอร์คือการแสดงในรูปด้านล่างด้วยนี้เรามีการเขียนโปรแกรม UNO สำหรับ inverting ช่วงเวลาบวกและลบที่ขั้วของมัน
เราเชื่อมต่อสัญญาณที่สร้างโดยวงจรจับเวลาเข้ากับประตู ST เราจะมีคลื่นสี่เหลี่ยมของช่วงเวลากลับด้านที่เอาต์พุตซึ่งปลอดภัยที่จะมอบให้กับ UNO
Arduino วัดความจุ:
Uno มีฟังก์ชั่นพิเศษ pulseIn , ซึ่งทำให้เราสามารถกำหนดระยะเวลารัฐบวกหรือระยะเวลาที่รัฐเชิงลบของคลื่นสี่เหลี่ยมโดยเฉพาะอย่างยิ่ง
Htime = pulseIn (8, สูง); Ltime = pulseIn (8, ต่ำ);
pulseIn ฟังก์ชั่นมาตรการเวลาที่สูงหรือระดับต่ำเป็นปัจจุบันที่ PIN8 ของ Uno pulseIn มาตรการฟังก์ชันนี้เวลามัธยม (Htime) และเวลาต่ำ (Ltime) ในไมโครวินาที เมื่อเราเพิ่ม Htime และ Ltime เข้าด้วยกันเราจะมี Cycle Duration และโดยการย้อนกลับเราจะมีความถี่
เมื่อเรามีความถี่แล้วเราสามารถหาค่าความจุได้โดยใช้สูตรที่เราพูดถึงก่อนหน้านี้
สรุปและทดสอบ:
โดยสรุปเราเชื่อมต่อตัวเก็บประจุที่ไม่รู้จักเข้ากับวงจรจับเวลา 555 ซึ่งสร้างเอาต์พุตคลื่นสี่เหลี่ยมที่มีความถี่เกี่ยวข้องโดยตรงกับความจุของตัวเก็บประจุ สัญญาณนี้มอบให้กับ UNO ผ่านประตู ST UNO วัดความถี่ เมื่อทราบความถี่เราจึงตั้งโปรแกรม UNO เพื่อคำนวณความจุโดยใช้สูตรที่กล่าวถึงก่อนหน้านี้
มาดูผลลัพธ์ที่ฉันได้รับ
เมื่อฉันเชื่อมต่อ 1uF Capacitor Electrolytic ผลที่ได้คือ1,091.84 nF ~ 1uF และผลลัพธ์ด้วย 0.1uF Polyester Capacitor คือ107.70 nF ~ 0.1uF
แล้วฉันจะเชื่อมต่อ 0.1uF เซรามิกตัวเก็บประจุและผลที่ได้คือ100.25 nF ~ 0.1uF นอกจากนี้ผลลัพธ์ของตัวเก็บประจุด้วยไฟฟ้า4.7uFคือ4842.83 nF ~ 4.8uF
นั่นคือวิธีที่เราสามารถวัดความจุของตัวเก็บประจุใด ๆ