2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สามารถใช้อุปกรณ์เพื่อวัดพลังงานที่ใช้ไป วงจรนี้ยังสามารถทำหน้าที่เป็นโวลต์มิเตอร์และแอมมิเตอร์ในการวัดแรงดันและกระแส
เสบียง
ส่วนประกอบฮาร์ดแวร์
Arduino Uno
จอแอลซีดี 16 X 2
LM 358 ออปแอมป์
7805 ตัวควบคุมแรงดันไฟฟ้า
โพเทนชิออมิเตอร์ 10k โอห์ม
0.1 µF
ตัวต้านทาน 10k โอห์ม
ตัวต้านทาน 20 kohm
ตัวต้านทาน 2.21k โอห์ม
ตัวต้านทาน 0.22 โอห์ม
โหลดทดสอบ
สายต่อ
ส่วนประกอบซอฟต์แวร์:
Arduino IDE
ขั้นตอนที่ 1: การทำงานของ Arduino Wattmeter
การสร้างมิเตอร์ของคุณเองไม่เพียงแต่ช่วยลดต้นทุนในการทดสอบเท่านั้น แต่ยังช่วยให้เรามีพื้นที่สำหรับกระบวนการทดสอบได้ง่ายขึ้น
การทำงาน:
จากส่วนเซ็นเซอร์ มีสองส่วนที่เชื่อถือได้สำหรับการวัดแรงดันและกระแส สำหรับการวัดแรงดันไฟฟ้า วงจรแบ่งแรงดันจะดำเนินการโดยใช้ตัวต้านทาน 10KΩ และ 2.2KΩ
ด้วยความช่วยเหลือของตัวต้านทานเหล่านี้ คุณสามารถวัดแรงดันไฟสูงสุด 24V ได้อย่างง่ายดาย ตัวต้านทานเหล่านี้ยังสนับสนุนเราในการนำช่วงแรงดันไฟฟ้าไปที่ 0V – 5V ซึ่งเป็นช่วงปกติที่ Arduino ทำงาน
ในการวัดกระแส เราต้องเปลี่ยนค่าปัจจุบันเป็นค่าแรงดันปกติ ตามกฎของโอห์ม แรงดันตกคร่อมโหลดจะเป็นสัดส่วนกับกระแส
ดังนั้นจึงมีการจัดเรียงตัวต้านทานแบ่งขนาดเล็กตามโหลด เราสามารถคำนวณกระแสได้โดยการประมาณแรงดันไฟฟ้าข้ามตัวต้านทานนี้ เราใช้ LM358 Op-Amp ในโหมด Non-Inverting Amplifier เพื่อขยายค่าที่ให้กับ Arduino
เครือข่ายตัวแบ่งแรงดันไฟฟ้าสำหรับการควบคุมป้อนกลับประกอบด้วยตัวต้านทานa20KΩและตัวต้านทาน1KΩ ตัวต้านทานเหล่านี้ให้อัตราขยายประมาณ 21
เรียนรู้เพิ่มเติมเกี่ยวกับหลักสูตร IoT ซึ่งจะช่วยให้คุณสร้างโซลูชัน IoT ที่กำหนดเองได้
ขั้นตอนที่ 2: เรียกใช้รหัส
#รวม
int Read_Voltage = A1;
int Read_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal LCD (rs, en, d4, d5, d6, d7);
แรงดันลอย = 0.0;
กระแสไฟลอย = 0.0;
พลังลอย = 0.0;
การตั้งค่าเป็นโมฆะ ()
{
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print(" Arduino ");
lcd.setCursor(0, 1);
lcd.print(" วัตต์มิเตอร์ ");
ล่าช้า (2000);
lcd.clear();
}
วงเป็นโมฆะ ()
{
แรงดันไฟฟ้า = analogRead (Read_Voltage);
ปัจจุบัน = analogRead (Read_Current);
แรงดันไฟ = แรงดันไฟ * (5.0/1023.0) * 6.46;
ปัจจุบัน = ปัจจุบัน * (5.0/1023.0) * 0.239;
Serial.println (แรงดันไฟฟ้า); Serial.println (ปัจจุบัน);
กำลัง = แรงดัน * กระแส;
Serial.println (พลังงาน);
lcd.setCursor(0, 0);
lcd.print("V=");
lcd.print (แรงดันไฟฟ้า);
lcd.print(" ");
lcd.print("I=");
lcd.print(ปัจจุบัน);
lcd.setCursor(0, 1);
lcd.print("P=");
lcd.print (พลังงาน);
ล่าช้า (1000);
}