Tijekom pandemije COVID-19, e-radionica.com nastavlja s normalnim radom. Sve mjere opreza se redovno poduzimaju te su naručeni paketi sigurni. Opcija dostave uslugama Hrvatske Pošte i osobno preuzimanje privremeno su onemogućeni iz sigurnosnih razloga.

Croduino Voltmetar

Uvod

 
Ovaj projekt voltmetra nastavak je na tutorial o INPUT/OUTPUT pinovima.
 
UPOZORENJE: budite pažljivi prilikom ispitivanja napona. Atmega328 podnosi maksimalni napon od 5V, ako želite mjeriti veće napone preskočite na dio s otpornim djeliteljem (voltage divider).

Spajanje

 
Potrebni su nam dva kablića: gnd(-) i (+). Gnd spajamo na gnd, a (+) koji mjerimo na analogni pin 0 Croduina. Nipošto ne spajajte napon veći od 5V na Croduino!
 
Untitled Sketch_bb

Kod

 
Ukoliko vam nije jasan kod predlažemo da pogledate tutorial o INPUT/OUTPUT pinovima.

int ulaz = A0;
void setup() {
pinMode(ulaz, INPUT);
Serial.begin(9600); // započinjem serijsku komunikaciju
// podatke ćemo pregledavati u Serial Monitoru
}
void loop() {
int ulazniNapon_analog = analogRead(ulaz); // čitam analogne vrijednosti
float ulazniNapon_volt = map(ulazniNapon_analog, 0, 1023, 0, 5); // pretvaram analogne vrijednosti u napon
Serial.print("Ulazni napon = ");
Serial.println(ulazniNapon_volt);
}

Voltage divider

 

Voltage divider ili otporni djelitelj je serija od dva otpornika kojim spuštamo napon. Otpornik bliži ulaznom naponu (Vin) označavamo s R1, dok otpornik bliže gnd označavamo s R2. Pad napona preko R2 je Vout, a označava podjeljen napon našeg strujnog kruga. Na primjeru gore koristimo R1= 10kΩ te R2 = 1kΩ. Računa se prema formuli:
 
511968d9ce395f7c54000000
Odnosno, ako je vrijednost ulaznog napona (Vin) jednaka 40V, izlazni (Vout) će iznositi Vout = 40* ( 1/(10+1) ) = 3.636V. To je napon koji mikrokontroler može podnijeti. Maksimalni ulazni napon za ovu kombinaciju otpornika iznosi 55V, no zbog sigurnosti nazovimo ga 0-40VDC voltmetar.
 
Ovu formulu ćemo uvrsitit u Arduino kod, na nama je samo da pazimo kako ne bismo prešli maksimalno dopušteni ulazni napon.

int r1= 10; // r1 iznosi 10k ohma
int r2 = 1; // r2 iznosi 1k ohm
int ulaz = A0; // napon mjerimo preko analognom pina A0
void setup() {
pinMode(ulaz, INPUT);
Serial.begin(9600); // započinjemo serijsku komunikaciju
}
void loop() {
// pozivamo fuknciju koja vraća ispravljeni ulazni napon
float ulazniNapon = VoltageDivider(ulaz);
// ispisujemo napon
Serial.print("Ulazni napon = ");
Serial.println(ulazniNapon);
}
void VoltageDivider(int pin) {
int vout_a = analogRead(pin); // prvi korak je ocitati analognu vrijednost Vout napona podjeljenim voltage dividerom
float vout_v = map(vin_a, 0, 1023, 0, 5); // mapiramo ocitanu vrijednost u napon
float vin = vout_v * ( (r1+r2) / r2 ); // posto znamo vrijednosti otpornika napon na pinu A0 pretvaramo u stvarni napon
// Vin, prije voltage dividera
return vin; // vraćamo prepravljenu vrijednost
}

Točnost ovog voltmetra možemo jednostavno dobiti tako da podjelimo 5V / 1023, što nam daje korak od 4,88mV. Ovisno o otpornicima koje koristite, postojati će odstupanje stvarnog i očitanog napona. Ako imate mogućnost, tarirajte voltmetar pomoću labaratorijskog.
 
Za bolje razumjevanje pogledajte video tutorial sve analogno.

Leave a Reply