Eğitim Şart

Taşı delen suyun şiddeti değil sürekliliğidir!…

Arduino İle Multimetre Yapımı 3: DC Akımölçer

Daha önce Arduino ile direnç ölçümü ve gerilim ölçümü yapmıştık. Bu projede de doğru akım ölçmeye çalıştık. Arduino girişleri sadece gerilime duyarlı olduğu için yine ölçmek istediğimiz şeyi (Elektrik Akımı) bir şekilde gerilime dönüştürmek gerekiyor. Bunun için yine yardıma Ohm kanunu yetişiyor. Yani değerini bildiğim bir direnç üzerinden akım geçirip iki ucu arasındaki gerilimi Arduino ile ölçerek, gerisini Arduino’ya (I = V / R) hesaplattırabilirim diye başladı proje. Ama geçen akım aslında başka bir devreyi besleyeceğinden direnç üzerinde benim ölçtüğüm gerilim aslında kullanılacak olan devrenin besleme geriliminden çalınıyordu. Ayrıca buradaki gerilim yüzünden güç kaybı (P = I x V) da oluşuyordu.

guc_kaybı

Bunu en aza indirmenin yolu çok küçük direnç kullanmak. Bunlara ‘shunt resistor’ ismi veriliyor. Kısa bir metalden oluşuyor ve dirençleri 1 ohm’un yüzde birinden daha küçük. Hatta bazı videolarda insanlar kendileri telden oluşturuyor bu dirençleri. Aslında evde kullandığımız multimetre’ler de de bu dirençlerden var. Benim kendi kullandığımdaki direnç 0.01 Ω.

Başka bir seçenek de yine Arduino için tasarlanmış olan akım sensörleri. Bu sensörler herhangi bir güç kaybı olmadan akımı ölçüp gerilime çeviriyor. Bunların çalışma prensibi ise ‘Akım geçen iletkenin etrafında manyetik alan oluşur!‘ Devre kartından geçen akımın oluşturduğu manyetik alan sensörler tarafından algılanıyor ve gerilime dönüştürülüyor. Hatta hem akım hem gerilim ölçenleri de var.

current_sensor.png

Ben dirençle yapmaya karar verdim. Elimde 0.1 Ω 5W direnç kullandım. Hatta güç kaybını azaltmak için önce iki tanesini paralel bağlayıp 0.05Ω direnç elde ettim. Sonra vazgeçtim. Çünkü bu kadar küçük direnç kullandığımızda uğraştığımız gerilimler de çok küçük oluyor. Bu gerilim değerini yükseltmek için bir işlemsel yükseltici(opamp) kullanıldı. Tamam da en baştaki en küçük hata, gerilimdeki titreşim, parazit değerleri de yükseltildiğinden ölçmenin hassasiyeti azalıyor. 0.1Ω direnç kullanmama rağmen bunlardan tamamen kurtulamadım! LM358 ya da LM324 ikisi ile de deneme yaptım. Zaten aynılar; 358’in içinde iki opamp var, 324’de dört. Evirmeyen (noninverting) bir yükselteç devresi kurdum.

opamplı giriş

 

Bu devrenin kazancı :

K = (1 + Rf / R)

 

 

R ve Rf dirençlerinin değerlerini seçerek istediğimiz gibi kazancı (Besleme gerilimi sınırlarında) ayarlayabiliyoruz. Bunun için hazır hesaplayıcılar da var: Google’a ‘opamp gain calculator’ yazmanız yeterli. Şimdi ne kadarlık bir kazanca ihtiyacımız olacak? Bunun için önce opamp’ın giriş gerilimini bilmek gerekir. Önce akım ölçüm aralığına karar vermek gerekir. Bu aralığı ne kadar dar tutarsak o kadar hassas ölçüm yapmış oluruz.  Benim için en büyük değer 2.5 Amper civarında. Evdeki güç kaynağımın maksimum değeri de zaten bunu aşmıyor. Eğer bu akım geçerse 0.1Ω’luk direnç opamp’ın + (evirmeyen) girişine maximum 0.25 volt verir. Bu en büyük değerin, Arduino’nun ölçebileceği en büyük değer olan 5 volta dönüşmesi için yaklaşık 20 kat büyütülmesi gerekiyor. Yani kazanç yaklaşık 20 olsun. Elimdeki dirençlerle R = 10k, Rf=200k dirençlerle yaklaşık bir değer elde ettim (21). Opamp çıkışını küçük bir kondansatör (100 nF) ile filtreleyerek voltaj titremelerini engellemeye çalıştım. Sonra da bu çıkışı Arduino’nun analog bir bacağına bağladım.

Arduino’ya giren gerilime göre en baştaki akımı nasıl hesaplatacağız? Opampın girişindeki gerilim:

Vin = I * 0.1

Bu gerilim 21 kat yükseltilip Arduino’ya iletildiğinden;

Vout = 2.1 * I

Buradan akım değeri:

I = Vout / 2.1

olur. Bunu da Arduino koduna ekleriz. Yanı Arduino A0 değerini okur, Bu girişi 0-1023 değerinden 0-5 arasına dönüştürür, buradan akımı hesap eder ve yazdırır. Bu arada okunan değeri 1000 ile çarpıp mAmper cinsinden yazdırdım.

okunan = analogRead(A0);
okunan = okunan * 5 / 1024 ;
akm = okunan / 2.1;
akm = akm *1000;
Serial.print(“Akim (mA):”);
Serial.print(akm);
Serial.println();
delay (500);

Kodun tamamına aşağıdaki linkten ulaşabilirsiniz. Şimdii! Çok küçük direnç ve gerilimlerle çalışıldığı için devre biraz sıkıntılı; herşeyden etkileniyor. Kullandığım jumper kablonun iki ucunda faklı gerilim ölçtüm! kablo boylarını çok kısa tutmak gerekiyor ki direnç oluşmasın. Ayrıca 21 olarak hesap ettiğim kazancı opampın çıkış ve giriş gerilimlerini (değişik giriş gerilimlerinde) ölçüp oranladığım zaman yaklaşık 8.8 olarak ölçtüm! bu da sanırım kullandığım Çin malı devre elemanlarından. Herşeyi ölçüm değerlerine göre yaptığım halde multimetrenin gösteriği değer ile benim ölçtüğüm değer arasında bir fark çıktı(1.26). Bunu da bir düzeltme faktörü olarak koda ekledim. Ayrıca daha hassas ölçüm için yine çoklu ölçüm yaptırıp ortalamasını yazdırdım.

Kısacası bu devre ile hassas akım ölçülür mü bilemiyorum. Belki hazır sensör kullanmak daha mantıklı olabilir! Bu seçim sizin.

Hoşçakalın…

Devre Şeması:

Sema_amp

LCD Ekran kullanımı için tıklayınız.

Arduino Kodu için tıklayınız.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

%d blogcu bunu beğendi: