Sisukord:

DIY võimsuse mõõtmise moodul Arduino jaoks: 9 sammu (piltidega)
DIY võimsuse mõõtmise moodul Arduino jaoks: 9 sammu (piltidega)

Video: DIY võimsuse mõõtmise moodul Arduino jaoks: 9 sammu (piltidega)

Video: DIY võimsuse mõõtmise moodul Arduino jaoks: 9 sammu (piltidega)
Video: Review of 18650 4 channel Lithium Battery Capacity Tester, Charger and Discharge | WattHour 2024, Juuli
Anonim
DIY võimsuse mõõtmise moodul Arduino jaoks
DIY võimsuse mõõtmise moodul Arduino jaoks
DIY võimsuse mõõtmise moodul Arduino jaoks
DIY võimsuse mõõtmise moodul Arduino jaoks
DIY võimsuse mõõtmise moodul Arduino jaoks
DIY võimsuse mõõtmise moodul Arduino jaoks

Tere kõigile, loodan, et teil läheb suurepäraselt! Selles juhendis näitan teile, kuidas tegin selle võimsusmõõturi/ vattmeetri mooduli kasutamiseks Arduino plaadiga. See võimsusmõõtur saab arvutada tarbitava võimsuse ja alalisvoolu koormuse. Koos toitega saab see moodul anda meile ka täpsed pinge ja voolu näitajad. Sellega saab hõlpsalt mõõta madalat pinget (umbes 2 V) ja madalat voolu, kuni 50 mA, veaga mitte üle 20 mA. Täpsus sõltub komponentide valikust vastavalt teie vajadustele.

Tarvikud

  • IC LM358 kahekordne OP-AMP
  • 8 -pin IC alus
  • Shunttakisti (minu puhul 8,6 milliOhms)
  • Takistid: 100K, 10K, 2,2K, 1K (1/2 vatti)
  • Kondensaatorid: 3 * 0,1uF keraamilised kondensaatorid
  • Veroboard või nullplaat
  • Kruviklemmid
  • Jootekolb ja jootekolb
  • Arduino Uno või mõni muu ühilduv tahvel
  • OLED -ekraan
  • Leivapuu juhtmete ühendamine

Samm: nõutavate komponentide kogumine

Nõutavate komponentide kogumine
Nõutavate komponentide kogumine

Selles projektis kasutatakse väga lihtsaid ja hõlpsasti hankitavaid komponente: nende hulka kuuluvad takistid, keraamilised kondensaatorid, operatsioonivõimendi ja prototüüpimiseks kasutatav veriplaat.

Komponentide valik ja väärtus sõltuvad rakenduse tüübist ja võimsuse vahemikust, mida soovite mõõta.

2. samm: tööpõhimõte

Tööpõhimõte
Tööpõhimõte
Tööpõhimõte
Tööpõhimõte
Tööpõhimõte
Tööpõhimõte
Tööpõhimõte
Tööpõhimõte

Toitemooduli töö põhineb kahel vooluahela teooria ja elementaarse elektrienergia kontseptsioonil: pingejaguri kontseptsioon sisendpinge mõõtmiseks ja Ohmi seadus ahelat läbiva voolu arvutamiseks. Me kasutame šundtakistit, et tekitada sellel väga väike pingelangus. See pingelangus on proportsionaalne šundi kaudu voolava vooluga. Seda väikest pinget, kui seda võimendab operatsioonivõimendi, saab kasutada mikrokontrolleri sisendina, mille saab programmeerida meile praeguse väärtuse andmiseks. Operatsioonivõimendit kasutatakse mittepöördva võimendina, kus võimenduse määravad tagasiside väärtused takisti R2 ja R1. Mittepööratava konfiguratsiooni kasutamine võimaldab meil saada võrdlusaluseks ühise aluse. Selleks mõõdetakse vooluringi madalal küljel. Oma rakenduse jaoks olen valinud 46 võimenduse, kasutades tagasisidevõrguna 100K ja 2,2K takistit. Pinge mõõtmiseks kasutatakse pingejaotusahelat, mis jagab sisendpinge proportsionaalselt kasutatava takisti võrguga.

Nii vooluväärtust OP-võimendist kui ka jaotusvõrgu pinge väärtust saab sisestada arduino kahte analoogsisendisse, et saaksime arvutada koormuse tarbitava võimsuse.

Samm: ühendage osad kokku

Osade kokku viimine
Osade kokku viimine
Osade kokku viimine
Osade kokku viimine
Osade kokku viimine
Osade kokku viimine

Alustame oma võimsusmooduli ehitamist, otsustades sisend- ja väljundühenduse kruviklemmide asukoha. Pärast sobivate positsioonide märgistamist jootame kruviklemmid ja šundtakisti oma kohale.

4. samm: osade lisamine pingetundliku võrgu jaoks

Pingeandevõrgu osade lisamine
Pingeandevõrgu osade lisamine
Pingeandevõrgu osade lisamine
Pingeandevõrgu osade lisamine
Pingeandevõrgu osade lisamine
Pingeandevõrgu osade lisamine

Sisendpinge tuvastamiseks kasutan 10K ja 1K pingejaotusvõrku. Lisasin ka pinge silumiseks 1K takistile 0,1 uF kondensaatori. Pingetundevõrk on joodetud sisendterminali lähedale

5. samm: praeguse meelevõrgu osade lisamine

Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine
Praeguse meelevõrgu osade lisamine

Voolu mõõdetakse, arvutades ja võimendades pingelangust šundtakisti vahel, mille takisti võrk on eelnevalt kindlaks määratud. Kasutatakse mittepööratud võimendusrežiimi. Soovitav on hoida jootmisjäljed väikesed, et vältida soovimatut pingelangust.

Samm: järelejäänud ühenduste lõpuleviimine ja ehituse lõpetamine

Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine
Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine
Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine
Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine
Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine
Ülejäänud ühenduste lõpuleviimine ja ehituse lõpetamine

Kui pinge- ja voolutundlikkusvõrgud on ühendatud ja joodetud, on aeg isaste päise tihvtide jootmiseks ning vajalike toite- ja signaaliväljundite ühenduste tegemiseks. Moodul saab toite tavalisest 5 -voldisest tööpingest, mille saame hõlpsalt arduino -plaadilt. Kaks pingeanduri väljundit ühendatakse arduino analoogsisenditega.

Samm: mooduli ühendamine Arduinoga

Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga
Mooduli ühendamine Arduinoga

Kui moodul on valmis, on nüüd aeg ühendada see Arduinoga ja käivitada. Väärtuste nägemiseks olen kasutanud OLED -ekraani, mis kasutas arduinoga suhtlemiseks I2C -protokolli. Ekraanil kuvatavad parameetrid on pinge, vool ja võimsus.

8. samm: projekti kood ja vooluahela skeem

Projekti kood ja vooluahela skeem
Projekti kood ja vooluahela skeem

Olen selles etapis lisanud toite mooduli vooluahela ja koodi (varem olin lisanud koodi sisaldava.ino ja.txt faili, kuid mõne serveri tõrke tõttu oli kood kasutajatele kättesaamatu või loetamatu, nii et kirjutasin kogu koodi selles etapis. Ma tean, et see ei ole hea viis koodi jagamiseks:(). Muutke seda koodi vastavalt oma vajadustele. Loodan, et see projekt oli teile kasulik. Jagage oma tagasisidet kommentaarides. Tervist!

#kaasake

#kaasake

#kaasake

#kaasake

#define OLED_RESET 4 Adafruit_SSD1306 ekraan (OLED_RESET);

ujuk val = 0;

ujukvool = 0;

ujukipinge = 0;

ujukvõimsus = 0;

tühine seadistus () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // initsialiseerida I2C addriga 0x3C (128x32 jaoks) display.display ();

viivitus (2000);

// Puhvri kustutamine.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (VALGE);

Seriaalne algus (9600); // Väärtuste nägemiseks jadamonitoril

}

void loop () {

// võttes keskmise stabiilsete näitude jaoks

jaoks (int i = 0; i <20; i ++) {

vool = vool + analooglugemine (A0);

pinge = pinge + analogRead (A1); }

praegune = (praegune/20); vool = vool * 0,0123 * 5,0; // kalibreerimisväärtus, mida tuleb muuta vastavalt kasutatud komponentidele

pinge = (pinge/20); pinge = pinge * 0,0508 * 5,0; // kalibreerimisväärtus, mida tuleb muuta vastavalt kasutatud komponentidele

võimsus = pinge*vool;

// väärtuste printimine jadamonitorile

Jadajälg (pinge);

Serial.print ("");

Serial.print (praegune);

Serial.print ("");

Serial.println (võimsus);

// väärtuste printimine OLED -ekraanile

display.setCursor (0, 0);

display.print ("Pinge:");

kuva.print (pinge);

display.println ("V");

display.setCursor (0, 10);

display.print ("Praegune:");

display.print (praegune);

display.println ("A");

display.setCursor (0, 20);

display.print ("Toide:");

kuva.print (võimsus);

display.println ("W");

display.display ();

viivitus (500); // värskenduse määranud viivitus

display.clearDisplay ();

}

Soovitan: