• Forumu şuan da Ziyaretçi olarak görüntülüyorsunuz. Forum ziyaretçileri tüm konu ve bağlantıları görüntüleyemez ve kaynaklara erişimi yoktur. Eğer üye iseniz buradan üye girişi yapın ya da burayı tıklayarak şimdi üye olun.
  • Ubden® Topluluk Projelerine, Aracılığınızla Destek Vermektedir.

    Topluluk projelerine katkı yapmak ve topluğumuza ulaşan genç girişimcilere destek olmak için Buradaki  bağlantıdan işlem kanallarına ulaşabilirsiniz.

    Desteklerinizle 9.000 kişilik bir ekosistem olduk ve büyümeye devam ediyoruz. Desteğiniz için teşekkürler.

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

Lukenin

Acemi
Üye
3 Şub 2023
7
6
KrediPara
5KP
Arduino ile ACS712 Akım Sensörü Kullanımı – Akım ve Gerilim Ölçme

Bu projede Arduino Uno ve ACS712 Akım Sensörü kullanarak bir devreden geçen akımı ölçmeyi öğreneceğiz. Akım ölçümü; güç analizi, enerji yönetimi ve sistem güvenliği açısından oldukça önemli bir konudur. ACS712 sensörü sayesinde hem AC hem de DC akımları pratik bir şekilde ölçebilirsiniz.


Akım Sensörü Nedir?​


Akım sensörü, bir devreden geçen elektrik akımını ölçen ve bu değeri elektriksel bir sinyale çeviren cihazdır. Genellikle bu sinyal analog voltaj formundadır ve mikrodenetleyiciler tarafından kolayca okunabilir.

Akım sensörleri;

  • Güç hesaplama
  • Aşırı akım koruma
  • Enerji izleme
  • Endüstriyel otomasyon

gibi birçok alanda kullanılır.


Gerekli Malzemeler​

  • Arduino Uno DIP (Klon)
  • ACS712 Akım Sensörü Modülü (30A)
  • Jumper kablo
  • 2×16 LCD QAPASS Karakter LCD Ekran (I2C)

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 (Hall Etkisi) prensibine dayanır ve IC entegre bir Hall Effect cihazına sahiptir.

Senin verdiğin bilgiyi aynen koruyarak:

  • 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 pin diyagramı bu yapıya göre belirlenmiştir.

Hall Effect (Hall Etkisi) Nedir?​


Hall Effect, manyetik alan içerisinden geçen akımın oluşturduğu gerilim farkına dayanır. ACS712 sensörü:

  • Üzerinden geçen akımı algılar
  • Manyetik alan oluşturur
  • Bu alanı ölçerek analog voltaj üretir

Bu sayede devre ile fiziksel temas olmadan ölçüm yapılabilir (izolasyon avantajı sağlar).


Çalışma Prensibi​


ACS712 sensörünün en önemli özelliği:

  • 0A akımda çıkış yaklaşık Vcc/2 (≈2.5V) olur
  • Akım arttıkça voltaj artar veya azalır

Örneğin (30A versiyonu için):

  • Hassasiyet: ~66 mV/A
  • 1A akım → ~66 mV değişim

Arduino analog girişinden bu voltaj okunarak akım hesaplanır.


Bağlantı Şeması​


ACS712 → Arduino:

  • VCC → 5V
  • GND → GND
  • OUT → A0

Akım ölçümü için:

  • Ölçülecek devre, sensör üzerindeki IP+ ve IP- uçlarından seri bağlanır.

LCD (I2C):

SCL → A5

VCC → 5V

GND → GND

SDA → A4

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:


Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
sayfamızda sürekli olarak yeni içerikler paylaşmaya devam edeceğiz. Lütfen sormak istediğiniz soruları yorum olarak bize gönderin!

Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
yazısı ilk önce
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
üzerinde ortaya çıktı.
 
Üst