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ü, 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;
gibi birçok alanda kullanılır.
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:
Hall Effect, manyetik alan içerisinden geçen akımın oluşturduğu gerilim farkına dayanır. ACS712 sensörü:
Bu sayede devre ile fiziksel temas olmadan ölçüm yapılabilir (izolasyon avantajı sağlar).
ACS712 sensörünün en önemli özelliği:
Örneğin (30A versiyonu için):
Arduino analog girişinden bu voltaj okunarak akım hesaplanır.
ACS712 → Arduino:
Akım ölçümü için:
LCD (I2C):
SCL → A5
VCC → 5V
GND → GND
SDA → A4
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:
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.
Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino Uno kartımıza yükleyip test edebiliriz.
#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 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 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 Modeli | Optimize Akım Aralığı | Çıkış hassasiyeti |
| ACS712 ELC-05 | +/- 5A | 185 mV / A |
| ACS712 ELC-20 | +/- 20A | 100 mV / A |
| ACS712 ELC-30 | +/- 30A | 66 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.
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.
-
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
-
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
-
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
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ı.