สารบัญ:
- ขั้นตอนที่ 1: การออกแบบวงจร
- ขั้นตอนที่ 2: การสร้างต้นแบบและการทดสอบ
- ขั้นตอนที่ 3: รหัส Arduino
- ขั้นตอนที่ 4: การทดสอบกรด
วีดีโอ: วิธีวัดตัวประกอบกำลังไฟฟ้ากระแสสลับโดยใช้ Arduino: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
สวัสดีทุกคน! นี่เป็นคำแนะนำที่สามของฉันหวังว่าคุณจะพบว่ามีข้อมูล:-) นี่จะเป็นคำแนะนำเกี่ยวกับวิธีการวัดค่าตัวประกอบกำลังพื้นฐานโดยใช้ Arduino ก่อนที่เราจะเริ่ม มีบางสิ่งที่ต้องจำไว้:
- สิ่งนี้จะใช้ได้กับโหลดเชิงเส้นเท่านั้น (เช่น มอเตอร์เหนี่ยวนำ หม้อแปลง โซลินอยด์)
- สิ่งนี้จะไม่ทำงานกับ NON-LINEAR (เช่น CFL Bulbs, อุปกรณ์จ่ายไฟโหมดสวิตช์, LED)
- ฉันเป็นวิศวกรไฟฟ้าและมีความสามารถในการทำงานกับศักย์ไฟฟ้าหลัก (เช่น 230V)
คำเตือน! หากคุณไม่ได้รับการฝึกฝนหรือไม่ทราบวิธีการทำงานอย่างถูกต้องกับแรงดันไฟหลัก เราขอแนะนำให้คุณอย่าดำเนินการในส่วนนั้นของคำแนะนำ และฉันจะแสดงวิธีการที่ปลอดภัยในการพิสูจน์การทำงานของวงจร
นี่เป็นวิธีแก้ปัญหาฮาร์ดแวร์สำหรับปัญหาการวัด PF ในโหลดเชิงเส้น สิ่งนี้สามารถทำได้อย่างหมดจดผ่านรหัสรวมถึงความสามารถในการวัดการโหลดที่ไม่เป็นเชิงเส้นซึ่งฉันจะตั้งเป้าที่จะครอบคลุมในคำแนะนำอื่น
เพื่อประโยชน์ของผู้เริ่มต้นอ่านสิ่งนี้ ตัวประกอบกำลังคืออัตราส่วนของกำลังจริงต่อกำลังปรากฏ และสามารถคำนวณได้โดยการหาโคไซน์ของมุมเฟสระหว่างแรงดันและกระแสของแหล่งจ่าย (ดูรูปที่แนบมาจาก Google) สิ่งนี้มีความสำคัญในการใช้งานไฟฟ้ากระแสสลับ เนื่องจากสามารถคำนวณ "พลังงานที่ชัดเจน" (โวลต์-แอมแปร์) ได้อย่างง่ายดายโดยใช้แรงดันไฟฟ้าคูณด้วยกระแส อย่างไรก็ตามเพื่อให้ได้กำลังที่แท้จริงหรือ "กำลังที่แท้จริง" (วัตต์) จะต้องคูณด้วยตัวประกอบกำลังเพื่อทำการวัดกำลังไฟฟ้าที่แท้จริงในหน่วยวัตต์ สิ่งนี้ใช้ได้กับโหลดที่มีส่วนประกอบอุปนัยหรือประจุไฟฟ้าที่มีนัยสำคัญเท่านั้น (เช่น มอเตอร์) โหลดที่มีความต้านทานอย่างหมดจด เช่น เครื่องทำความร้อนไฟฟ้าหรือหลอดไส้มีตัวประกอบกำลัง 1.0 (เอกภาพ) ดังนั้น True Power และ Appparent Power จึงมีค่าเท่ากัน
ขั้นตอนที่ 1: การออกแบบวงจร
สามารถคำนวณตัวประกอบกำลังโดยใช้ออสซิลโลสโคปโดยการวัดความแตกต่างของเวลาระหว่างสัญญาณแรงดันและกระแส สิ่งเหล่านี้สามารถวัดได้ ณ จุดใดก็ได้ในคลื่น ตราบใดที่พวกมันถูกสุ่มตัวอย่างในที่เดียวกัน ในกรณีนี้ การวัดระหว่างจุดข้ามศูนย์เป็นศูนย์ (จุดในคลื่นที่แรงดันไฟฟ้าข้ามแกน X)
ฉันออกแบบวงจรต่อไปนี้ใน Multisim สมมติว่ากระแสและแรงดันของโหลดเป็นรูปคลื่นไซน์บริสุทธิ์ ตัวประกอบกำลังสามารถวัดได้ รูปคลื่นแต่ละรูปจะถูกป้อนเข้าไปในเครื่องตรวจจับการข้ามศูนย์ (บางครั้งเรียกว่าตัวแปลงคลื่นไซน์เป็นคลื่นสี่เหลี่ยม) ซึ่งเป็นเพียง 741 op-amp ในโหมดเปรียบเทียบโดยที่แรงดันเปรียบเทียบคือ 0V เมื่อคลื่นไซน์อยู่ในวัฏจักรลบ จะมีการสร้างพัลส์ DC เชิงลบ และเมื่อคลื่นไซน์เป็นค่าบวก จะสร้างพัลส์ DC เชิงบวก จากนั้นเปรียบเทียบคลื่นสี่เหลี่ยมสองคลื่นโดยใช้ลอจิกเกท OR (XOR) แบบเอกสิทธิ์เฉพาะบุคคล ซึ่งจะส่งสัญญาณพัลส์ DC สูงเป็นบวกเฉพาะเมื่อคลื่นสี่เหลี่ยมไม่ทับซ้อนกัน และ 0V เมื่อซ้อนทับกัน เอาต์พุตของเกต XOR จึงเป็นความแตกต่างของเวลา (เดลต้า t) ระหว่างคลื่นทั้งสองจากจุดที่พวกมันข้ามจุดศูนย์ ไมโครคอนโทรลเลอร์สามารถจับเวลาสัญญาณความแตกต่างนี้และแปลงเป็นตัวประกอบกำลังโดยใช้การคำนวณต่อไปนี้ (ตรวจสอบให้แน่ใจว่าเครื่องคิดเลขทางวิทยาศาสตร์ของคุณอยู่ในหน่วยองศาไม่ใช่เรเดียน):
cos(phi) = f * dt * 360
ที่ไหน:
cos(phi) - ตัวประกอบกำลัง
f - ความถี่ของการจ่ายที่วัดได้
dt - เดลต้า t หรือความแตกต่างของเวลาระหว่างคลื่น
360 - ค่าคงที่ที่ใช้ตอบเป็นองศา
ในภาพ คุณจะเห็นร่องรอยของออสซิลโลสโคปจำลองสามแบบสำหรับวงจร สัญญาณอินพุตสองตัวแสดงถึงกระแสและแรงดันของโหลด ฉันได้ให้สัญญาณที่สองกับเฟสที่ต่างกันที่ 18 องศา เพื่อสาธิตทฤษฎีนี้ ให้ค่า PF ประมาณ 0.95
ขั้นตอนที่ 2: การสร้างต้นแบบและการทดสอบ
สำหรับงานสร้างต้นแบบของฉัน ฉันวางการออกแบบวงจรไว้บนเขียงหั่นขนมแบบไม่มีบัดกรี จากแผ่นข้อมูล UA741CN และแผ่นข้อมูล CD4070CN ทั้งสอง IC ใช้แหล่งจ่ายไฟ 12-15 Vdc ดังนั้นฉันจึงขับเคลื่อนโดยใช้แบตเตอรี่สองก้อนเพื่อสร้างแหล่งจ่ายไฟแบบรางคู่ +12V, 0V, -12V โวลต์
จำลองโหลด
คุณสามารถจำลองการโหลดโดยใช้เครื่องกำเนิดสัญญาณสองช่องสัญญาณหรือเครื่องกำเนิดฟังก์ชัน ฉันใช้กล่องจีนราคาถูกและร่าเริงนี้เพื่อสร้างคลื่นไซน์ 50 Hz สองคลื่นห่างกัน 18 องศา และป้อนสัญญาณเข้าในวงจร คุณสามารถเห็นรูปคลื่นผลลัพธ์บนออสซิลโลสโคป ในภาพด้านบน คุณจะเห็นคลื่นสี่เหลี่ยมที่ทับซ้อนกันสองคลื่น (เอาต์พุตจาก op-amp แต่ละอัน) และอีกสามภาพแสดงผลลัพธ์ของเกต XOR สังเกตว่าความกว้างของพัลส์เอาต์พุตสั้นลงเมื่อมุมเฟสลดลง ตัวอย่างข้างต้นแสดง 90, 40, 0 องศา
ขั้นตอนที่ 3: รหัส Arduino
ดังที่กล่าวไว้ข้างต้น เอาต์พุตจากวงจรการวัดคือความแตกต่างของเวลาระหว่างสัญญาณอินพุตทั้งสอง (เช่น สัญญาณกระแสและแรงดันไฟ) รหัส Arduino ใช้ "pulseIn" เพื่อวัดความยาวของพัลส์เอาต์พุตจากวงจรการวัดในหน่วยนาโนวินาทีและใช้ในสูตร PF ที่กล่าวถึงข้างต้น
โค้ดเริ่มต้นด้วยการกำหนดค่าคงที่ ส่วนใหญ่เพื่อทำให้โค้ดมีระเบียบและอ่านง่ายขึ้น สิ่งสำคัญที่สุดคือ รหัส C (รหัส Arduino) ทำงานในหน่วยเรเดียน ไม่ใช่องศา ดังนั้นจึงจำเป็นต้องแปลงจากเรเดียนเป็นองศาเพื่อคำนวณมุมและค่า PF ในภายหลัง หนึ่งเรเดียนมีค่าประมาณ 57.29577951 องศา จำนวน 360 นั้นยังถูกเก็บไว้และตัวคูณการคูณ 1x10^-6 สำหรับการแปลงนาโนวินาทีเป็นวินาทีธรรมดา ความถี่ถูกกำหนดไว้ที่จุดเริ่มต้น หากคุณใช้อย่างอื่นที่ไม่ใช่ 50Hz ตรวจสอบให้แน่ใจว่าความถี่นี้ได้รับการอัปเดตเมื่อเริ่มต้นโค้ด
ภายใน "void loop()" ฉันได้บอกให้ Arduino คำนวณมุมตามสูตร PF ที่กล่าวถึงก่อนหน้านี้ ในการวนซ้ำรหัสนี้ครั้งแรกของฉัน โค้ดจะคืนค่ามุมที่ถูกต้องและตัวประกอบกำลัง อย่างไรก็ตาม ระหว่างผลลัพธ์ที่ถูกต้องแต่ละรายการ ค่าต่ำที่ผิดพลาดบางค่าก็จะถูกส่งกลับในคอนโซลอนุกรมด้วยเช่นกัน ฉันสังเกตเห็นว่านี่คือการอ่านอื่น ๆ หรือทุก ๆ การวัดสี่ครั้ง ฉันวางคำสั่ง "if" ไว้ในลูป "for" เพื่อเก็บค่าสูงสุดของการอ่านต่อเนื่องกันทุกๆ สี่ครั้ง ทำได้โดยเปรียบเทียบการคำนวณกับ "angle_max" ซึ่งเริ่มแรกเป็นศูนย์ และถ้าใหญ่กว่าจะเก็บค่าใหม่ไว้ใน "angle_max" ทำซ้ำสำหรับการวัดค่า PF การทำเช่นนี้ในลูป "for" หมายถึงมุมที่ถูกต้องและ pf จะถูกส่งกลับเสมอ แต่ถ้ามุมที่วัดได้เปลี่ยนแปลง (สูงหรือต่ำกว่า) เมื่อ "for" สิ้นสุด "angle_max" จะรีเซ็ตเป็นศูนย์สำหรับการทดสอบครั้งต่อไปเมื่อ " วนเป็นโมฆะ ()" ซ้ำ มีตัวอย่างที่ดีเกี่ยวกับวิธีการทำงานบนเว็บไซต์ Arduino (https://www.arduino.cc/en/Tutorial/Calibration) สูตร "if" ที่สองจะป้องกันค่าใดๆ ที่สูงกว่า 360 ที่ถูกส่งกลับในกรณีที่มีการวัดค่าสูงที่ผิดพลาดเมื่อปิดอุปกรณ์ที่ทดสอบ
ขั้นตอนที่ 4: การทดสอบกรด
อย่าพยายามทำสิ่งต่อไปนี้ เว้นแต่คุณจะรู้วิธีการทำงานอย่างปลอดภัยกับแรงดันไฟฟ้ากระแสสลับหลัก หากคุณไม่แน่ใจในความปลอดภัย ลองจำลองสัญญาณอินพุตด้วยเครื่องกำเนิดสัญญาณแบบสองช่องสัญญาณ
ตามคำร้องขอของผู้ติดตาม ฉันได้จัดทำโครงร่างเขียงหั่นขนมบน Fritzing เพื่อให้แนวคิดที่ดีขึ้นเกี่ยวกับวงจรและวงจรสุ่มตัวอย่าง/การตรวจจับ (ฉันได้แนบไฟล์.fzz และไดอะแกรม.png) มอเตอร์ที่อยู่ด้านบนแสดงถึงพัดลมตั้งโต๊ะที่ฉันใช้ และขดลวดเหนี่ยวนำแสดงถึงหม้อแปลงกระแสที่ฉันพันรอบตัวนำไฟฟ้าที่มีกระแสไฟฟ้า ฉันจ่ายไฟให้กับไอซี 741 โดยใช้แบตเตอรี่ 12V สองก้อนที่จัดเรียงเพื่อให้ +12 VDC, 0 VDC (กราวด์) และ -12 VDC CD4070 ยังสามารถขับเคลื่อนโดยตรงจากรางไฟ 5V ของ Arduino
เพื่อพิสูจน์ว่าแนวคิดใช้งานได้จริง วงจรถูกสร้างขึ้นโดยใช้เขียงหั่นขนมแบบบัดกรี จากภาพจะเห็นการจัดเรียงวงจร ฉันใช้พัดลมตั้งโต๊ะเป็นโหลดอุปนัยเพื่อทดสอบแนวคิด ระหว่างแหล่งจ่ายไฟหลัก 230V กับโหลดคืออุปกรณ์ตรวจจับของฉัน ฉันมีหม้อแปลงแบบสเต็ปดาวน์ซึ่งแปลง 230V โดยตรงเป็น 5V เพื่อให้สุ่มตัวอย่างรูปคลื่นของแรงดันไฟฟ้า หม้อแปลงกระแสแบบไม่รุกรานที่ยึดรอบตัวนำที่มีกระแสไฟฟ้าถูกใช้เพื่อสุ่มตัวอย่างรูปคลื่นปัจจุบัน (ด้านขวาของตัวต้านทานหุ้มอะลูมิเนียม) โปรดทราบว่าคุณไม่จำเป็นต้องรู้แอมพลิจูดของกระแสหรือแรงดันไฟ เพียงแต่รูปคลื่นสำหรับ op-amp เพื่อระบุการข้ามเป็นศูนย์ รูปภาพด้านบนแสดงรูปคลื่นกระแสและแรงดันจริงจากพัดลม และคอนโซลอนุกรมของ Arduino ซึ่งรายงาน PF ที่ 0.41 และมุม 65 องศา
หลักการทำงานนี้สามารถรวมเข้ากับเครื่องตรวจวัดพลังงานแบบโฮมเมดเพื่อทำการวัดกำลังไฟฟ้าได้อย่างแท้จริง หากมีความสามารถของคุณ คุณสามารถลองตรวจสอบโหลดอุปนัยและตัวต้านทานที่แตกต่างกัน และกำหนดตัวประกอบกำลังไฟฟ้า และนั่นคือ! วิธีง่ายๆ ในการวัดตัวประกอบกำลัง
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino