- Strömtransformator
- Hur nuvarande transformator fungerar?
- Nuvarande transformatorkonstruktion
- Nuvarande transformatorförhållande
- Aktuellt transformatorfel
- Hur minskar jag fel i en strömtransformator?
- Tillbaka Beräkna vändningsförhållandet för en strömtransformator
- Lastmotståndet
- Burden Resistor
- Beräkning av en lämplig lastmotståndsstorlek
- Komponenter krävs
- Kretsschema
- Nuvarande mätningskretskonstruktion
- Arduino-kod för aktuell mätning
- Testar kretsen
- Ytterligare förbättringar
En strömtransformator är en typ av instrumenttransformator som är särskilt utformad för att omvandla växelström i dess sekundärlindning, och mängden producerad ström är direkt proportionell mot strömmen i primärlindningen. Denna typ av strömtransformator är utformad för att osynligt mäta ström från delsystemet för högspänning eller där en stor mängd ström flyter genom systemet. En strömtransformatorns jobb är att omvandla den höga strömmen till en lägre ström som lätt kan mätas av en mikrokontroller eller en analog mätare. Vi har tidigare förklarat strömmätning med hjälp av strömtransformatorn i olika typer av strömavkänningstekniker.
Här lär vi oss denna nuvarande avkänningsteknik i detalj och kopplar upp en strömtransformator för att mäta växelström med hjälp av en Arduino. Vi lär oss också att bestämma varvtalet för en okänd strömtransformator.
Strömtransformator
Som jag tidigare har nämnt är en strömtransformator en transformator som är utformad för att mäta ström. Ovanstående som visar två transformatorer som jag för närvarande har kallas en fönstertypstransformator eller allmänt känd som en kärnbalanstransformator r.
Hur nuvarande transformator fungerar?
Den grundläggande principen för strömtransformatorn är densamma som en spänningstransformator, liksom spänningstransformator består strömtransformatorn också av en primärlindning och en sekundärlindning. När en växelström passerar genom transformatorns primärlindning, alstras magnetiskt flöde som inducerar en växelström i sekundärlindningen vid denna punkt kan du säga att den är nästan densamma som en spänningstransformator om du tänker att det här är skillnaden.
I allmänhet är en strömtransformator alltid i kortslutningstillstånd med hjälp av ett belastningsmotstånd, också beror strömmen som flyter på sekundärlindningen bara på den primära strömmen som strömmar genom ledaren.
Nuvarande transformatorkonstruktion
För att ge dig en bättre förståelse har jag rivit ner en av mina nuvarande transformatorer som du kan se i bilden ovan.
Det kan ses på bilden att en mycket tunn tråd lindas runt ett toroidalt kärnmaterial och en uppsättning ledningar kommer ut ur transformatorn. Primärlindningen är endast en enda ledning som är kopplad i serie med lasten och bär bulkströmmen som strömmar genom lasten.
Nuvarande transformatorförhållande
Genom att placera en tråd inuti fönstret på den nuvarande transformatorn kan vi bilda en enda slinga och varvförhållandet blir 1: N.
Liksom alla andra transformatorer måste en strömtransformator tillfredsställa ekvationen för förstärkningsförhållande som visas nedan.
TR = Np / Ns = Ip / Is
Var, TR = transförhållande
Np = Antal primära svängningar
Ns = Antal sekundära vändningar
Ip = Ström i primärlindning
Är = Ström vid sekundärlindning
För att hitta sekundärströmmen, ordna om ekvationen till
Är = Ip x (Np / NS)
Som du kan se i bilden ovan består transformatorns primärlindning av en lindning och sekundärlindningen av transformatorn består av tusentals lindningar om vi antar att 100A ström strömmar genom primärlindningen kommer sekundärströmmen att vara 5A. Så förhållandet mellan primär och sekundär blir 100A till 5A eller 20: 1. Så det kan sägas att den primära strömmen är 20 gånger högre än den för sekundärströmmen.
Notera! Observera att strömförhållandet inte är detsamma som varvtalet.
Nu är alla grundläggande teorier ur vägen, vi kan vända vårt fokus tillbaka till att beräkna varvtalet för den aktuella transformatorn.
Aktuellt transformatorfel
Varje krets har några fel. Nuvarande transformatorer är inte annorlunda; det finns olika fel i en strömtransformator. Några av dessa beskrivs nedan
Förhållande fel i aktuell transformator
Strömtransformatorns primära ström är inte exakt lika med sekundärströmmen multiplicerad med varvtalet. En del av strömmen förbrukas av transformatorns kärna för att få den till ett excitationstillstånd.
Fasvinkelfel i aktuell transformator
För en ideal CT är den primära och sekundära strömvektorn noll. Men i en verklig strömtransformator kommer det alltid att finnas en skillnad eftersom den primära måste leverera excitationsströmmen till kärnan och det kommer att finnas en liten fasskillnad.
Hur minskar jag fel i en strömtransformator?
Det är alltid nödvändigt att minska fel i ett system för att uppnå bättre prestanda. Så genom nedanstående steg kan man uppnå det
- Använda en kärna med hög permeabilitet med låg hysteres magnetiskt material.
- Belastningsmotståndsvärdet måste vara mycket nära det beräknade värdet.
- Sekundärens interna impedans kan sänkas.
Tillbaka Beräkna vändningsförhållandet för en strömtransformator
Testinställningen har visats i bilden ovan som jag har använt för att räkna ut svängningsförhållandet.
Som jag nämnde tidigare har den nuvarande transformatorn (CT) ingen specifikation eller artikelnummer bara för att jag räddade dem från en trasig hushålls elektrisk mätare. Så vid den här tiden måste vi veta varvtalet för att ställa in värdet på Burden Resistor ordentligt, annars kommer alla möjliga problem att introduceras i systemet, som jag kommer att prata mer om senare i artikeln.
Med hjälp av ohmens lag kan varvtalsförhållandet lätt räknas ut men innan det måste jag mäta det stora 10W, 1K motståndet som fungerar som en belastning i kretsen, och jag måste också få ett godtyckligt belastningsmotstånd för att räkna ut svängförhållandet.
Lastmotståndet
Burden Resistor
Sammanfattning av alla komponentvärden under testtiden
Ingångsspänning Vin = 31,78 V.
Lastmotstånd RL = 1,0313 KΩ
Lastmotstånd RB = 678,4 Ω
Utgångsspänning Vout = 8.249 mV eller 0.008249 V.
Strömmen som strömmar genom lastmotståndet är
I = Vin / RL I = 31,78 / 1,0313 = 0,03080A eller 30,80 mA
Så nu vet vi ingångsströmmen, vilket är 0,03080A eller 30,80 mA
Låt oss ta reda på utströmmen
I = Vout / RB I = 0,008249 / 678,4 = 0,00001215949A eller 12,1594 uA
För att beräkna varvtalet måste vi nu dela den primära strömmen med sekundärströmmen.
Vändningsförhållande n = Primär ström / sekundär ström n = 0,03080 / 0,0000121594 = 2,533,1972
Så den nuvarande transformatorn består av 2500 varv (avrundningsvärde)
Notera! Observera att felen mest beror på min ständigt föränderliga ingångsspänning och multimeter tolerans.
Beräkning av en lämplig lastmotståndsstorlek
CT som används här är en aktuell utgångstyp. Så för att mäta ström måste den omvandlas till en spänningstyp. Den här artikeln, på openenergymonitor-webbplatsen, ger en bra uppfattning om hur vi kan göra det så jag ska följa artikeln
Burden Resistor (ohm) = (AREF * CT TURNS) / (2√2 * max primärström)
Var, AREF = Analog referensspänning för ADS1115-modulen som är inställd på 4.096V.
CT TURNS = Antal sekundära varv, vilket vi tidigare har beräknat.
Max primärström = maximal primärström, som kommer att flyga genom CT.
Notera! Varje CT har ett maximalt strömvärde som överstiger det värdet kommer att leda till kärnmättnad och i slutändan linjäritetsfel som leder till mätfel
Notera! Den maximala strömvärdena för hushållens energimätare är 30A, så jag går efter det värdet.
Lastmotstånd (ohm) = (4,096 * 2500) / (2√2 * 30) = 120,6 Ω
120,6Ω är inte ett vanligt värde, det är därför jag ska använda tre motstånd i serie för att få 120Ω motståndsvärde. Efter att ha anslutit motstånden till CT gjorde jag några tester för att beräkna den maximala utspänningen från CT.
Efter testet observeras att om 1mA ström matas genom strömtransformatorns primär var utgången 0,0488mV RMS. Med det kan vi beräkna om 30A ström flyts genom CT kommer utspänningen att vara 30000 * 0,0488 = 1,465V.
Nu, med beräkningarna gjort, har jag satt ADC- förstärkningen till 1x förstärkning som är +/- 4,096V, vilket ger oss 0,125mV fullskalig upplösning. Med det kommer vi att kunna beräkna den minsta ström som kan mätas med denna inställning. Vilket visade sig vara 3mA b eftersom ADC-upplösningen var inställd på 0,125mV.
Komponenter krävs
Skriv hela komponenten utan tabell
Sl. Nr |
Delar |
Typ |
Kvantitet |
1 |
CT |
Fönstertyp |
1 |
2 |
Arduino Nano |
Generisk |
1 |
3 |
AD736 |
IC |
1 |
4 |
ADS1115 |
16-bitars ADC |
1 |
5 |
LMC7660 |
IC |
1 |
6 |
120Ω, 1% |
Motstånd |
1 |
7 |
10uF |
Kondensator |
2 |
8 |
33uF |
Kondensator |
1 |
9 |
Bakbord |
Generisk |
1 |
10 |
Bygeltrådar |
Generisk |
10 |
Kretsschema
Nedanstående schemat visar anslutningsguiden för strömmätning med strömtransformatorn
Så här ser kretsen ut på panelen.
Nuvarande mätningskretskonstruktion
I en tidigare handledning har jag visat dig hur man korrekt mäter True RMS-spänning med hjälp av AD736 IC och hur man konfigurerar en omkopplad krets för kondensatorns spänningsomvandlare som genererar en negativ spänning från en positiv ingångsspänning, i denna handledning använder vi båda IC: erna från dessa självstudier.
För denna demonstration är kretsen konstruerad på ett lödfritt brödbräda, med hjälp av schemat. likaså mäts likspänningen med hjälp av en 16 bitars ADC för bättre noggrannhet. Och när jag demonstrerar kretsen på en brädbräda för att minska parasiten har jag använt så många bygelkablar som möjligt.
Arduino-kod för aktuell mätning
Här används Arduino för att visa de uppmätta värdena i det seriella bildskärmsfönstret. Men med lite modifiering i koden kan man mycket enkelt visa värdena på 16x2 LCD. Lär dig gränssnittet mellan 16x2 LCD och Arduino här.
Komplett kod för den aktuella transformatorn finns i slutet av detta avsnitt. Här förklaras viktiga delar av programmet.
Vi börjar med att inkludera alla biblioteksfiler som krävs. Wire-biblioteket används för att kommunicera mellan Arduino och ADS1115-modulen och Adafruit_ADS1015-biblioteket hjälper oss att läsa data och skriva instruktioner till modulen.
#omfatta
Definiera sedan MULTIPLICATION_FACTOR som används för att beräkna det aktuella värdet från ADC-värdet.
#define MULTIPLICATION_FACTOR 0.002734 / * faktor för att beräkna aktuellt nuvarande värde * / Adafruit_ADS1115 annonser; / * Använd detta för 16-bitarsversion ADS1115 * /
16-bitars ADC spottar ut 16-bitars långa heltal så att variabeln int16_t används. Tre andra variabler används, en för att lagra RAW-värdet för ADC, en för att visa den faktiska spänningen i ADC-stiftet och slutligen en för att visa detta spänningsvärde till aktuellt värde.
int16_t adc1_raw_value; / * variabel för att lagra rå ADC-värde * / float uppmätt_voltae; / * variabel för att lagra uppmätt spänning * / flytström; / * variabel för att lagra beräknad ström * /
Börja installationssektionen av koden genom att aktivera serieutgången med 9600 baud. Skriv sedan ut förstärkningen av den inställda ADC; detta beror på att spänning mer än det definierade värdet verkligen kan skada enheten.
Ställ nu in ADC-förstärkningen med ads.setGain (GAIN_ONE); metoden som sätter 1-bitars upplösning till 0,125 mV
Efter det ADC börjar metoden kallas som sätter allt i hårdvarumodul och statistik konvertering.
ogiltig installation (ogiltig) {Serial.begin (9600); Serial.println ("Få enkla avläsningar från AIN0..3"); // lite felsökningsinformation Serial.println ("ADC Range: +/- 4.096V (1 bit = 2mV / ADS1015, 0.125mV / ADS1115)"); // ADC-ingångsområdet (eller förstärkningen) kan ändras via följande // -funktioner, men var försiktig så att du aldrig överskrider VDD + 0.3V max, eller att // överskrider de övre och nedre gränserna om du justerar ingångsområdet! // Att ställa in dessa värden felaktigt kan förstöra din ADC! // ADS1015 ADS1115 // ------- ------- // ads.setGain (GAIN_TWOTHIRDS); // 2 / 3x förstärkning +/- 6.144V 1 bit = 3mV 0.1875mV (standard) ads.setGain (GAIN_ONE); // 1x förstärkning +/- 4.096V 1 bit = 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2x förstärkning +/- 2.048V 1 bit = 1mV 0.0625mV // ads.setGain (GAIN_FOUR); // 4x förstärkning +/- 1.024V 1 bit = 0.5mV 0.03125mV // ads.setGain (GAIN_EIGHT);// 8x förstärkning +/- 0,512V 1 bit = 0,25mV 0,015625mV // ads.setGain (GAIN_SIXTEEN); // 16x förstärkning +/- 0.256V 1 bit = 0.125mV 0.0078125mV ads.begin (); }
I loop- avsnittet läser jag det råa ADC-värdet och lagrar det till den tidigare nämnda variabeln för senare användning. Konvertera sedan det råa ADC-värdet till spänningsvärden för mätning och beräkna det aktuella värdet och visa det till det seriella bildskärmsfönstret.
ogiltig slinga (ogiltig) {adc1_raw_value = ads.readADC_SingleEnded (1); uppmätt_voltae = adc1_raw_value * (4.096 / 32768); aktuell = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print ("ADC-värde:"); Serial.println (adc1_raw_value); Serial.print ("Uppmätt spänning:"); Serial.println (uppmätt_voltae); Serial.println ("V"); Serial.print ("Beräknad ström:"); Serial.print (val, 5); Serial.println ("A"); Serial.println (""); fördröjning (500); }
Notera! Om du inte har biblioteket för ADS1115-modulen måste du inkludera biblioteket i Arduino IDE, du kan hitta biblioteket i detta GitHub-arkiv.
Komplett Arduino-kod ges nedan:
#omfatta
Testar kretsen
Verktyg som används för att testa kretsen
- 2 60W glödlampa
- Meco 450B + TRMS-multimeter
För att testa kretsen användes ovanstående inställning. Strömmen flödar från CT till multimeter, sedan går den tillbaka till elnätet.
Om du undrar vad ett FTDI-kort gör i den här installationen, låt mig berätta att den inbyggda USB-till-seriellomvandlaren inte fungerade, så jag var tvungen att använda en FTDI-omvandlare som en USB-till-seriell omvandlare.
Ytterligare förbättringar
De få mA-fel som du såg i videon (nedan) är bara för att jag har gjort kretsen i en bräda, så det var många grundproblem.
Jag hoppas att du gillade den här artikeln och lärde dig något nytt av den. Om du är osäker kan du fråga i kommentarerna nedan eller använda våra forum för detaljerad diskussion.