2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Prietaisas gali būti naudojamas suvartotai galiai matuoti. Ši grandinė taip pat gali veikti kaip voltmetras ir ampermetras įtampai ir srovei matuoti.
Prekės
Techninės įrangos komponentai
Arduino Uno
LCD 16 X 2
LM 358 stiprintuvas
7805 Nutekėjimo reguliatorius
Potenciometras 10k om
0,1 µF
Rezistorius 10k om
Rezistorius, 20 kohm
Rezistorius 2.21k om
Rezistorius, 0,22 omų
Bandymo apkrova
Jungiamieji laidai
Programinės įrangos komponentai:
„Arduino IDE“
1 žingsnis: „Arduino Wattmeter“veikimas
Sukūrę savo skaitiklius ne tik sumažinsite bandymo išlaidas, bet ir suteiksite mums galimybę palengvinti bandymų procesą.
Darbas:
Iš jutiklio dalies yra dvi sekcijos, patikimos matuoti įtampą ir srovę. Įtampa matuojama naudojant įtampos daliklio grandinę, naudojant 10KΩ ir 2,2KΩ rezistorių.
Šių rezistorių pagalba galite lengvai išmatuoti įtampą iki 24 V. Šie rezistoriai taip pat padeda mums nustatyti įtampos diapazoną iki 0V - 5V, kuris yra įprastas diapazonas, kuriame veikia „Arduino“.
Norėdami išmatuoti srovę, turime pakeisti dabartines vertes į įprastas įtampos vertes. Pagal Omo įstatymą įtampos kritimas per apkrovą yra proporcingas srovei.
Taigi, atsižvelgiant į apkrovą, yra sumontuotas mažas šunto rezistorius. Įvertinę šio rezistoriaus įtampą, galime apskaičiuoti srovę. Mes naudojome „LM358 Op-Amp“neinvertuojančio stiprintuvo režimu, kad padidintume „Arduino“pateiktas vertes.
Įtampos skirstytuvo tinklas grįžtamojo ryšio valdymui apima a20KΩ rezistorių ir 1KΩ rezistorių. Šie rezistoriai padidina maždaug 21.
Sužinokite daugiau apie „IoT“kursus, kurie padės sukurti individualius daiktų interneto sprendimus.
2 veiksmas: paleiskite kodą
#įtraukti
int Read_Voltage = A1;
int Skaitymo_srovė = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
„LiquidCrystal“LCD (rs, en, d4, d5, d6, d7);
plūdės įtampa = 0,0;
plūdės srovė = 0,0;
plūdės galia = 0,0;
negaliojanti sąranka ()
{
LCD. pradžia (16, 2);
Serial.begin (9600);
lcd.print („Arduino“);
lcd.setCursor (0, 1);
lcd.print („vatmetras“);
vėlavimas (2000 m.);
lcd.clear ();
}
tuštumos kilpa ()
{
Įtampa = analogRead (Read_Voltage);
Dabartinis = analogRead (Read_Current);
Įtampa = įtampa * (5,0/1023,0) * 6,46;
Srovė = srovė * (5,0/1023,0) * 0,239;
Serial.println (įtampa); Serial.println (Dabartinis);
Galia = įtampa * srovė;
Serial.println (galia);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (įtampa);
lcd.print ("");
lcd.print ("I =");
lcd.print (dabartinis);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (galia);
vėlavimas (1000);
}