Sisällysluettelo:

AC -virranvalvontadataloggeri: 9 vaihetta (kuvien kanssa)
AC -virranvalvontadataloggeri: 9 vaihetta (kuvien kanssa)

Video: AC -virranvalvontadataloggeri: 9 vaihetta (kuvien kanssa)

Video: AC -virranvalvontadataloggeri: 9 vaihetta (kuvien kanssa)
Video: Ноггано ft. Гуф & АК-47 - Тем Кто с Нами 2024, Marraskuu
Anonim
AC -virranvalvontadataloggeri
AC -virranvalvontadataloggeri

Hei kaikki, tervetuloa ensimmäiseen ohjeeseeni! Päivällä olen teollisuuslämmityslaitteita toimittavan yrityksen testiinsinööri, yöllä innokas tekniikan harrastaja ja DIY'er. Osa työstäni liittyy lämmittimien suorituskyvyn testaamiseen, ja tällä kertaa halusin pystyä seuraamaan 8 laitteen RMS -virrankulutusta 1000 tunnin aikana ja kirjaamaan tiedot kaavioon tuloksista myöhemmin. Minulla on pääsy dataloggeriin, mutta se oli jo sitoutunut toiseen projektiin ja tarvitsin jotain edullista, joten päätin yhdistää tämän perusdataloggerin.

Projekti käyttää Arduino Unoa analogisten antureiden lukemiseen analogisesta digitaalimuuntimeen (ADC) ja tallentaa tiedot aikaleimalla SD -kortille. Piirien suunnitteluun liittyy paljon teoriaa ja laskentaa, joten sen sijaan, että selittäisin aivan kaiken, näytän vain kuinka se tehdään. Jos olet kiinnostunut näkemään FULL -osuman, kerro siitä minulle kommenteissa, niin kerron lisää.

HUOMAUTUS:

Minulla on ollut paljon kysymyksiä True RMS -laskelmista. Tämä laite käyttää puoliaallon tasasuuntaajaa aallon huipun kaappaamiseen, joka voidaan sitten kertoa 0,707: llä, jotta saadaan RMS. Näin ollen se antaa tarkan tuloksen vain lineaarisilla kuormituksilla (eli mitattava virta on puhdas siniaalto). Epälineaariset tarvikkeet tai kuormat, jotka antavat kolmion, suorakulmaisen tai minkä tahansa muun ei-sinus-aaltomuodon, eivät anna todellista tehollisarvolaskelmaa. Tämä laite mittaa vain vaihtovirtaa, sitä ei ole suunniteltu mittaamaan jännitettä, joten se ei laske tai mittaa tehokerrointa. Katso muut ohjeet, kuinka luoda tehokerroinmittari, jota voidaan käyttää tähän. Monet ihmiset ovat myös sanoneet, että suora AC -liitäntä, jossa on 2,5 V: n keskilinja, on parempi, mutta tämä aiheuttaa komplikaatioita, koska siihen liittyy riittävän nopea digitaalinen näytteenottotaajuus, vankka keskiarvo/tietojen tasoitus jne., Ja tästä aiheutuva epävarmuus on paljon suurempi kuin mittaaminen raaka arvo. Henkilökohtaisesti pidän laitteistoratkaisuista ja yksinkertaisemmasta koodista mahdollisuuksien mukaan, joten en ole kiinnostunut tästä menetelmästä. Tarkkuuden kannalta mielestäni tämä on paljon parempi kuin jälkimmäinen, ja näet myöhemmin tuloksissani, että regressiokerroin on lähellä 1,0 kalibroinnin jälkeen.

Vaihe 1: Nykyiset muuntajat

Nykyiset muuntajat
Nykyiset muuntajat
Nykyiset muuntajat
Nykyiset muuntajat

