- Virtamuuntaja
- Kuinka nykyinen muuntaja toimii?
- Nykyinen muuntajarakenne
- Virtamuuntajan suhde
- Nykyinen muuntajan virhe
- Kuinka vähentää virhettä nykyisessä muuntajassa?
- Takaisin virtamuuntajan käännössuhteen laskeminen
- Kuormitusvastus
- Taakka-vastus
- Sopivan rasitusvastuksen koon laskeminen
- Tarvittavat komponentit
- Piirikaavio
- Virran mittauspiirin rakenne
- Arduino-koodi virran mittaamiseen
- Piirin testaus
- Lisäparannuksia
Virtamuuntaja on eräänlainen instrumentaalinen muuntaja, joka on erityisesti suunniteltu vaihtamaan vaihtovirtaa toissijaisessa käämissään, ja tuotetun virran määrä on suoraan verrannollinen ensiökäämin virtaan. Tämän tyyppinen virtamuuntaja on suunniteltu mittaamaan näkymättömästi suurjännitealijärjestelmän virtaa tai jos järjestelmän läpi virtaa suuri määrä virtaa. Virtamuuntajan tehtävänä on muuntaa suuri virtamäärä pienemmäksi virraksi, joka voidaan helposti mitata mikro-ohjaimella tai analogisella mittarilla. Selitimme aiemmin virtamittausta virtamuuntajalla erityyppisissä virran tunnistustekniikoissa.
Täällä me oppia tätä virranmittaus tekniikka yksityiskohtaisesti ja johdottaa virtamuuntajaa mitata vaihtovirta avulla, joka Arduino. Opimme myös määrittää kierrosten suhde tuntemattoman virtamuuntajan.
Virtamuuntaja
Kuten aiemmin mainitsin, virtamuuntaja on muuntaja, joka on suunniteltu mittaamaan virtaa. Edellä olevaa kahta muuntajaa, jotka minulla on tällä hetkellä, kutsutaan ikkunatyyppisiksi virtamuuntajiksi tai yleisesti tunnetuiksi ytimen tasapainomuuntajiksi.
Kuinka nykyinen muuntaja toimii?
Virtamuuntajan perusperiaate on sama kuin jännitemuuntaja, samoin kuin jännitemuuntaja, virtamuuntaja koostuu myös ensiökäämästä ja toissijaisesta käämästä. Kun vaihtovirta kulkee muuntajan ensiökäämin läpi, syntyy vaihtelevaa magneettivuotoa, joka indusoi vaihtovirtaa toissijaisessa käämityksessä tässä vaiheessa, voit sanoa sen olevan melkein sama kuin jännitemuuntaja, jos ajattelet tässä olevan eroa.
Yleensä virtamuuntaja on aina oikosulkutilassa kuormitusvastuksen avulla, myös sekundäärikäämityksessä virtaava virta riippuu vain johtimen läpi kulkevasta ensiövirrasta.
Nykyinen muuntajarakenne
Paremman ymmärryksen saamiseksi olen hajonnut yhden virtamuuntajistani, jonka näet yllä olevasta kuvasta.
Kuvasta voidaan nähdä, että hyvin ohut lanka on kiedottu toroidisen ydinmateriaalin ympärille ja joukko johtoja tulee ulos muuntajasta. Esikäämi on vain yksi lanka, joka on kytketty sarjaan kuorman kanssa ja kuljettaa kuorman läpi kulkevan irtovirran.
Virtamuuntajan suhde
Sijoittamalla lanka virtamuuntajan ikkunaan voimme muodostaa yhden silmukan ja kierrosta tulee 1: N.
Kuten minkä tahansa muun muuntajan, virtamuuntajan on täytettävä alla esitetty amp-käännössuhdeyhtälö.
TR = Np / Ns = Ip / Is
Missä, TR = Trans-suhde
Np = ensisijaisten käännösten lukumäärä
Ns = toissijaisten käännösten lukumäärä
Ip = virta primäärikäämityksessä
Is = virta toissijaisessa käämityksessä
Toissijaisen virran löytämiseksi järjestä yhtälö uudelleen
Is = Ip x (Np / NS)
Kuten yllä olevasta kuvasta näet, muuntajan ensiökäämi koostuu yhdestä käämästä ja muuntajan toisiokäämi koostuu tuhansista käämeistä, jos oletetaan, että ensiökäämin läpi kulkee 100A virtaa, toissijainen virta on 5A. Joten primäärisen ja sekundaarisen välisestä suhteesta tulee 100A - 5A tai 20: 1. Joten voidaan sanoa, että ensiövirta on 20 kertaa suurempi kuin toisiovirta.
Merkintä! Huomaa, että nykyinen suhde ei ole sama kuin käännössuhde.
Nyt kaikki perusteoriat ovat poissa tieltä, voimme kääntää keskittymisemme takaisin kämmenmuuntajan kääntösuhteen laskemiseen.
Nykyinen muuntajan virhe
Jokaisessa piirissä on joitain virheitä. Virtamuuntajat eivät ole erilaisia; virtamuuntajassa on useita virheitä. Jotkut niistä on kuvattu alla
Suhde virhe nykyisessä muuntajassa
Virtamuuntajan ensiövirta ei ole täsmälleen yhtä suuri kuin toisiovirta kerrottuna kierrosluvulla. Muuntajan ydin kuluttaa osan virrasta saadakseen sen viritystilaan.
Vaihekulmavirhe virtamuuntajassa
Ihanteelliselle CT: lle ensisijainen ja sekundäärinen virtavektori on nolla. Mutta todellisessa virtamuuntajassa on aina ero, koska ensiö on toimitettava viritysvirta ytimeen ja siellä on pieni vaihe-ero.
Kuinka vähentää virhettä nykyisessä muuntajassa?
Paremman suorituskyvyn saavuttamiseksi on aina tarpeen vähentää virheitä järjestelmässä. Joten alla olevilla vaiheilla voidaan saavuttaa se
- Käyttämällä ydintä, jolla on suuri läpäisevyys ja alhaisen hystereesimagneettisen materiaalin.
- Kuormitusvastuksen arvon on oltava hyvin lähellä laskettua arvoa.
- Toissijaisen sisäistä impedanssia voidaan alentaa.
Takaisin virtamuuntajan käännössuhteen laskeminen
Testiasetukset on esitetty yllä olevassa kuvassa, jota olen käyttänyt selvittämään käännösten suhteen.
Kuten olen aiemmin maininnut, omistamallani virtamuuntajalla (CT) ei ole spesifikaatiota tai osanumeroa vain siksi, että pelastin ne rikkoutuneesta kotitaloussähkömittarista. Joten tässä vaiheessa meidän on tiedettävä kääntösuhde, jotta Burden Resistor -arvo voidaan asettaa oikein, muuten järjestelmään otetaan käyttöön kaikenlaisia asioita, joista puhun tarkemmin myöhemmin artikkelissa.
Ohmin lain avulla käännösten suhde voidaan helposti selvittää, mutta ennen sitä minun on mitattava iso 10 W, 1 K vastus, joka toimii piirin kuormana, ja minun on myös hankittava mielivaltainen taakavastus selvittää käännösten suhde.
Kuormitusvastus
Taakka-vastus
Yhteenveto kaikista komponentin arvoista testauksen aikana
Tulojännite Vin = 31,78 V
Kuormitusvastus RL = 1,0313 KΩ
Kuormituksen vastus RB = 678,4 Ω
Lähtöjännite Vout = 8,249 mV tai 0,008249 V
Kuormitusvastuksen läpi virtaava virta on
I = Vin / RL I = 31,78 / 1,0313 = 0,03080A tai 30,80 mA
Joten nyt tiedämme tulovirran, joka on 0,03080A tai 30,80 mA
Selvitetään lähtövirta
I = Vout / RB I = 0,008249 / 678,4 = 0,00001215949A tai 12,1594 uA
Nyt käännössuhteen laskemiseksi meidän on jaettava ensisijainen virta toissijaiseen virtaan.
Kääntösuhde n = ensiövirta / toissijainen virta n = 0,03080 / 0,0000121594 = 2533,1972
Joten virtamuuntaja koostuu 2500 kierroksesta (pyöristysarvo)
Merkintä! Huomaa, että virheet johtuvat enimmäkseen jatkuvasti muuttuvasta tulojännitteestä ja yleismittarin toleranssista.
Sopivan rasitusvastuksen koon laskeminen
Tässä käytetty CT on nykyinen ulostulotyyppi. Joten virran mittaamiseksi se on muunnettava jännitetyypiksi. Tämä artikkeli openenergymonitor-verkkosivustolla antaa hyvän idean siitä, miten voimme tehdä sen, joten aion seurata artikkelia
Taakavastus (ohmia) = (AREF * CT TURNS) / (2√2 * enimmäisvirta)
Missä, AREF = ADS1115-moduulin analoginen vertailujännite, joka on asetettu 4,096 V: iin.
CT TURNS = sekundaarikierrosten lukumäärä, jonka olemme aiemmin laskeneet.
Suurin ensiövirta = suurin ensiövirta, joka kulkee CT: n läpi.
Merkintä! Jokaisen CT: n suurin virraluokka ylittää kyseisen luokituksen johtaa ytimen kyllästymiseen ja lopulta lineaarisuusvirheisiin, jotka johtavat mittausvirheeseen
Merkintä! Kotitalouden energiamittarin maksimivirta on 30 A, joten aion saavuttaa tämän arvon.
Taakavastus (ohmia) = (4,096 * 2500) / (2√2 * 30) = 120,6 Ω
120,6Ω ei ole yleinen arvo, siksi aion käyttää kolmea vastusta sarjaan saadaksesi 120Ω vastusarvon. Yhdistettyään vastukset CT: hen tein joitain testejä laskeaksesi suurimman lähtöjännitteen CT: stä.
Testin jälkeen havaitaan, että jos 1mA virta syötetään virtamuuntajan ensiö läpi, lähtö oli 0,0488mV RMS. Sen avulla voimme laskea, jos 30A virta kulkee CT: n läpi, lähtöjännite on 30000 * 0,0488 = 1,465 V.
Nyt tehdyistä laskelmista, olen asettanut ADC voitto on 1x voitto, joka on +/- 4.096V, joka antaa meille 0.125mV täysimittainen resoluutio. Sen avulla voimme laskea minimivirran, joka voidaan mitata tällä asetuksella. Mikä osoittautui 3 mA: ksi, koska ADC-tarkkuudeksi oli asetettu 0,125 mV.
Tarvittavat komponentit
Kirjoita kaikki komponentit ilman taulukkoa
Sl. Ei |
Osat |
Tyyppi |
Määrä |
1 |
CT |
Ikkunan tyyppi |
1 |
2 |
Arduino Nano |
Yleinen |
1 |
3 |
AD736 |
IC |
1 |
4 |
ADS1115 |
16-bittinen ADC |
1 |
5 |
LMC7660 |
IC |
1 |
6 |
120Ω, 1% |
Vastus |
1 |
7 |
10uF |
Kondensaattori |
2 |
8 |
33uF |
Kondensaattori |
1 |
9 |
Leipälauta |
Yleinen |
1 |
10 |
Neulalangat |
Yleinen |
10 |
Piirikaavio
Alla olevassa kaaviossa näkyy kytkentäopas virtamittaukseen virtamuuntajaa käyttäen
Näin piiri näyttää leipälaudalta.
Virran mittauspiirin rakenne
Edellisessä opetusohjelmassa olen osoittanut, kuinka mitata todellinen RMS-jännite tarkasti AD736 IC: n avulla ja kuinka määrittää kytketty kondensaattorin jännitemuuntajapiiri, joka tuottaa negatiivisen jännitteen positiivisesta tulojännitteestä, tässä opetusohjelmassa käytämme molemmat IC: t näistä opetusohjelmista.
Tätä esittelyä varten piiri on rakennettu juottamattomalle leipälevylle kaavion avulla; DC-jännite mitataan myös 16-bittisen ADC: n avulla parempaan tarkkuuteen. Ja kun näytän piiriä leipälaudalla loisten vähentämiseksi, olen käyttänyt niin monta hyppyjohtoa kuin mahdollista.
Arduino-koodi virran mittaamiseen
Arduino on tottunut näyttämään mitatut arvot sarjavalvontaikkunassa. Mutta pienellä muutoksella koodissa voidaan hyvin helposti näyttää arvot 16x2 LCD-näytöllä. Opi 16x2 LCD: n rajapinta Arduinon kanssa täältä.
Virtamuuntajan täydellinen koodi löytyy tämän osan lopusta. Tässä selitetään ohjelman tärkeät osat.
Aloitamme sisällyttämällä kaikki vaaditut kirjastotiedostot. Wire-kirjastoa käytetään kommunikointiin Arduino ja ADS1115-moduulin välillä, ja Adafruit_ADS1015-kirjasto auttaa meitä lukemaan tietoja ja kirjoittamaan ohjeita moduuliin.
#sisältää
Määritä seuraavaksi MULTIPLICATION_FACTOR, jota käytetään nykyisen arvon laskemiseen ADC-arvosta.
#define MULTIPLICATION_FACTOR 0,002734 / * kerroin todellisen nykyarvon laskemiseksi * / Adafruit_ADS1115 ads; / * Käytä tätä 16-bittiseen versioon ADS1115 * /
16-bittinen ADC sylkii ulos 16-bittiset pitkät kokonaisluvut, joten int16_t- muuttujaa käytetään. Kolme muuta muuttujaa käytetään, yksi ADC: n RAW-arvon tallentamiseen, yksi todellisen jännitteen näyttämiseksi ADC-nastassa ja yksi tämän jännitteen arvon näyttämiseksi nykyiseen arvoon.
int16_t adc1_raw_value; / * muuttuja raaka ADC-arvon tallentamiseksi * / kelluva mitattu_voltti; / * muuttuja mitatun jännitteen * / kelluvavirran tallentamiseen; / * muuttuja lasketun virran tallentamiseksi * /
Aloita koodin asennusosa ottamalla sarjaliitäntä käyttöön 9600 baudilla. Tulosta sitten asetetun ADC: n vahvistus; tämä johtuu siitä, että määritettyä arvoa suurempi jännite voi varmasti vahingoittaa laitetta.
Aseta ADC-vahvistus nyt ads.setGain (GAIN_ONE); menetelmä, joka asettaa 1-bittisen tarkkuuden arvoon 0,125 mV
Sen jälkeen kutsutaan ADC- aloitustapaa, joka asettaa kaiken laitteistomoduuliin ja tilastomuunnokseen.
void setup (void) {Sarja.alku (9600); Serial.println ("Yksipäisten lukemien saaminen AIN0..3: sta"); // joitain virheenkorjaustietoja Serial.println ("ADC-alue: +/- 4,096V (1 bitti = 2mV / ADS1015, 0,125mV / ADS1115)"); // ADC-tuloaluetta (tai -vahvistusta) voidaan muuttaa seuraavien // -toimintojen avulla, mutta ole varovainen, ettet koskaan ylitä VDD + 0,3 V max: ta tai // ylitä ylä- ja alarajaa, jos säätät tuloaluetta! // Näiden arvojen asettaminen väärin voi tuhota ADC: si! // ADS1015 ADS1115 // ------- ------- // ads.setGain (GAIN_TWOTHIRDS); // 2 / 3x voitto +/- 6.144V 1 bitti = 3mV 0.1875mV (oletus) ads.setGain (GAIN_ONE); // 1x vahvistus +/- 4.096V 1 bitti = 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2x vahvistus +/- 2.048V 1 bitti = 1mV 0.0625mV // ads.setGain (GAIN_FOUR); // 4x vahvistus +/- 1.024V 1 bitti = 0.5mV 0.03125mV // ads.setGain (GAIN_EIGHT);// 8x vahvistus +/- 0.512V 1 bitti = 0.25mV 0.015625mV // ads.setGain (GAIN_SIXTEEN); // 16x voitto +/- 0.256V 1 bitti = 0.125mV 0.0078125mV ads. Alku (); }
Vuonna silmukka osio, luin raaka ADC arvon ja tallentaa sen aiemmin mainittu muuttuja myöhempää käyttöä varten. Muunna sitten raaka ADC-arvo jännitearvoiksi mittausta varten ja laske nykyinen arvo ja näytä se sarjavalvontaikkunassa.
void loop (void) {adc1_raw_value = ads.readADC_SingleEnded (1); mitattu_arvo = adc1_arvo_arvo * (4.096 / 32768); current = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print ("ADC-arvo:"); Serial.println (adc1_raw_value); Serial.print ("Mitattu jännite:"); Serial.println (mitattu aurinko); Serial.println ("V"); Serial.print ("Laskettu virta:"); Sarjaprintti (val, 5); Serial.println ("A"); Sarja.println (""); viive (500); }
Merkintä! Jos sinulla ei ole kirjastoa ADS1115-moduulille, sinun on sisällytettävä kirjasto Arduino IDE: hen, kirjasto löytyy tästä GitHub-arkistosta.
Täydellinen Arduino-koodi on annettu alla:
#sisältää
Piirin testaus
Piirin testaamiseen käytetyt työkalut
- 2 60 W: n hehkulamppu
- Meco 450B + TRMS yleismittari
Piirin testaamiseksi käytettiin yllä olevaa asetusta. Virta kulkee CT: stä yleismittariin, sitten se palaa takaisin pääjohtoon.
Jos mietit mitä FTDI-kortti tekee tässä asennuksessa, haluan kertoa teille, että sisäinen USB-sarjamuunnin ei toiminut, joten minun piti käyttää FTDI-muunninta USB-sarjamuuntimena.
Lisäparannuksia
Muutamat mA-virheet, jotka näet videossa (annettu alla), johtuvat vain siitä, että olen tehnyt piirin leipälaudalla, joten siellä oli monia kenttäongelmia.
Toivottavasti pidit tästä artikkelista ja opit siitä jotain uutta. Jos sinulla on epäilyksiä, voit kysyä alla olevista kommenteista tai käyttää foorumeitamme yksityiskohtaiseen keskusteluun.