สารบัญ:

Arduino Wattmeter - แรงดันไฟ กระแสไฟ และการใช้พลังงาน: 3 ขั้นตอน
Arduino Wattmeter - แรงดันไฟ กระแสไฟ และการใช้พลังงาน: 3 ขั้นตอน

วีดีโอ: Arduino Wattmeter - แรงดันไฟ กระแสไฟ และการใช้พลังงาน: 3 ขั้นตอน

วีดีโอ: Arduino Wattmeter - แรงดันไฟ กระแสไฟ และการใช้พลังงาน: 3 ขั้นตอน
วีดีโอ: วัดไฟฟ้าผ่านมือถือด้วยPZEM004T v3 ผ่าน Blynk 2024, พฤศจิกายน
Anonim
Arduino Wattmeter - แรงดันไฟกระแสไฟและการใช้พลังงาน
Arduino Wattmeter - แรงดันไฟกระแสไฟและการใช้พลังงาน

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

เสบียง

ส่วนประกอบฮาร์ดแวร์

Arduino Uno

จอแอลซีดี 16 X 2

LM 358 ออปแอมป์

7805 ตัวควบคุมแรงดันไฟฟ้า

โพเทนชิออมิเตอร์ 10k โอห์ม

0.1 µF

ตัวต้านทาน 10k โอห์ม

ตัวต้านทาน 20 kohm

ตัวต้านทาน 2.21k โอห์ม

ตัวต้านทาน 0.22 โอห์ม

โหลดทดสอบ

สายต่อ

ส่วนประกอบซอฟต์แวร์:

Arduino IDE

ขั้นตอนที่ 1: การทำงานของ Arduino Wattmeter

การทำงานของ Arduino Wattmeter
การทำงานของ 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);

}

แนะนำ: