2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Sebuah perangkat dapat digunakan untuk mengukur daya yang dikonsumsi. Rangkaian ini juga dapat berfungsi sebagai Voltmeter dan Amperemeter untuk mengukur tegangan dan arus.
Perlengkapan
Komponen Perangkat Keras
Arduino Uno
LCD 16X2
LM 358 Op-Amp
7805 pengatur tegangan
Potensiometer 10k ohm
0,1 F
Resistor 10k ohm
Resistor, 20 kohm
Resistor 2.21k ohm
Resistor, 0,22 ohm
beban uji
Menghubungkan kabel
Komponen Perangkat Lunak:
Arduino IDE
Langkah 1: Kerja Arduino Wattmeter
Membangun meteran Anda sendiri tidak hanya mengurangi biaya pengujian tetapi juga memberi kami ruang untuk memfasilitasi proses pengujian.
Bekerja:
Dari bagian sensor, ada dua bagian yang bisa diandalkan untuk mengukur tegangan dan arus. Untuk mengukur tegangan, rangkaian pembagi tegangan dijalankan menggunakan Resistor 10KΩ dan 2.2KΩ.
Dengan bantuan resistor ini, Anda dapat dengan mudah mengukur tegangan hingga 24V. Resistor ini juga mendukung kita dalam mengambil rentang tegangan ke 0V – 5V, yang merupakan kisaran normal tempat Arduino bekerja.
Untuk mengukur arus, kita harus mengubah nilai arus ke nilai tegangan konvensional. Sesuai Hukum Ohm, penurunan tegangan pada beban sebanding dengan arus.
Oleh karena itu, resistor shunt kecil diatur sehubungan dengan beban. Dengan memperkirakan tegangan resistor ini, kita dapat menghitung arus. Kami telah menggunakan LM358 Op-Amp dalam Mode Penguat Non-Pembalik untuk memperbesar nilai yang diberikan ke Arduino.
Jaringan pembagi tegangan untuk kontrol umpan balik termasuk Resistor a20KΩ dan Resistor 1KΩ. Resistor ini menawarkan keuntungan sekitar 21.
Pelajari lebih lanjut tentang Kursus IoT yang akan membantu Anda membangun Solusi IoT yang Disesuaikan.
Langkah 2: Jalankan Kode
#termasuk
int Baca_Tegangan = A1;
int Baca_Saat Ini = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Float Tegangan = 0,0;
float Arus = 0,0;
Daya mengapung = 0,0;
batalkan pengaturan()
{
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print("Arduino");
lcd.setCursor(0, 1);
lcd.print("Wattmeter");
penundaan(2000);
lcd.clear();
}
lingkaran kosong()
{
Tegangan = analogBaca(Baca_Tegangan);
Arus = analogRead(Baca_Current);
Tegangan = Tegangan * (5.0/1023.0) * 6.46;
Arus = Arus * (5.0/1023.0) * 0,239;
Serial.println(Tegangan); Serial.println(Saat ini);
Daya = Tegangan * Arus;
Serial.println(Daya);
lcd.setCursor(0, 0);
lcd.print("V=");
lcd.print(Tegangan);
lcd.print("");
lcd.print("Saya=");
lcd.print(Saat ini);
lcd.setCursor(0, 1);
lcd.print("P=");
lcd.print(Daya);
penundaan (1000);
}