Tässä projektissa käytetään virtamuuntajaa HMCT103C 5A/5MA. Sen kierrosuhde on 1: 1000, mikä tarkoittaa jokaista 5A virtaa, joka kulkee johtimen läpi, 5 mA virtaa CT: n läpi. Vastus on kytkettävä CT: n kahden liittimen poikki, jotta jännite voidaan mitata sen yli. Tässä tapauksessa käytin 220 ohmin vastusta, joten käyttämällä Ohmin lakia V = IR, CT: n lähtö on 1,1 volttia AC jokaista 5 mA: n CT -virtaa kohti (tai jokaista 5A mitattua virtaa). CT: t juotettiin nauhalevyyn vastuksen ja jonkin instrumentin johdon kanssa lentävien johtojen tekemiseksi. Päätin johtimet 3,5 mm: n urosliittimillä.

Tässä on virtamuuntajan tekninen esite

Tuotetiedot

Vaihe 2: Signaalin käsittely

Signaalin hoito
Signaalin hoito
Signaalin hoito
Signaalin hoito

CT: n signaali on heikko, joten sitä on vahvistettava. Tätä varten juotin yhteen yksinkertaisen vahvistinpiirin käyttämällä uA741 -kaksoiskisko -op -vahvistinta. Tässä tapauksessa vahvistus asetetaan siten arvoon 150 käyttäen kaavaa Rf / Rin (150k / 1k). Kuitenkin vahvistimen lähtösignaali on edelleen AC, op-vahvistimen lähdön diodi katkaisee AC: n negatiivisen puolijakson ja siirtää positiivisen jännitteen 0,1uF-kondensaattoriin tasoittaa aalto aaltoilevaksi DC-signaaliksi. Alla on osat, jotka muodostavat piirin:

  • V1-Tämä on mielivaltainen tässä kaaviossa, se yksinkertaisesti edustaa signaalijännitettä, joka syötetään op-vahvistimen ei-invertoivaan tuloon.
  • R1 - Tämä tunnetaan takaisinkytkentävastuksena (Rf) ja se on asetettu arvoon 150k
  • R2 - Tätä kutsutaan tulovastaksi (Rin) ja se on asetettu arvoon 1k
  • 741 - Tämä on uA741 -integroitu piiri
  • VCC - positiivinen syöttökisko +12V
  • VEE - negatiivinen syöttökisko -12V
  • D1 - Onko haf -aallon tasasuuntaussignaalidiodi 1N4001
  • C3 - Tämä liitin pitää DC -signaalin tietyn ajan

Kuvassa 2 näet, että se on koottu Veroboardilla ja tinatulla kuparilangalla. 4 reikää porattiin piirilevyjakoille, jotta ne voitaisiin pinota (koska kanavia on kahdeksan, vahvistinpiirejä on oltava yhteensä kahdeksan.

Vaihe 3: Virtalähde

Virtalähde
Virtalähde
Virtalähde
Virtalähde
Virtalähde
Virtalähde

Jos et halua tehdä sitä tyhjästä, voit ostaa levyn valmiiksi koottuna Kiinasta, kuten yllä olevassa kuvassa, mutta tarvitset silti 3VA-muuntajan (alenna 240 V-12 V). Kuvassa oleva maksoi minulle noin 2,50 puntaa

Projektin virtalähteeksi päätin tehdä oman kaksikiskoisen 12VDC -virtalähteen. Tämä oli kätevää, koska op -vahvistimet vaativat +12V, 0V, -12V, ja Arduino Uno voi vastaanottaa minkä tahansa virran jopa 14 VDC. Alla on osat, jotka muodostavat piirin:

  • V1 - Tämä tarkoittaa syöttöä pistorasiasta 240 V 50 Hz
  • T1 - Tämä on pieni 3VA -muuntaja, jonka valehtelin. On tärkeää, että muuntajassa on keskiasento toisiossa, joka kytketään 0 V: iin eli maahan
  • D1 - D4 - Tämä on täyden aallon tasasuuntaaja, joka käyttää 1N4007 -diodeja
  • C1 ja C2 - 35 V elektrolyyttikondensaattorit 2200uF (on oltava 35 V, koska positiivisen ja negatiivisen välinen potentiaali saavuttaa 30 V)
  • U2 - LM7812 on 12 V: n positiivinen jännitesäädin
  • U3 - LM7912, on 12 V: n negatiivinen jännitesäädin (huomioi 78xx ja 79xx IC: n nastan erot!)
  • C3 & C4 - 100nF Tasoittavat kondensaattorit 25V elektrolyytti
  • C5 ja C6 - 10uF keraamiset levykondensaattorit

Juotin komponentit nauhalle ja liitin pystysuorat kiskot paljaalla yksisäikeisellä tinatulla kuparilangalla. Yllä olevassa kuvassa 3 näkyy DIY -virtalähteeni, valitettavasti kuvassa on paljon hyppyjä!

Vaihe 4: Analogiset digitaalimuuntimet

Analoginen digitaalimuunnin
Analoginen digitaalimuunnin
Analoginen digitaalimuunnin
Analoginen digitaalimuunnin

Arduino Unossa on jo sisäänrakennettu 10-bittinen ADC, mutta analogisia tuloja on vain 6. Siksi päätin käyttää kahta ADC-katkaisua 16-bittisen ADS1115: n kanssa. Tämä mahdollistaa 2^15 = 32767 bittiä edustamaan jännitetasoja 0-4,096V (4,096V on katkaisijan käyttöjännite), mikä tarkoittaa, että jokainen bitti edustaa 0,000125V! Lisäksi koska se käyttää I2C -väylää, se tarkoittaa, että voidaan käsitellä jopa 4 ADC: tä, jolloin haluttaessa voidaan valvoa jopa 16 kanavaa.

Olen yrittänyt havainnollistaa yhteyksiä Fritzingin avulla, mutta rajoitusten vuoksi ei ole mukautettuja osia signaaligeneraattorin havainnollistamiseksi. Violetti johto on kytketty vahvistinpiirin lähtöön, sen vieressä oleva musta johto osoittaa, että kaikilla vahvistinpiireillä on oltava yhteinen maa. Joten olen käyttänyt leipälautaa havainnollistamaan, miten olen tehnyt solmukohdat. Kuitenkin todellinen projektini on breakouts istuu naaras otsikot, juotettu Veroboard, ja kaikki tie pistettä on juotettu päälle veroboard.

Vaihe 5: Mikro -ohjain

Mikro -ohjain
Mikro -ohjain

Kuten edellä mainittiin, valitsimani ohjain oli Arduino Uno, tämä oli hyvä valinta, koska siinä on paljon aluksella ja sisäänrakennettuja toimintoja, jotka muuten olisi tarpeen rakentaa erikseen. Lisäksi se on yhteensopiva useiden erikoisrakenteisten "kilpien" kanssa. Tässä yhteydessä tarvitsin reaaliaikaisen kellon kaikkien tulosten aikaleimaamiseen ja SD -kortin kirjoittajaa tulosten tallentamiseen.csv- tai.txt -tiedostoon. Onneksi Arduinon tiedonkeruukilvessä on molemmat kilpi, joka työntää sovitukset alkuperäiselle Arduino-levylle ilman ylimääräistä juottamista. Kilpi on yhteensopiva RTClib- ja SD -korttikirjastojen kanssa, joten erikoiskoodia ei tarvita.

Vaihe 6: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Käytin 5 mm: n ridgid -keskipitkän/pienitiheyksisen PVC: n (joskus tunnetaan myös vaahtolevynä) ruuvaamaan suurimman osan komponenteistani ja leikkaamaan sen sopivan kokoiseksi käsityöveitsellä. Kaikki komponentit on rakennettu modulaarisesti prototyyppiä varten, koska se mahdollistaa yksittäisten osien poistamisen, jos asiat menevät pieleen, mutta se ei ole yhtä tehokas tai siisti kuin syövytetty piirilevy (jatkotyö), mikä tarkoittaa myös paljon hyppyjohtimia osat.

Vaihe 7: Koodin lataaminen

Lataa koodi Arduinolle tai hanki koodi Github -repostani

github.com/smooth-jamie/datalogger.git

Vaihe 8: Kalibrointi

Kalibrointi
Kalibrointi
Kalibrointi
Kalibrointi
Kalibrointi
Kalibrointi

Teoreettisesti mitattu virta johtuu useista asioista yhdessä:

Mitatut ampeerit = ((((a *0,45)/150)/(1,1/5000))/1000 jossa 'a' on vahvistimen signaalijännite

0,45 on vahvistinpiirin Vout: n rms-arvo, 150 on op-amp-vahvistus (Rf / Rin = 150k / 1k), 1,1 on CT: n täysimittainen jännitelähtö, kun mitatut ampeerit ovat 5A, 5000 on yksinkertaisesti 5A mA, ja 1000 on muuntajan kierrosten määrä. Tämä voidaan yksinkertaistaa seuraavasti:

Mitatut ampeerit = (b * 9,216) / 5406555 jossa b on ADC: n raportoitu arvo

Tämä kaava testattiin käyttämällä Arduino 10-bittistä ADC: tä ja ero yleismittariarvojen ja Arduino-generoitujen arvojen välillä havaittiin 11%, mikä on hyväksyttävä poikkeama. Suositeltava kalibrointimenetelmäni on tallentaa ADC -arvo vs nykyinen yleismittarille laskentataulukkoon ja piirtää kolmannen kertaluvun polynomi. Tästä kuutiokaavaa voidaan käyttää parempien tulosten saamiseen mitatun virran laskemisessa:

(ax^3) + (bx^2) + (cx^1) + d

Kerroimet a, b, c ja d lasketaan Excelissä yksinkertaisesta tietotaulukosta, x on ADC -arvo.

Tietojen saamiseksi käytin keraamista 1k: n muuttuvaa vastusta (reostaattia) ja 12v: n muuntajaa vähentämään verkkovirtajännitettä 240 V: sta, mikä antoi minulle luoda vaihtelevan virtalähteen 13 mA - 100 mA. Mitä enemmän datapisteitä kerätään, sitä parempi, mutta ehdotan 10 datapisteen keräämistä tarkan trendin saamiseksi. Liitteenä oleva Excel -malli laskee kertoimet puolestasi, ja sinun tarvitsee vain syöttää ne arduino -koodiin

Koodin rivillä 69 näet, mihin kerroimet syötetään

float chn0 = (((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521))));

joka on sama kuin Excel -tiedoston taulukon 1 kaava:

y = 7E-13x3-4E-08x2 + 0,004x + 0,663

Missä x = minkä tahansa kanavan kalibroitava adc0

Vaihe 9: Viimeistele

Viedä loppuun
Viedä loppuun
Viedä loppuun
Viedä loppuun
Viedä loppuun
Viedä loppuun
Viedä loppuun
Viedä loppuun

Laita se projektin koteloon. Lopetin virtalähteen kytkimellä, joka kytkee kaiken päälle/pois virtalähteestä, ja IEC "kuva 8" -liittimen verkkotulolle. Kierrä kaikki yhteen ja olet valmis testaamaan.

Lisää työtä

Koko projekti pilkottiin melko nopeasti, joten siinä on paljon parantamisen varaa, syövytetty piiri, parempia komponentteja. Ihannetapauksessa koko asia olisi syövytetty tai juotettu FR4: lle pikkuhiljaa. Kuten sanoin aiemmin, siellä on paljon asioita, joita en ole maininnut, mutta jos on jotain erityistä, jonka haluat tietää, kerro minulle kommenteissa ja päivitän ohjeen!

Päivitys 18.12.2016

Olen nyt lisännyt 16x2 nestekidenäytön käyttämällä I2C "reppua" neljän ensimmäisen kanavan seurantaan, lisään toisen seuraamaan neljää viimeistä, kun se saapuu postin kautta.

Laajuus

Tämän projektin mahdollistivat kaikki Arduino -luonnoksessani käytettyjen kirjastojen kirjoittajat, mukaan lukien DS3231 -kirjasto, Adafruit ADS1015 -kirjasto ja Arduino SD -kirjasto

Suositeltava: