Arduino ile ACS712 Akım Sensörü Kullanımı – Akım Gerilim Ölçme

ACS712 Akım Ölçümü Arduino

Arduino ile ACS712 Akım Sensörü Kullanımı – Akım Gerilim Ölçme

Arduino Uno ve ACS712 Akım Sensörü Kullanımı yaparak akım ölçüm örneği gerçekleştireceğiz.

Akım Sensörügüç hesaplama ve yönetim uygulamalarında önemli bir cihazdır. Akımı bir cihaz veya devre üzerinden ölçer ve ölçülen akımla orantılı olarak uygun bir sinyal üretir. Genellikle çıkış sinyali bir analog voltajdır.

Bu projemizde kullanacağımız malzemeler:

ACS712 Akım Sensörü Nedir? Özellikleri Nelerdir?

ACS712 Akım Sensörü, AC ve DC akımlarının kesin ölçümü için kullanılabilen Allegro MicroSystems ürünüdür. Bu sensör Hall Effect’e dayanır ve IC entegre bir Hall Effect cihazına sahiptir.

ACS712 Akım Sensörünün çıkışına gelince, AC veya DC akımlarla orantılı bir analog voltaj üretir. Bu çıkış AC veya DC seçimine göre değişir.

ACS712 IC, 8 uçlu bir SOIC paketinde mevcuttur ve aşağıdaki görüntü, pin diyagramını göstermektedir.

Acs712 akım sensörü modülü pin açıklaması

 

acs712 akım sensörü çalışma prensibi

ACS712 Sensörünün mevcut algılama alanına göre üç çeşidi vardır. Optimize edilen aralıklar +/- 5A, +/- 20A ve +/- 30A’dır. Varyanta bağlı olarak, çıkış hassasiyeti de aşağıdaki gibi değişir:

ACS712 ModeliOptimize Akım AralığıÇıkış hassasiyeti
ACS712 ELC-05+/- 5A185 mV / A
ACS712 ELC-20+/- 20A100 mV / A
ACS712 ELC-30+/- 30A66 mV / A

ACS712 Akım Sensörü Nasıl Çalışır?

ASC712 Akım Sensörü Hall Etkisine dayanmaktadır. IP + ve IP – pinlerini dahili olarak bağlayan bir bakır şerit vardır. Bu bakır iletkenden bir miktar akım akarken, Hall Etkisi sensörü tarafından algılanan bir manyetik alan üretilir.

Hall Effect sensörü daha sonra bu manyetik alanı uygun voltaja dönüştürür. Bu yöntemde, giriş ve çıkış tamamen yalıtılmıştır.

acs712 arduino schematic

Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino Uno kartımıza yükleyip test edebiliriz.

ACS712 Akım Sensörü Kullanımı: ACS712 Arduino Kodu

#include <LiquidCrystal.h>

// LCD AYARLARI

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

const int analogIn = 0; //ACS712 SENSOR BAĞLANTI PINI

int mVperAmp = 66; // 185 5A MODÜL İÇİN , 100 20A MODÜL İÇİN VE 66  30A MODÜL İÇİN

int RawValue = 0;

int ACSoffset = 2500;

double Voltage = 0; //VOLT HESABI

double Amps = 0;// AMPER HESABI

void setup() {

// LCD AYARI

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print("ACS 712");

lcd.setCursor(0, 1);

lcd.print("  AKIM OLCUM  ");

delay(2000);

}

void loop()

{

RawValue = analogRead(analogIn);//MODUL ANALOG DEĞERI OKUNUYOR

Voltage = (RawValue / 1024.0) * 5000; // VOLT HESABI YAPILIYOR

Amps = ((Voltage - ACSoffset) / mVperAmp); // AKIM HESAPLA


lcd.clear();//clears the display of LCD

delay(1000);//delay of 1 sec

lcd.display();

// VOLTAJI EKRANA YAZ

lcd.setCursor(1, 0);

lcd.print("Voltaj= ");

lcd.setCursor(8, 0);

lcd.print(Voltage, 3);

lcd.setCursor(12, 0);

lcd.print("mV");

// AKIMI EKRANA YAZ

lcd.setCursor(1, 1);

lcd.print("AMPER= ");

lcd.setCursor(7, 2);

lcd.print(Amps, 3);

lcd.setCursor(11, 2);

lcd.print("A");

delay(2500);

}

Kullandığımız malzemeleri tekrar hatırlamak gerekirse: