12
Oca
2020

Arduino ile ACS712 akım sensörü kullanımı

ACS712; Allegro MicroSystems tarafından üretilen, hem AC hem DC akım değerlerini ölçebilen Hall Etkisi yongasıdır. Hall Etkisi ilkesi; Amerikalı fizikçi Edwin Herbert Hall tarafından 1879 yılında bulunmuştur.  Üzerinden akım geçen iletken veya yarı iletken bir cisme dik olarak bir manyetik alan uygulanırsa cismin diğer iki ucu arasında bir voltaj oluşur. Oluşan bu voltaja da Hall voltajı denir.

Birçok üretici, ACS712 yongası kullanarak mikrodenetleyici uygulamaları için ACS712 sensör modülü üretmektedir. Bu modül, üzerindeki VCC, GND ve OUT pinleri ile oldukça kolay kullanım sağlamaktadır.

ACS712 sensör modülünün besleme gerilimi 5V’ dur. ACS712 sensör modülleri; -5 ile +5 Amper, -20 ile +20 Amper, -30 ile +30 Amper arasında ölçüm yapan üç farklı model şeklinde üretilmektedir. ACS712 üzerinden akım geçtiğinde, OUT bacağından gerilim okunur. Bu gerilim her 1 Amper fark için 5A ölçen ACS712′ de 185mV değişim, 20A ölçen ACS712 için 100mV değişim, 30A ölçen ACS712 için 66mV değişim olarak ölçülür.

Malzemeler

  • 1 adet Arduino
  • 1 adet ACS712 akım sensörü

Bağlantı şeması

Kaynak kod

void setup() {
  Serial.begin(9600);
}

void loop() {
  double Amp;  // Amper değeri
  int mVperAmp = 66; // 5A modül için 185, 20A modül için 100, 30A modül için 66
  int OutVoltaj;  // Akım hesaplamak için okunan OUT voltajı
  OutVoltaj = analogRead(A0);  //  Sensörün OUT çıkışını oku
  Amp = ((((OutVoltaj / 1024.0) * 5000) - 2500) / mVperAmp); // Okunan OUT voltajından Akımı hesapla
  Serial.println(Amp); 
  delay(1000);
}

Kaynak kod Arduino’ ya yüklenip bağlantılar yapıldığında her saniyede bir defa ölçülen akım değeri seri port ekranına yazdırılacaktır.