2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Tüketilen gücü ölçmek için bir cihaz kullanılabilir. Bu devre ayrıca voltaj ve akımı ölçmek için bir Voltmetre ve Ampermetre görevi görebilir.
Gereçler
Donanım bileşenleri
Arduino Uno'su
LCD 16X2
LM 358 Op-Amp
7805 Voltaj regülatörü
Potansiyometre 10k ohm
0.1 µF
Direnç 10k ohm
Direnç, 20 kohm
Direnç 2.21k ohm
Direnç, 0,22 ohm
Test yükü
Bağlantı telleri
Yazılım Bileşenleri:
Arduino IDE'si
Adım 1: Arduino Wattmetrenin Çalışması
Kendi sayaçlarınızı oluşturmak, yalnızca test maliyetini düşürmekle kalmaz, aynı zamanda test sürecini kolaylaştırmamız için bize alan sağlar.
Çalışma:
Sensör kısmından gerilim ve akımı ölçmek için güvenilir olan iki bölüm vardır. Gerilimi ölçmek için, 10KΩ ve 2.2KΩ Direnç kullanılarak bir voltaj bölücü devre yürütülür.
Bu dirençler yardımıyla 24V'a kadar olan gerilimleri rahatlıkla ölçebilirsiniz. Bu dirençler ayrıca Arduino'nun çalıştığı normal aralık olan voltaj aralığını 0V - 5V'a almamıza da destek oluyor.
Akımı ölçmek için akım değerlerini konvansiyonel voltaj değerlerine değiştirmemiz gerekir. Ohm Yasasına göre, bir yükteki voltaj düşüşü akımla orantılıdır.
Bu nedenle, yüke göre küçük bir şönt direnci düzenlenir. Bu direnç üzerindeki voltajı tahmin ederek akımı hesaplayabiliriz. Arduino'ya verilen değerleri büyütmek için LM358 Op-Amp'ı Ters Çevirmeyen Amplifikatör Modunda kullandık.
Geri besleme kontrolü için voltaj bölücü ağı, a20KΩ Direnç ve 1KΩ Direnç içerir. Bu dirençler yaklaşık 21 kazanç sağlar.
Özelleştirilmiş bir IoT Çözümleri oluşturmanıza yardımcı olacak IoT Kursu hakkında daha fazla bilgi edinin.
2. Adım: Bir Kod Çalıştırın
#Dahil etmek
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);
şamandıra Voltaj = 0.0;
şamandıra Akım = 0.0;
yüzer Güç = 0.0;
geçersiz kurulum()
{
lcd.başla(16, 2);
Seri.başla(9600);
lcd.print("Arduino");
lcd.setCursor(0, 1);
lcd.print(" Wattmetre ");
gecikme(2000);
lcd.clear();
}
boşluk döngüsü()
{
Voltaj = analogRead(Read_Voltage);
Akım = analogRead(Oku_Akım);
Gerilim = Gerilim * (5.0/1023.0) * 6.46;
Akım = Akım * (5.0/1023.0) * 0.239;
Serial.println(Voltaj); Serial.println(Mevcut);
Güç = Gerilim * Akım;
Seri.println(Güç);
lcd.setCursor(0, 0);
lcd.print("V=");
lcd.print(Voltaj);
lcd.print(" ");
lcd.print("I=");
lcd.print(Akım);
lcd.setCursor(0, 1);
lcd.print("P=");
lcd.print(Güç);
gecikme(1000);
}