สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: รวบรวมส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 2: หลักการทำงาน
- ขั้นตอนที่ 3: นำชิ้นส่วนต่างๆ มารวมกัน.
- ขั้นตอนที่ 4: การเพิ่มชิ้นส่วนสำหรับเครือข่ายการรับรู้แรงดันไฟฟ้า
- ขั้นตอนที่ 5: การเพิ่มชิ้นส่วนสำหรับเครือข่ายความรู้สึกปัจจุบัน
- ขั้นตอนที่ 6: เสร็จสิ้นการเชื่อมต่อที่เหลือและเสร็จสิ้นการสร้าง.
- ขั้นตอนที่ 7: เชื่อมต่อโมดูลกับ Arduino
- ขั้นตอนที่ 8: รหัสโครงการและแผนภาพวงจร
- ขั้นตอนที่ 9: วิดีโอการสอน
วีดีโอ: โมดูลการวัดกำลังไฟฟ้า DIY สำหรับ Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สวัสดีทุกคน ฉันหวังว่าคุณจะทำได้ดีมาก! ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็นว่าฉันสร้างโมดูล Power meter / Wattmeter สำหรับใช้กับบอร์ด Arduino ได้อย่างไร เครื่องวัดพลังงานนี้สามารถคำนวณพลังงานที่ใช้โดยและ DC Load นอกจากกำลังไฟฟ้าแล้ว โมดูลนี้ยังช่วยให้เราอ่านค่าแรงดันและกระแสได้อย่างแม่นยำอีกด้วย สามารถวัดแรงดันไฟฟ้าต่ำ (ประมาณ 2V) และกระแสไฟต่ำได้อย่างง่ายดายเพียง 50 mA โดยมีข้อผิดพลาดไม่เกิน 20mA ความแม่นยำขึ้นอยู่กับการเลือกส่วนประกอบตามความต้องการของคุณ
เสบียง
- IC LM358 dual OP-AMP
- ฐานไอซี 8 พิน
- ตัวต้านทาน Shunt (8.6 มิลลิโอห์มในกรณีของฉัน)
- ตัวต้านทาน: 100K, 10K, 2.2K, 1K (1/2watt)
- ตัวเก็บประจุ: 3 * 0.1uF ตัวเก็บประจุเซรามิก
- Veroboard หรือกระดานศูนย์
- ขั้วต่อสกรู
- หัวแร้งและหัวแร้ง
- Arduino Uno หรือบอร์ดอื่นๆ ที่เข้ากันได้
- จอแสดงผล OLED
- การต่อสายเบรดบาร์ด
ขั้นตอนที่ 1: รวบรวมส่วนประกอบที่จำเป็น
โปรเจ็กต์นี้ใช้ส่วนประกอบที่ง่ายมากและง่ายต่อการรับ ซึ่งประกอบด้วยตัวต้านทาน ตัวเก็บประจุเซรามิก แอมพลิฟายเออร์ในการดำเนินงาน และเวโรบอร์ดสำหรับการสร้างต้นแบบ
ทางเลือกและมูลค่าของส่วนประกอบขึ้นอยู่กับประเภทของการใช้งานและช่วงกำลังไฟฟ้าที่คุณต้องการวัด
ขั้นตอนที่ 2: หลักการทำงาน
การทำงานของโมดูลกำลังจะขึ้นอยู่กับสองแนวคิดของทฤษฎีวงจรและไฟฟ้าพื้นฐาน: แนวคิดตัวแบ่งแรงดันไฟฟ้าสำหรับการวัดแรงดันไฟฟ้าขาเข้าและกฎของโอห์มเพื่อคำนวณกระแสที่ไหลผ่านวงจร เรากำลังใช้ตัวต้านทาน shunt เพื่อสร้างแรงดันตกคร่อมที่น้อยมาก แรงดันตกคร่อมนี้เป็นสัดส่วนกับปริมาณกระแสที่ไหลผ่านตัวแบ่ง แรงดันไฟฟ้าขนาดเล็กนี้เมื่อขยายโดยแอมพลิฟายเออร์ในการดำเนินงานสามารถใช้เป็นอินพุตไปยังไมโครคอนโทรลเลอร์ซึ่งสามารถตั้งโปรแกรมเพื่อให้ค่าปัจจุบันแก่เรา แอมพลิฟายเออร์ในการดำเนินงานใช้เป็นแอมพลิฟายเออร์ที่ไม่กลับด้านซึ่งเกนจะถูกกำหนดโดยค่าของผลป้อนกลับ ตัวต้านทาน R2 และ R1 การใช้การกำหนดค่าที่ไม่กลับด้านทำให้เรามีกราวด์ร่วมกันเป็นข้อมูลอ้างอิงการวัด สำหรับสิ่งนี้ กระแสจะถูกวัดที่ด้านล่างของวงจร สำหรับแอปพลิเคชันของฉัน ฉันเลือกอัตราขยาย 46 โดยใช้ตัวต้านทาน 100K และ 2.2K เป็นเครือข่ายป้อนกลับ การวัดแรงดันไฟฟ้าทำได้โดยใช้วงจรแบ่งแรงดันซึ่งแบ่งแรงดันไฟฟ้าขาเข้าตามสัดส่วนของเครือข่ายตัวต้านทานที่ใช้
ทั้งค่าปัจจุบันจาก OP-Amp และค่าแรงดันไฟฟ้าจากเครือข่ายตัวแบ่งสามารถป้อนลงในอินพุตแบบอะนาล็อกสองตัวของ Arduino เพื่อให้เราสามารถคำนวณพลังงานที่ใช้โดยโหลด
ขั้นตอนที่ 3: นำชิ้นส่วนต่างๆ มารวมกัน.
ให้เราเริ่มสร้างโมดูลพลังงานของเราโดยกำหนดตำแหน่งของขั้วต่อสกรูสำหรับการเชื่อมต่ออินพุตและเอาต์พุต หลังจากทำเครื่องหมายตำแหน่งที่เหมาะสมแล้ว เราประสานขั้วสกรูและตัวต้านทานแบ่งเข้าที่
ขั้นตอนที่ 4: การเพิ่มชิ้นส่วนสำหรับเครือข่ายการรับรู้แรงดันไฟฟ้า
สำหรับการตรวจจับแรงดันไฟฟ้าอินพุต ฉันใช้เครือข่ายตัวแบ่งแรงดันไฟฟ้า 10K และ 1K ฉันยังเพิ่มตัวเก็บประจุ 0.1 uF ทั่วตัวต้านทาน 1K เพื่อทำให้แรงดันไฟฟ้าราบรื่นขึ้น เครือข่ายตรวจจับแรงดันไฟฟ้าถูกบัดกรีใกล้กับขั้วอินพุต
ขั้นตอนที่ 5: การเพิ่มชิ้นส่วนสำหรับเครือข่ายความรู้สึกปัจจุบัน
กระแสจะถูกวัดโดยการคำนวณและขยายแรงดันตกคร่อมตัวต้านทาน shunt ด้วยอัตราขยายที่กำหนดไว้ล่วงหน้าที่กำหนดโดยเครือข่ายตัวต้านทาน ใช้โหมดการขยายแบบไม่กลับด้าน ขอแนะนำให้รักษาร่องรอยการบัดกรีให้มีขนาดเล็กเพื่อหลีกเลี่ยงแรงดันไฟฟ้าตกที่ไม่ต้องการ
ขั้นตอนที่ 6: เสร็จสิ้นการเชื่อมต่อที่เหลือและเสร็จสิ้นการสร้าง.
ด้วยเครือข่ายแรงดันและกระแสสัมผัสที่เชื่อมต่อและบัดกรี ถึงเวลาที่จะประสานหมุดส่วนหัวของตัวผู้ และทำการเชื่อมต่อที่จำเป็นของกำลังไฟฟ้าและเอาต์พุตสัญญาณ โมดูลจะใช้พลังงานจากแรงดันไฟฟ้ามาตรฐาน 5 โวลต์ ซึ่งเราสามารถหาได้จากบอร์ด Arduino เอาต์พุตความรู้สึกแรงดันไฟฟ้าสองตัวจะเชื่อมต่อกับอินพุตแบบอะนาล็อกของ Arduino
ขั้นตอนที่ 7: เชื่อมต่อโมดูลกับ Arduino
เมื่อโมดูลเสร็จสมบูรณ์ ในที่สุดก็ถึงเวลาเชื่อมต่อกับ Arduino และเริ่มต้นใช้งาน เพื่อดูค่า ฉันใช้จอแสดงผล OLED ซึ่งใช้โปรโตคอล I2C เพื่อสื่อสารกับ Arduino พารามิเตอร์ที่แสดงบนหน้าจอ ได้แก่ แรงดันไฟ กระแสไฟ และกำลัง
ขั้นตอนที่ 8: รหัสโครงการและแผนภาพวงจร
ฉันได้แนบแผนภาพวงจรและรหัสของโมดูลพลังงานในขั้นตอนนี้ (ก่อนหน้านี้ฉันได้แนบไฟล์.ino และ.txt ที่มีรหัสอยู่ แต่ข้อผิดพลาดของเซิร์ฟเวอร์บางอย่างทำให้ผู้ใช้ไม่สามารถเข้าถึงหรืออ่านรหัสได้ ดังนั้นฉันจึงเขียนทั้งหมด รหัสในขั้นตอนนี้ ฉันรู้ว่านั่นไม่ใช่วิธีที่ดีในการแบ่งปันรหัส:() โปรดแก้ไขรหัสนี้ตามความต้องการของคุณ ฉันหวังว่าโครงการนี้จะเป็นประโยชน์สำหรับคุณ โปรดแบ่งปันความคิดเห็นของคุณในความคิดเห็น ไชโย!
#รวม
#รวม
#รวม
#รวม
#define OLED_RESET 4 จอแสดงผล Adafruit_SSD1306 (OLED_RESET);
ค่าลอย=0;
กระแสลอย=0;
แรงดันลอย=0;
พลังลอย=0;
การตั้งค่าเป็นโมฆะ () {
โหมดพิน (A0, INPUT);
โหมดพิน (A1, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // เริ่มต้นด้วย I2C addr 0x3C (สำหรับ 128x32) display.display();
ล่าช้า (2000);
// ล้างบัฟเฟอร์
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.setTextColor(สีขาว);
Serial.begin(9600); // เพื่อดูค่าบนจอภาพอนุกรม
}
วงเป็นโมฆะ () {
// หาค่าเฉลี่ยสำหรับการอ่านที่เสถียร
สำหรับ (int i=0;i<20;i++) {
ปัจจุบัน=ปัจจุบัน + analogRead(A0);
แรงดันไฟฟ้า = แรงดัน + อ่านอนาล็อก (A1); }
ปัจจุบัน=(ปัจจุบัน/20); ปัจจุบัน = ปัจจุบัน * 0.0123 * 5.0; // ค่าสอบเทียบ, ที่จะเปลี่ยนตามส่วนประกอบที่ใช้
แรงดันไฟฟ้า = (แรงดันไฟฟ้า/20); แรงดันไฟ = แรงดัน* 0.0508 * 5.0; // ค่าสอบเทียบ, ที่จะเปลี่ยนตามส่วนประกอบที่ใช้
กำลัง = แรงดัน * กระแส;
//พิมพ์ค่าบนจอภาพอนุกรม
Serial.print (แรงดันไฟฟ้า);
Serial.print(" ");
Serial.print (ปัจจุบัน);
Serial.print(" ");
Serial.println(พลังงาน);
// พิมพ์ค่าบนจอแสดงผล OLED
display.setCursor(0, 0);
display.print("แรงดันไฟฟ้า: ");
display.print(แรงดัน);
display.println("วี");
display.setCursor(0, 10);
display.print("ปัจจุบัน: ");
display.print(ปัจจุบัน);
display.println("A");
display.setCursor(0, 20);
display.print("กำลัง: ");
display.print(พลังงาน);
display.println("W");
display.display();
ล่าช้า (500); // อัตราการรีเฟรชที่กำหนดโดยความล่าช้า
display.clearDisplay();
}
แนะนำ:
Flipperkonsole สำหรับ PC Flipper / Pinball Console สำหรับ PC Pinballs: 9 ขั้นตอน
Flipperkonsole สำหรับ PC Flipper / Pinball Console สำหรับ PC Pinballs: ใช้งานได้กับ USB พื้นฐาน เกมสำหรับ PC-Flipperkästen Die Spannungsversorgung erfolgt über das USB Kabel. Implementiert sind die beiden Flipper Buttons และ ein Startbutton Zusätzlich ist ein stossen von unten, von links และ von rechts implem
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon ฯลฯ): 4 ขั้นตอน
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon, ฯลฯ.): TL;DR: บนเซนเซอร์ ตัดร่องรอยไปที่ Echo pin จากนั้นเชื่อมต่อใหม่โดยใช้ a ตัวแบ่งแรงดันไฟฟ้า (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND) แก้ไข: มีการถกเถียงกันว่า ESP8266 นั้นทนทานต่อ GPIO 5V จริงหรือไม่ใน
DIY Laser Steering Module สำหรับ Arduino: 14 ขั้นตอน (พร้อมรูปภาพ)
DIY Laser Steering Module สำหรับ Arduino: ในคำแนะนำนี้ ฉันจะสาธิตการสร้างโมดูลบังคับเลี้ยวด้วยลำแสงเลเซอร์แบบกระจกเดี่ยวสองแกนโดยใช้ชิ้นส่วนที่พิมพ์ 3 มิติและส่วนประกอบราคาไม่แพงจาก eBay โครงการนี้มีความคล้ายคลึงกับ Arduino Laser Show พร้อม Full XY ควบคุมก
DIY LCD Keypad Shield สำหรับ Arduino Uno: 6 ขั้นตอน (พร้อมรูปภาพ)
DIY LCD Keypad Shield สำหรับ Arduino Uno: ฉันค้นหาจำนวนมากเพื่อสร้าง DIY LCD Keypad shield และฉันไม่พบเลยดังนั้นฉันจึงสร้างมันขึ้นมาและต้องการแบ่งปันกับพวกคุณ
DIY Apple Remote Shield สำหรับ Arduino: 6 ขั้นตอน (พร้อมรูปภาพ)
DIY Apple Remote Shield สำหรับ Arduino: คุณเคยต้องการสร้างรีโมทแอปเปิ้ลหรือไม่? หรืออาจต้องการให้ Arduino ของคุณสามารถควบคุม iTunes บน Mac, iPod หรือ Apple TV ของคุณได้หรือไม่? ตอนนี้คุณทำได้! ในขณะที่ฉันทำงานในโครงการที่ฉันอยากเป็น