สารบัญ:

เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC: 9 ขั้นตอน (พร้อมรูปภาพ)
เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: AC-DC วัดได้หมดด้วยมัลติมิเตอร์ 2024, กรกฎาคม
Anonim
เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC
เครื่องบันทึกข้อมูลการตรวจสอบกระแสไฟ AC

สวัสดีทุกคน ยินดีต้อนรับสู่คำสั่งแรกของฉัน! ในตอนกลางวัน ฉันเป็นวิศวกรทดสอบของบริษัทที่จัดหาอุปกรณ์ทำความร้อนทางอุตสาหกรรม ในตอนกลางคืน ฉันเป็นผู้ที่ชื่นชอบเทคโนโลยีอดิเรกและชอบ DIY งานส่วนหนึ่งของฉันเกี่ยวข้องกับการทดสอบประสิทธิภาพของเครื่องทำความร้อน ในโอกาสนี้ ฉันต้องการตรวจสอบการดึงกระแส RMS ของอุปกรณ์ 8 เครื่องในระยะเวลา 1,000 ชั่วโมง และบันทึกข้อมูลเพื่อสร้างกราฟผลลัพธ์ในภายหลัง ฉันมีสิทธิ์เข้าถึงเครื่องบันทึกข้อมูล แต่ได้มอบหมายให้ดำเนินการกับโครงการอื่นแล้ว และฉันต้องการบางอย่างที่มีต้นทุนต่ำ ดังนั้นฉันจึงตัดสินใจรวมเครื่องบันทึกข้อมูลพื้นฐานนี้เข้าด้วยกัน

โปรเจ็กต์นี้ใช้ Arduino Uno เพื่ออ่านเซ็นเซอร์อะนาล็อกผ่านตัวแปลงอนาล็อกเป็นดิจิทัล (ADC) และบันทึกข้อมูลด้วยการประทับเวลาบนการ์ด SD มีทฤษฎีและการคำนวณมากมายที่เกี่ยวข้องกับการออกแบบวงจร ดังนั้นแทนที่จะอธิบายทุกอย่าง ผมจะแสดงให้คุณเห็นถึงวิธีการสร้างวงจร หากคุณสนใจที่จะเห็น FULL hit แจ้งให้เราทราบในความคิดเห็นและฉันจะอธิบายเพิ่มเติม

บันทึก:

ฉันมีคำถามมากมายเกี่ยวกับการคำนวณ True RMS อุปกรณ์นี้ใช้วงจรเรียงกระแสแบบครึ่งคลื่นเพื่อจับจุดสูงสุดของคลื่น ซึ่งสามารถคูณด้วย 0.707 เพื่อให้ได้ RMS ดังนั้น จะให้ผลลัพธ์ที่แม่นยำกับโหลดเชิงเส้นเท่านั้น (เช่น กระแสที่วัดเป็นคลื่นไซน์บริสุทธิ์) วัสดุสิ้นเปลืองหรือโหลดที่ไม่เป็นเชิงเส้นที่ให้รูปคลื่นสามเหลี่ยม สี่เหลี่ยม หรือรูปคลื่นที่ไม่ใช่ไซนัสอื่นๆ จะไม่ให้การคำนวณ RMS ที่แท้จริง อุปกรณ์นี้วัดกระแสไฟ AC เท่านั้น โดยไม่ได้ออกแบบมาเพื่อวัดแรงดันไฟ จึงไม่คำนวณหรือวัดค่าตัวประกอบกำลัง โปรดดูคำแนะนำอื่น ๆ ของฉันเกี่ยวกับวิธีสร้างเครื่องวัดค่ากำลังไฟฟ้าซึ่งสามารถใช้ทำสิ่งนี้ได้ หลายคนยังกล่าวด้วยว่าคัปปลิ้งไฟฟ้ากระแสสลับแบบตรงที่มีเส้นกึ่งกลาง 2.5V ดีกว่า อย่างไรก็ตาม สิ่งนี้ทำให้เกิดความยุ่งยากเนื่องจากมีอัตราการสุ่มตัวอย่างแบบดิจิทัลที่เร็วเพียงพอ การเฉลี่ย/การปรับข้อมูลให้ราบรื่น ฯลฯ และความไม่แน่นอนที่แนะนำนี้สูงกว่าการวัดมาก มูลค่าดิบ โดยส่วนตัวแล้ว ฉันชอบโซลูชันฮาร์ดแวร์และโค้ดที่ง่ายกว่าหากเป็นไปได้ ดังนั้นฉันจึงไม่สนใจวิธีการนั้น ความแม่นยำที่ชาญฉลาด ฉันเชื่อว่าสิ่งนี้ดีกว่าแบบหลังมากและคุณจะเห็นในภายหลังในผลลัพธ์ของฉันว่ามีค่าสัมประสิทธิ์การถดถอยใกล้กับ 1.0 หลังจากการสอบเทียบ

ขั้นตอนที่ 1: หม้อแปลงกระแส

หม้อแปลงกระแส
หม้อแปลงกระแส
หม้อแปลงกระแส
หม้อแปลงกระแส

โครงการนี้ใช้หม้อแปลงกระแส HMCT103C 5A/5MA มีอัตราส่วน 1:1000 ซึ่งหมายความว่าทุกๆ 5A ของกระแสที่ไหลผ่านตัวนำ 5mA จะไหลผ่าน CT ต้องเชื่อมต่อตัวต้านทานข้ามขั้วทั้งสองของ CT เพื่อให้สามารถวัดแรงดันไฟฟ้าได้ ในโอกาสนี้ ฉันใช้ตัวต้านทาน 220 โอห์ม ดังนั้นโดยใช้กฎของโอห์ม V=IR เอาต์พุตของ CT จะเท่ากับ 1.1 โวลต์ AC สำหรับทุกๆ 5mA ของกระแส CT (หรือทุกๆ 5A ของกระแสที่วัดได้) CT's ถูกบัดกรีเพื่อถอดบอร์ดด้วยตัวต้านทานและสายเครื่องมือบางตัวเพื่อทำลีดบิน ฉันยุติสายนำด้วยปลั๊กแจ็คเสียงชาย 3.5 มม.

นี่คือแผ่นข้อมูลสำหรับหม้อแปลงกระแส

แผ่นข้อมูล

ขั้นตอนที่ 2: การปรับสภาพสัญญาณ

การปรับสภาพสัญญาณ
การปรับสภาพสัญญาณ
การปรับสภาพสัญญาณ
การปรับสภาพสัญญาณ

สัญญาณจาก CT จะอ่อนจึงจำเป็นต้องขยาย สำหรับสิ่งนี้ฉันบัดกรีวงจรแอมพลิฟายเออร์อย่างง่ายเข้าด้วยกันโดยใช้ uA741 dual rail op amp ในกรณีนี้ เกนจึงตั้งไว้ที่ 150 โดยใช้สูตร Rf / Rin (150k / 1k) อย่างไรก็ตาม สัญญาณเอาท์พุตจากแอมพลิฟายเออร์ยังคงเป็น AC อยู่ ไดโอดบนเอาต์พุตของ op-amp ตัดวงจรลบครึ่งของ AC และส่งผ่านแรงดันบวกไปยังตัวเก็บประจุ 0.1uF เพื่อให้คลื่นเรียบเป็นสัญญาณ DC แบบกระเพื่อม ด้านล่างเป็นส่วนที่ประกอบเป็นวงจร:

  • V1 - นี่เป็นกฎเกณฑ์ในแผนภาพนี้ มันเพียงแสดงแรงดันสัญญาณที่ป้อนเข้าในอินพุตที่ไม่กลับด้านของ op-amp
  • R1 - เรียกว่าตัวต้านทานป้อนกลับ (Rf) และตั้งค่าเป็น 150k
  • R2 - เรียกว่าตัวต้านทานอินพุต (Rin) และตั้งค่าเป็น 1k
  • 741 - นี่คือวงจรรวม uA741
  • VCC - รางจ่ายไฟบวก +12V
  • VEE - รางจ่ายไฟเชิงลบ -12V
  • D1 - เป็นไดโอดสัญญาณแก้ไขคลื่นฮาฟ 1N4001
  • C3 - ตัวเก็บประจุนี้เก็บสัญญาณ DC ไว้ตามเวลาที่กำหนด

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

ขั้นตอนที่ 3: พาวเวอร์ซัพพลาย

พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย

หากคุณไม่ต้องการสร้างมันขึ้นมาใหม่ทั้งหมด คุณสามารถซื้อบอร์ดที่ประกอบไว้ล่วงหน้าจากประเทศจีนได้ดังภาพด้านบน แต่คุณยังคงต้องใช้หม้อแปลง 3VA (ลดระดับ 240V เป็น 12V) ภาพหนึ่งมีค่าใช้จ่ายประมาณ 2.50

ในการขับเคลื่อนโครงการ ฉันตัดสินใจสร้างแหล่งจ่ายไฟ 12VDC แบบรางคู่ของตัวเอง สะดวกมากเพราะ op-amps ต้องการ +12V, 0V, -12V และ Arduino Uno สามารถรองรับการจ่ายไฟได้สูงสุด 14 VDC ด้านล่างเป็นส่วนที่ประกอบเป็นวงจร:

  • V1 - หมายถึงแหล่งจ่ายไฟจากเต้ารับหลัก 240V 50Hz
  • T1 - นี่คือหม้อแปลง 3VA ขนาดเล็กที่ฉันเคยโกหก สิ่งสำคัญคือหม้อแปลงไฟฟ้าต้องมีแทปตรงกลางที่ตัวทุติยภูมิซึ่งจะเชื่อมต่อกับ 0V เช่นกราวด์
  • D1 ถึง D4 - นี่คือวงจรเรียงกระแสแบบเต็มคลื่นโดยใช้ไดโอด 1N4007
  • C1 & C2 - ตัวเก็บประจุอิเล็กโทรไลต์ 35V 2200uF (ต้องเป็น 35V เนื่องจากศักย์ไฟฟ้าระหว่างค่าบวกและค่าลบจะสูงถึง 30V)
  • U2 - LM7812 เป็นตัวควบคุมแรงดันไฟฟ้าบวก 12V
  • U3 - LM7912 เป็นตัวควบคุมแรงดันไฟฟ้าเชิงลบ 12V (โปรดสังเกตความแตกต่างของพินระหว่าง 78xx และ 79xx IC!)
  • C3 & C4 - 100nF ตัวเก็บประจุปรับให้เรียบ 25V อิเล็กโทรไลต์
  • C5 & C6 - ตัวเก็บประจุแบบแผ่นเซรามิก 10uF

ฉันบัดกรีส่วนประกอบต่างๆ ลงบนแผ่นกระดาน และเชื่อมรางแนวตั้งด้วยลวดทองแดงกระป๋องแกนเดี่ยวเปล่า รูปที่ 3 ด้านบนแสดงแหล่งจ่ายไฟ DIY ของฉัน ขออภัยรูปภาพมีจัมเปอร์จำนวนมาก!

ขั้นตอนที่ 4: ตัวแปลงอนาล็อกเป็นดิจิตอล

ตัวแปลงอนาล็อกเป็นดิจิตอล
ตัวแปลงอนาล็อกเป็นดิจิตอล
ตัวแปลงอนาล็อกเป็นดิจิตอล
ตัวแปลงอนาล็อกเป็นดิจิตอล

Arduino Uno มี ADC 10 บิตในตัวอยู่แล้ว แต่มีเพียง 6 อินพุตแบบอะนาล็อกเท่านั้น ดังนั้นฉันจึงเลือกใช้ ADC breakout สองตัวกับ ADS1115 16 บิต ซึ่งช่วยให้ 2^15 = 32767 บิตแสดงระดับแรงดันไฟได้ตั้งแต่ 0-4.096V (4.096V คือแรงดันใช้งานของการฝ่าวงล้อม) ซึ่งหมายความว่าทุกบิตจะแทน 0.000125V! นอกจากนี้ เนื่องจากใช้บัส I2C หมายความว่าสามารถระบุ ADC ได้สูงสุด 4 ช่อง ทำให้สามารถตรวจสอบช่องสัญญาณได้สูงสุด 16 ช่องหากต้องการ

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

ขั้นตอนที่ 5: ไมโครคอนโทรลเลอร์

ไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์

ตามที่กล่าวไว้ข้างต้นคอนโทรลเลอร์ที่ฉันเลือกคือ Arduino Uno นี่เป็นตัวเลือกที่ดีเนื่องจากมีออนบอร์ดจำนวนมากและฟังก์ชันการทำงานในตัวที่ไม่จำเป็นจะต้องสร้างแยกกัน นอกจากนี้ยังเข้ากันได้กับ 'โล่' ที่สร้างขึ้นเป็นพิเศษจำนวนมาก ในโอกาสนี้ ฉันต้องการนาฬิกาแบบเรียลไทม์เพื่อประทับเวลาผลลัพธ์ทั้งหมด และตัวเขียนการ์ด SD เพื่อบันทึกผลลัพธ์เป็นไฟล์.csv หรือ.txt โชคดีที่โล่บันทึกข้อมูลของ Arduino มีทั้งแบบชิลด์ที่ดันให้พอดีกับบอร์ด Arduino ดั้งเดิมโดยไม่ต้องบัดกรีเพิ่มเติม โล่เข้ากันได้กับไลบรารี RTClib และการ์ด SD ดังนั้นจึงไม่จำเป็นต้องใช้รหัสผู้เชี่ยวชาญ

ขั้นตอนที่ 6: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

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

ขั้นตอนที่ 7: การอัปโหลดรหัส

อัปโหลดรหัสไปยัง Arduino หรือรับรหัสจาก Github repo ของฉัน

github.com/smooth-jamie/datalogger.git

ขั้นตอนที่ 8: การปรับเทียบ

การสอบเทียบ
การสอบเทียบ
การสอบเทียบ
การสอบเทียบ
การสอบเทียบ
การสอบเทียบ

ในทางทฤษฎี กระแสที่วัดได้จะเป็นผลมาจากหลายสิ่งรวมกัน:

แอมป์ที่วัดได้ = (((a *0.45)/150)/(1.1/5000))/1000 โดยที่ 'a' คือแรงดันสัญญาณจากเครื่องขยายเสียง

0.45 คือค่า rms ของ Vout ของวงจรเครื่องขยายเสียง 150 คืออัตราขยายของ op-amp (Rf/Rin = 150k / 1k) 1.1 คือแรงดันเอาต์พุตเต็มสเกลของ CT เมื่อแอมป์ที่วัดได้คือ 5A, 5000 เป็นเพียง 5A ใน mA และ 1,000 คือจำนวนรอบในหม้อแปลง สิ่งนี้สามารถทำให้ง่ายขึ้นเพื่อ:

แอมป์ที่วัดได้ = (b * 9.216) / 5406555 โดยที่ b คือค่าที่รายงานของ ADC

สูตรนี้ได้รับการทดสอบโดยใช้ Arduino 10 บิต ADC และความแตกต่างระหว่างค่ามัลติมิเตอร์และค่าที่สร้างโดย Arduino สังเกตได้ 11% ซึ่งเป็นค่าเบี่ยงเบนที่ยอมรับไม่ได้ วิธีที่ฉันชอบสำหรับการสอบเทียบคือการบันทึกค่า ADC เทียบกับค่าปัจจุบันบนมัลติมิเตอร์ในสเปรดชีตและพล็อตพหุนามลำดับที่สาม จากนี้สามารถใช้สูตรลูกบาศก์เพื่อให้ได้ผลลัพธ์ที่ดีขึ้นเมื่อคำนวณกระแสที่วัดได้:

(ขวาน^3) + (bx^2) + (cx^1) + d

ค่าสัมประสิทธิ์ a, b, c และ d คำนวณใน excel จากตารางข้อมูลอย่างง่าย x คือค่า ADC ของคุณ

ในการรับข้อมูล ฉันใช้ตัวต้านทานตัวแปรเซรามิก 1k (รีโอสแตต) และหม้อแปลง 12v เพื่อลดแรงดันไฟ AC หลักจาก 240V ซึ่งจะทำให้ฉันสร้างแหล่งกระแสผันแปรจาก 13mA ถึง 100mA ยิ่งมีจุดข้อมูลมากเท่าไหร่ก็ยิ่งดีเท่านั้น แต่ผมขอแนะนำให้รวบรวมจุดข้อมูล 10 จุดเพื่อให้ได้แนวโน้มที่แม่นยำ เทมเพลต Excel ที่แนบมาจะคำนวณค่าสัมประสิทธิ์ให้คุณ จากนั้นเพียงแค่ป้อนลงในโค้ด Arduino

ในบรรทัดที่ 69 ของรหัส คุณจะเห็นตำแหน่งที่จะป้อนสัมประสิทธิ์

float chn0 = ((7.30315 * pow(10, -13))) * pow(adc0, 3) + (-3.72889 * pow(10, -8) * pow(adc0, 2) + (0.003985811 * adc0) + (0.663064521)));

ซึ่งเหมือนกับสูตรในชีต 1 ของไฟล์ excel:

y = 7E-13x3 - 4E-08x2 + 0.004x + 0.663

โดยที่ x = adc0 ของช่องสัญญาณใดก็ตามที่คุณกำลังสอบเทียบ

ขั้นตอนที่ 9: เสร็จสิ้น

เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น

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

ทำงานต่อ

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

Update 2016-12-18

ตอนนี้ฉันได้เพิ่ม LCD ขนาด 16x2 โดยใช้ "กระเป๋าเป้สะพายหลัง" ของ I2C เพื่อตรวจสอบสี่ช่องสัญญาณแรก และจะเพิ่มอีกช่องหนึ่งเพื่อตรวจสอบสี่ช่องสุดท้ายเมื่อมาถึงโพสต์

เครดิต

โครงการนี้เป็นไปได้โดยผู้เขียน Libraries ทุกคนที่ใช้ใน Arduino Sketch รวมถึงห้องสมุด DS3231, ห้องสมุด Adafruit ADS1015 และห้องสมุด Arduino SD

แนะนำ: