KKM: split-core ampermetar

Početnik si s Croduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala e-radionice na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Croduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

UVOD

Ako ste nekada imali potrebu mjeriti izmjeničnu struju koristili ste ampermetar za mjerenje. Ali što ako trebamo mjeriti struju duži vremenski period i podatke spremati u određenim vremenskim trenucima ili ako vrijednosti želimo ispisati na neki displej ili nešto računati s njima?
Za sve to možemo iskoristiti split-core ampermetar koji može mjeriti izmjeničnu struju do 30 A(SCT-013-030) ili do 100 A(SCT-013-000) ovisno o modelu koji koristimo.


 
Karakteristike za SCT-013-030:
•Max. struja: 30A
•Izlazna napon: 1V
•Maksimalni priključeni napon: 660 V
•Prijenosni omjer: 1:1800
•Frekvencija: 50 Hz – 1 kHz
•Dimenzije otvora za žicu: 13 x 13 mm
•Duljina kabela: 1m
 
Karakteristike za SCT-013-000:
•Max. struja: 100A
•Izlazna struja: 0-50mA
•Maksimalni priključeni napon: 660 V
vPrijenosni omjer: 1:2000
•Frekvencija: 50 Hz – 1 kHz
•Dimenzije otvora za žicu: 13 x 13 mm
•Duljina kabela: 1m
 

KAKO RADI?

Split-core ampermetar je zapravo otvoreni transformator( zbog toga radi samo s izmjeničnom strujom) koji na primarnom namotaju ima jedan zavoj (vodič kroz koji mjerimo struju), a na sekundarnom puno veći broj namotaja kako bi od velike struje dobili malu struju koju uz pomoć otpornika pretvaramo u napon i mjerimo pomoću Croduina.

STRUJNO IZLAZNI ILI NAPONSKO IZLAZNI SENZOR

Ako imamo strujno izlazni senzor kao što je SCT-013-00 onda struju moramo pretvoriti u napon jer znamo da Croduino može mjeriti samo napon. Kako bi struju sekundara pretvorili u napon moramo na izlaz sekundara paralelno spojiti otpornik te ćemo na njemu dobiti pad napona koji možemo mjeriti Croduinom.
Vrijednost otpornika možemo izračunati prema formuli R=(Aref*N)/(2*sqrt(2)*I) gdje nam je Aref= referentni napon Croduina( 5 V ili 3.3V), N je broj namotaja sekundara, a I nam je maksimalna struja koju možemo mjeriti.
U našem slučaju za senzor koji mjeri 100 A imamo 2000 zavoja, a referentni napon Croduina je 5 V te kada sve ubacimo u formulu dobijemo otpornik od 35,4 Ω no kako to nije standardna vrijednost uvijek uzimamo manju vrijednost koja je standardna, pa ćemo u ovom slučaju uzeti otpornik od 33 Ω. Veća vrijednost otpornika bi nam pri maksimalnoj struji koju mjerimo dala napon koji je veći od Aref i mogli bi spaliti Croduino. Kada ovaj otpornik spojimo paralelno na strujni izlaz dobijemo naponski izlaz.
 

 
Ako imamo naponsko izlazni senzor kao na primjer SCT-013-030 onda korak s određivanjem otpornika možemo preskočiti jer ovakav tip senzora u sebi ima ugrađen otpornik.
Kako bismo mogli odrediti koji senzor imamo samo trebamo pročitati dali nam na senzoru piše omjer struja ( nešto ovako 100 A:50 mA) ili struje i napona ( 30 A/1 V), ako je omjer struja onda imamo strujno izlazni i trebamo dodati otpornik a ako piše omjer struje i napona onda ne trebamo dodavati ovaj otpornik.

KAKO POVEZATI?

NAPOMENA: Potrebno je raditi s AC naponom koji je opasan po život, zbog toga pri radu isključite sve izvore napajanja dok spajate senzor!
Sada kada smo naučili kako dobiti naponsko izlazni senzor idemo ga povezati sa Croduinom da možemo mjeriti struju. Kako s ovim senzorom mjerimo isključivo izmjeničnu struju i na izlazu dobivamo izmjenični napon, a Croduino radi na istosmjernom naponu moramo izmjenični napon prilagoditi za mjerenje sa Croduinom. Kada bi jedan izlaz senzora spojili na GND, a na drugom mjerili napon dobili bi pozitivne pa onda negativne vrijednosti jer je napon izmjeničan i vrijednosti mu se mijenjaju od maksimalne pozitivne do maksimalne negativne vrijednost. Kako bi sve promjene bile u pozitivnom dijelu moramo dodati istosmjernu komponentu našem izmjeničnom naponu što vidimo i na slici.Kada dodamo istosmjernu komponentu napon se mijenja od 0 V do neke maksimalne vrijednosti, a u našem slučaju to je 5 V.

Da bi dodali istosmjernu komponentu izmjeničnom naponu na jedan izlaz senzora spajamo istosmjerni napon koji treba imati vrijednost polovice izlaznog napona Croduina. Da bi dobili vrijednost polovice izlaznog napona Croduina jednostavno ćemo koristiti naponsko dijelilo s dva jednaka otpornika. Kada spojimo naponsko dijelilo trebamo još između GND i izlaznog napona naponskog dijelila spojiti kondenzator od 10 uF. Kako bi bilo jasnije spojiti senzor dana je shema koja nam prikazuje kako sve treba spojiti. Na shemi je prikazan i otpornik od 33 Ω, ali ako imate naponsko izlazni senzor samo zanemarite ovaj otpornik i nemojte ga spajati. Pri mjerenju je potrebno imati samo jednu žicu stavljenu kroz transformator( ako stavimo dvije žice odnosno i fazni i nulti vodič nećemo moći mjeriti).Senzor dolazi sa 3.5 mm ženskim konektorom, te nam za spajanje treba 3.5 mm muški konektor.

ARDUINO KOD

Za rad sa senzorom je potrebno preuzeti biblioteku EmonLib koja nam omogućuje mjerenje i dobivanje vrijednosti struje. Ako ne znate kako instalirati bibliteku pogledajte tutorijal.
Prvi primjer koda za mjerenje je jednostavan i nema puno funkcija koje koristimo, a s njim mjerimo efektivnu vrijednost struje i ispisujemo ju na Serial monitor.

#include "EmonLib.h" // uključujemo biblioteku EmonLib u naš kod
EnergyMonitor emon1; //inicijalizacija biblioteke EmonLib
void setup()
{
Serial.begin(9600); //započinjemo serijsku komunikaciju
emon1.current(0, 111.1); // Current: ulazni pin(A0), kalibracija.
}
void loop()
{
double Irms = emon1.calcIrms(1480); // izračunavamo efektivnu vrijednost struje i spremamo u varijablu Irms pomoću funkcije calcIrms
Serial.print(Irms*230.0); // Ispisujemo snagu koju izračunavamo tako da izmjerenu struju pomnožimo s 230 što nam
//odgovara vrijednosti napona gradske mreže(nije točna snaga jer se napon mijenja, ali približno odgovara)
Serial.print(" "); // ispisujemo razmak kako između vrijednosti snage i struje
Serial.println(Irms);// ispisujemo izmjerenu struju
}

Drugi primjer nam omogućuje mjerenje struje i spremanje podataka na SD karticu u .csv formatu koji kasnije možemo otvoriti u Excelu te prikazati podatke tablično ili kao graf. Kako radi SD modul možete vidjeti u tutorijalu za SD modul.

#include "SPI.h" //uključujemo SPI biblioteku koja nam omogućuje SPI komunikaciju
#include "SD.h" //uključujemo SD biblioteku koja nam služi za rad sa SD karticom
#include "EmonLib.h" // uključujemo biblioteku EmonLib u naš kod
EnergyMonitor emon1; //inicijalizacija biblioteke EmonLib
const int CS = 10; //definiramo CS pin
int ocitanje=1; //definiramo varijablu ocitanje i postavljamo njenu vrijednosti na 1
void setup() {
Serial.begin(9600); //započinjemo serijsku komunikaciju
emon1.current(1, 111.1); // Current: ulazni pin(A0), kalibracija.
pinMode(CS,OUTPUT); //postavljamo CS kao izlazni pin
//inicijaliziramo SD karticu i odmah provjeravamo dali je inicijalizacija uspješna
if (!SD.begin(CS)) {
Serial.println("Kartica nije ispravno spojena.");
return;
}
Serial.println("Kartica je ispravno spojena i spremna je za rad.");
String prvi= "Ocitanje,Struja,Snaga"; //U String prvi spremamo riječi Ocitanje, Struja i Snaga koje su odvojene zarezom
File ocitanja = SD.open("Podaci.csv", FILE_WRITE); // otvaramo datoteku Podaci.csv za pisanje i čitanje iz datoteke
// koje izvršavamo preko objekta ocitanja s kojim pristupamo datoteci
if (ocitanja) { //provjeravamo dali je datoteka otvorena i ako je izvršava se kod u vitičastim zagradama, ako nije onda se ide na else funkciju
ocitanja.println(prvi); //spremamo String prvi u datoteku pomoću objekta ocitanja s funkcijom println
ocitanja.close(); //zatvaramo objekt ocitanja odnosno preko objekta zatvaramo datoteku Podaci.csv
Serial.println(prvi); //na Serial monitor ispisujemo String prvi
}
//ako nije uspjelo otvaranje datoteke ispisuje se poruka o grešci
else{
Serial.println("Nisam uspio otvoriti Podaci.csv");
}
}
void loop() {
double Irms = emon1.calcIrms(1480); // izračunavamo efektivnu vrijednost struje i spremamo u varijablu Irms
String podaci = String(ocitanje)+','+String(Irms)+','+String(Irms*230); //vrijednost struje i snage spremamo u String podaci
File ocitanja = SD.open("Podaci.csv", FILE_WRITE); //otvaramo datoteku podaci.csv
//sljedeći kod je isti kao i kada spremamo String prvi, samo što sada spremamo String podaci te ga ispisujemo i na Serial monitor
if (ocitanja) {
ocitanja.println(podaci);
ocitanja.close();
Serial.println(podaci);
}
Leave a Reply