Sisällysluettelo:

DIY -virranmittausmoduuli Arduinolle: 9 vaihetta (kuvilla)
DIY -virranmittausmoduuli Arduinolle: 9 vaihetta (kuvilla)

Video: DIY -virranmittausmoduuli Arduinolle: 9 vaihetta (kuvilla)

Video: DIY -virranmittausmoduuli Arduinolle: 9 vaihetta (kuvilla)
Video: Как зашить ДЫРКУ на куртке, джинсах, штанах, носке, футболке, чтобы не было видно 2024, Marraskuu
Anonim
DIY -virranmittausmoduuli Arduinolle
DIY -virranmittausmoduuli Arduinolle
DIY -virranmittausmoduuli Arduinolle
DIY -virranmittausmoduuli Arduinolle
DIY -virranmittausmoduuli Arduinolle
DIY -virranmittausmoduuli Arduinolle

Hei kaikki, toivottavasti teillä menee hyvin! Tässä ohjeessa näytän sinulle, kuinka tein tämän tehomittari/ wattimittarimoduulin käytettäväksi Arduino -levyn kanssa. Tämä tehomittari voi laskea DC -kuormituksen kuluttaman tehon. Virran lisäksi tämä moduuli voi myös antaa meille tarkat jännitteen ja virran lukemat. Se voi helposti mitata pieniä jännitteitä (noin 2 V) ja pieniä virtauksia, jopa 50 mA ja virheen ollessa enintään 20 mA. Tarkkuus riippuu komponenttien valinnasta tarpeidesi mukaan.

Tarvikkeet

  • IC LM358 dual OP-AMP
  • 8 -nastainen IC -pohja
  • Shuntivastus (8,6 milliOhms minun tapauksessani)
  • Vastukset: 100K, 10K, 2,2K, 1K (1/2 wattia)
  • Kondensaattorit: 3 * 0,1uF keraamiset kondensaattorit
  • Veroboard tai nollataulu
  • Ruuviliittimet
  • Juotin ja juote
  • Arduino Uno tai mikä tahansa muu yhteensopiva levy
  • OLED -näyttö
  • Leipäleipäjohtojen liittäminen

Vaihe 1: Tarvittavien komponenttien kerääminen

Vaadittujen komponenttien kerääminen
Vaadittujen komponenttien kerääminen

Tässä projektissa käytetään erittäin yksinkertaisia ja helposti hankittavia komponentteja: niihin kuuluvat vastukset, keraamiset kondensaattorit, operatiivinen vahvistin ja veroboot prototyyppien laatimiseksi.

Komponenttien valinta ja arvo riippuvat sovellustyypistä ja mitattavasta tehoalueesta.

Vaihe 2: Toimintaperiaate

Toimintaperiaate
Toimintaperiaate
Toimintaperiaate
Toimintaperiaate
Toimintaperiaate
Toimintaperiaate
Toimintaperiaate
Toimintaperiaate

Tehomoduulin toiminta perustuu kahteen piiriteorian ja perussähkön käsitteeseen: Jännitteenjakajakonsepti tulojännitteen mittaamiseen ja Ohmin laki piirin läpi kulkevan virran laskemiseksi. Käytämme shunttivastusta luomaan hyvin pieni jännitehäviö sen yli. Tämä jännitehäviö on verrannollinen shuntin läpi kulkevan virran määrään. Tätä pientä jännitettä, kun sitä vahvistetaan operaatiovahvistimella, voidaan käyttää tulona mikrokontrolleriin, joka voidaan ohjelmoida antamaan meille nykyinen arvo. vastus R2 ja R1. Käyttämällä ei -invertoivaa kokoonpanoa voimme saada yhteisen maan mittareferenssiksi. Tätä varten virtaa mitataan piirin matalalta puolelta. Sovellukselleni olen valinnut 46 vahvistuksen käyttämällä 100K- ja 2,2K -vastusta palauteverkkona. Jännitteen mittaus tehdään käyttämällä jännitteenjakajapiiriä, joka jakaa tulojännitteen suhteessa käytettyyn vastusverkkoon.

Sekä OP-vahvistimen nykyinen arvo että jakajaverkon jännitearvo voidaan syöttää kahteen arduinon analogiseen tuloon, jotta voimme laskea kuorman kuluttaman tehon.

Vaihe 3: Osien kokoaminen yhteen

Osien yhdistäminen
Osien yhdistäminen
Osien yhdistäminen
Osien yhdistäminen
Osien yhdistäminen
Osien yhdistäminen

Aloitetaan tehomoduulin rakentaminen päättämällä tulo- ja lähtöliitännän ruuviliittimien sijainti. Kun olet merkinnyt sopivat asennot, juotamme ruuviliittimet ja shuntivastuksen paikoilleen.

Vaihe 4: Osien lisääminen jänniteanturiverkkoon

Osien lisääminen jänniteanturiverkkoon
Osien lisääminen jänniteanturiverkkoon
Osien lisääminen jänniteanturiverkkoon
Osien lisääminen jänniteanturiverkkoon
Osien lisääminen jänniteanturiverkkoon
Osien lisääminen jänniteanturiverkkoon

Tulojännitteen tunnistamiseen käytän 10K ja 1K jännitteenjakajaverkkoa. Lisäsin myös 0,1 uF: n kondensaattorin 1K -vastuksen yli jännitteiden tasoittamiseksi.

Vaihe 5: Osien lisääminen nykyiseen tunnistusverkkoon

Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen
Nykyisen aistiverkoston osien lisääminen

Virtaa mitataan laskemalla ja vahvistamalla jännitehäviötä shuntivastuksen yli ennalta määritetyllä vahvistuksella, jonka vastusverkko asettaa. Käytetään ei -invertoivaa vahvistustilaa. On toivottavaa pitää juotosjäljet pieninä, jotta vältetään ei -toivottu jännitehäviö.

Vaihe 6: Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely

Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely
Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely
Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely
Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely
Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely
Jäljellä olevien yhteyksien viimeistely ja rakenteen viimeistely

Kun jännite- ja virtatunnistusverkot on kytketty ja juotettu, on aika juottaa urospuoliset nastat ja tehdä tarvittavat liitännät teho- ja signaalilähtöihin. Moduuli saa virtansa 5 voltin normaalista käyttöjännitteestä, jonka voimme helposti saada arduino -kortilta. Kaksi jänniteantulähtöä kytketään arduinon analogisiin tuloihin.

Vaihe 7: Moduulin yhdistäminen Arduinon kanssa

Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa
Moduulin yhdistäminen Arduinon kanssa

Kun moduuli on valmis, nyt on vihdoin aika yhdistää se Arduinoon ja saada se käyntiin. Näyttääkseni arvot olen käyttänyt OLED -näyttöä, joka käytti I2C -protokollaa kommunikoidakseen arduinon kanssa. Näytössä näkyvät parametrit ovat jännite, virta ja teho.

Vaihe 8: Projektikoodi ja piirikaavio

Projektikoodi ja piirikaavio
Projektikoodi ja piirikaavio

Olen liittänyt virtamoduulin kytkentäkaavion ja koodin tässä vaiheessa (aiemmin olin liittänyt koodin sisältävän.ino- ja.txt -tiedoston, mutta joidenkin palvelinvirheiden vuoksi koodi ei ollut käytettävissä tai lukematon käyttäjille, joten kirjoitin koko koodi tässä vaiheessa. Tiedän, että se ei ole hyvä tapa jakaa koodi:(). Voit vapaasti muokata tätä koodia tarpeidesi mukaan. Toivon, että tämä projekti oli hyödyllinen sinulle. Jaa palautteesi kommenteissa. Heippa!

#sisältää

#sisältää

#sisältää

#sisältää

#define OLED_RESET 4 Adafruit_SSD1306 -näyttö (OLED_RESET);

kelluva val = 0;

kelluva virta = 0;

kelluva jännite = 0;

kelluva teho = 0;

void setup () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // alustaminen I2C -lisäosalla 0x3C (128x32) näyttö. display ();

viive (2000);

// Tyhjennä puskuri.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (VALKOINEN);

Sarja.alku (9600); // Sarjamonitorin arvojen näyttäminen

}

void loop () {

// ottaen keskiarvo vakaille lukemille

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

nykyinen = virta + analoginen luku (A0);

jännite = jännite + analoginen luku (A1); }

nykyinen = (nykyinen/20); nykyinen = nykyinen * 0,0123 * 5,0; // kalibrointiarvo, muutettava käytettyjen komponenttien mukaan

jännite = (jännite/20); jännite = jännite * 0,0508 * 5,0; // kalibrointiarvo, muutettava käytettyjen komponenttien mukaan

teho = jännite*virta;

// arvojen tulostaminen sarjamonitoriin

Sarjajälki (jännite);

Serial.print ("");

Serial.print (nykyinen);

Serial.print ("");

Sarja.println (teho);

// tulostetaan arvot OLED -näytölle

display.setCursor (0, 0);

display.print ("Jännite:");

näyttö. tulostus (jännite);

display.println ("V");

display.setCursor (0, 10);

display.print ("Nykyinen:");

display.print (nykyinen);

display.println ("A");

display.setCursor (0, 20);

display.print ("Virta:");

näyttö. tulostus (teho);

display.println ("W");

display.display ();

viive (500); // viiveen asettama virkistystaajuus

display.clearDisplay ();

}

Suositeltava: