Elektrikli aletlerinizin her birinin ne kadar akıma ihtiyaç duyduğunu hiç merak ettiniz mi? Bunu bilmek oldukça zahmetli bir süreç, ancak burada bir akım sensörünün işlevselliği devreye giriyor. Farklı cihazların farklı akım gereksinimleri olduğundan, onlara yanlış miktarda akım verilmesi ciddi sonuçlara yol açabilir (aşırı yüklenme vb.). Bu nedenle, uygulamalar için gereken akımın izlenmesi gereklidir ve bu noktada insanlar işin üstesinden gelmek için akım sensörlerine, özellikle ACS712 AC/DC Akım Sensörüne yönelirler.
ACS712 AC/DC Akım Sensörü Nedir?
ACS712, 2.1kVRMS voltaj izolasyonu ve entegre düşük dirençli akım iletkenine sahip tamamen entegre, hall etkisine dayalı bir lineer akım sensörüdür. Teknik terimleri bir kenara bırakırsak, bu, iletkenini kullanarak uygulanan akım miktarını hesaplayan ve ölçen bir akım sensörü olarak basitçe ifade edilebilir.
ACS712’nin özellikleri şunlardır:
- 80kHz bant genişliği
- 66 ila 185 mV/A çıkış hassasiyeti
- Düşük gürültülü analog sinyal yolu
- Aygıt bant genişliği yeni FILTRE pini aracılığıyla ayarlanır
- 1.2 mΩ iç iletken direnci
- TA = 25°C’de toplam çıkış hatası %1.5
- Stabil çıkış offset voltajı.
- Neredeyse sıfır manyetik histerezis
ACS712 pin düzeni, şemalar ve devre diyagramı hakkında daha fazla bilgi için ACS712 veri sayfasını buradan indirebilirsiniz!
ACS712 Akım Sensörü Nasıl Çalışır?
ACS712’nin neler yapabileceğine dair bir fikrimiz olduğuna göre, şimdi çalışma prensibine bakalım. Bir akım sensörünün nasıl çalıştığına gelince, bu ya doğrudan ya da dolaylı algılama ile yapılabilir. ACS712, dolaylı algılama kullanır.
- Doğrudan algılama ile çalışan akım sensörleri için, akım akışı algılandığında voltaj düşüşünü ölçmek için ohm yasası uygulanır.
ACS712’nin çalışma şekli (Basitleştirilmiş):
- Akım, entegre devresindeki onboard hall sensör devresinden geçer
- Hall etkisi sensörü, manyetik alan oluşturma yoluyla gelen akımı algılar
- Algılandığında, hall etkisi sensörü, manyetik alanına orantılı bir voltaj üretir ve bu voltaj akım miktarını ölçmek için kullanılır
ACS712 Akım Sensörü Uygulamaları
Önceden akım sensörlerinin hangi alanlarda kullanılabileceğine dair genel bir fikir oluşturduk. ACS712 entegresinin hem AC hem de DC akımı algılayabilmesi sayesinde, elektrikli aletlerin yanı sıra daha geniş bir uygulama yelpazesinde kullanılabilir. Arduino/diğer mikrodenetleyici kullanımları veya endüstriyel, ticari ve iletişim uygulamaları gibi birçok alanda uygulanabilir.
İşte yaygın uygulama listesi:
- Motor kontrol devrelerinde motor hızı kontrolü
- Elektrik yükü algılama ve yönetimi
- Anahtarlamalı güç kaynakları (SMPS)
- Aşırı akıma karşı koruma
ACS712 Alternatifleri
Grove – 10A DC Akım Sensörü (ACS725)

ACS712’nin bazı kullanıcıları, düşük hassasiyeti ve kötü doğrusalığı nedeniyle onu akım sensörü seçeneği olarak önermemektedir. Bu nedenle, ACS725 tabanlı Grove – 10A DC Akım Sensörünü alternatif öneri olarak sunuyoruz!
ACS725’e dayanan bu DC akım sensörü modülü, 10A’ya kadar DC akım ölçme yeteneği ile ekonomik ve hassas bir çözüm sunar ve temel hassasiyeti 264mV/A’dır!
ACS712 ile karşılaştırıldığında, Grove – 10A DC Akım Sensörü (ACS725) aşağıdaki performans avantajlarına sahiptir:
- Daha yüksek bant genişliği; ACS712’nin 80kHz’ine kıyasla 120KHz
- Daha yüksek hassasiyet; ACS712’nin 66 – 185mV/A’sına kıyasla 264mV/A
- Grove arayüzü; Sadece lehimleme yapmadan ve breadboard kullanmadan Arduino/Raspberry Pi kartınızla kolayca tak-çalıştır eşleştirme
Grove – ±5A DC/AC Akım Sensörü (ACS70331)

Hem AC hem de DC’yi destekleyen ancak ACS712’ye göre performans avantajlarını koruyan bir akım sensörü arıyorsanız, yukarıdaki Grove – ±5A DC/AC Akım Sensörü (ACS70331) sizin için uygun bir seçimdir!
Allegro’nun yüksek hassasiyetli akım sensörü entegresi olan ACS70331EESATR-005B3’e dayanan bu sensör, <5A akım algılama uygulamaları için uygundur ve temel hassasiyeti 200mV/A'dır!
Özellikleri şunlardır:
- 1 MHz bant genişliği ve <550 ns tepki süresi
- Düşük gürültü: 1 MHz’de 8 mA(rms)
- 1.1 mΩ birincil iletken direnci düşük güç kaybı sağlar
- Yüksek DC PSRR, düşük hassasiyetli güç kaynakları veya pillerle (3 ila 4.5 V çalışma) kullanımına olanak tanır
Genel olarak, bu AC/DC akım sensörü modülü, ACS712 ile karşılaştırıldığında üstün performans sunan bir seçenektir ve benzer fiyat aralığındadır. Grove – ±5A DC/AC Akım Sensörü (ACS70331) hakkında daha fazla bilgi almak isterseniz, ürün sayfasını kontrol edebilirsiniz!
ACS712 Akım Sensörü Arduino Kılavuzu
ACS712 akım sensörü, pin düzenine dayalı olarak bir dizi jumper kablo bağlantısı aracılığıyla Arduino kartınıza bağlanabilir. Ancak, Seeed’de bunun karmaşıklığını ve zorluklarını anlıyoruz. Bu nedenle, Grove – ±5A DC/AC Akım Sensörü (ACS70331) için bir eğitim sağlamaya karar verdik ve Grove tak-çalıştır sistemimizin ne kadar kolay olduğunu göstermek istiyoruz!
Bugünkü eğitim için ihtiyacınız olanlar:
- Seeeduino, Seeed’in kendi Arduino kartıdır ve orijinaline göre bazı avantajlarla inşa edilmiştir
- Eğer bir Seeeduino satın almak istemiyorsanız, bu eğitim aşağıdaki Arduino kartları için de geçerlidir: Arduino UNO, Arduino Mega, Arduino Leonardo, Arduino 101, Arduino Due
Donanım Montajı:
- Adım 1: Grove – ±5A DC/AC Akım Sensörü (ACS70331) ‘yi Grove – Base Shield’in A0 portuna bağlayın
- Adım 2: Test edilecek devrenin pozitif ve negatif kutuplarını, vida terminalinin karşılık gelen pozitif ve negatif kutuplarına bağlayın
- Adım 3: Grove – Base Shield’i Seeeduino’ya takın
- Adım 4: Seeeduino’yu bir USB kablosu aracılığıyla PC’ye bağlayın
Yukarıdaki adımları tamamladıktan sonra görünüm şöyle olmalıdır:

Yukarıdaki donanım bağlantısının bir DC güç kaynağı ile yapıldığını unutmayın. Başlangıçta akımı 0A olarak ayarlayın veya açmayın.
Yazılım yapılandırmaları ve Arduino Kütüphanesi
- Adım 1: Grove Akım Sensörü Arduino Kütüphanesini Github’dan indirin
- Adım 2: /example/klasöründe demo kodunu bulacaksınız. Burada, örnek olarak Grove – ±5A DC/AC Akım Sensörü (ACS70331) alacağız. Demo kodunu açmak için Grove_5A_DC_Current_Sensor.ino dosyasına tıklayın veya aşağıdaki Arduino kodunu kopyalayın:
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define RefVal 3.3
#define SERIAL SerialUSB
#else
#define RefVal 5.0
#define SERIAL Serial
#endif
//Burada bir OLED Ekran gereklidir
//A0 pinini kullanın
#define Pin A5
// 500 kez ortalama alın
const int averageValue = 500;
long int sensorValue = 0;
float sensitivity = 1000.0 / 200.0; //200mV başına 1000mA
float Vref = 1508;
void setup()
{
SERIAL.begin(9600);
}
void loop()
{
// Değeri 500 kez okuyun:
for (int i = 0; i < averageValue; i++)
{
sensorValue += analogRead(Pin);
// Bir sonraki döngüden önce 2 milisaniye bekleyin
delay(2);
}
sensorValue = sensorValue / averageValue;
// Kart üzerindeki ADC 10-bit
// Farklı güç kaynakları farklı referans kaynaklarına yol açar
// örnek: 2^10 = 1024 -> 5V / 1024 ~= 4.88mV
// unitValue= 5.0 / 1024.0*1000 ;
float unitValue= RefVal / 1024.0*1000 ;
float voltage = unitValue * sensorValue;
// Yük yokken, Vref=initialValue
SERIAL.print("initialValue: ");
SERIAL.print(voltage);
SERIAL.println("mV");
// Karşılık gelen akımı hesaplayın
float current = (voltage - Vref) * sensitivity;
// Voltajı yazdır (mV)
// Bu voltaj, akıma karşılık gelen pin voltajıdır
/*
voltage = unitValue * sensorValue-Vref;
SERIAL.print(voltage);
SERIAL.println("mV");
*/
// Akımı yazdır (mA)
SERIAL.print(current);
SERIAL.println("mA");
SERIAL.print("\n");
// Bir sonraki okuma için sensorValue'yu sıfırlayın
sensorValue = 0;
// Her saniyede bir okuyun
delay(1000);
}
- Adım 3: Demoyu yükleyin
- Yukarıdaki Arduino kodunu nasıl yükleyeceğinizden emin değilseniz, lütfen buradaki kılavuzumuza bakın
- Adım 4: Arduino IDE’nizin seri monitörünü açmak için Araçlar -> Seri Monitör’e tıklayın. Baud hızını 9600 olarak ayarlayın
- Adım 5: Kalibrasyon
- Akım akışı olmadığında, sensör yine de bir çıkış değeri üretecektir. Bu değere sıfır kayması denir. Bu nedenle, kalibrasyon yapmamız gerekecek

- Adım 5.1: Aşağıdaki kod ile değeri sabitlemek için bir Vref parametresi ayarlayın
float Vref = 1508;
//Vref sıfır kayması değeridir, bu değeri kullanmadan önce gerçekten ölçtüğünüz değere değiştirmeniz gerekir.
Demo kodunda, Vref değerini 1508 olarak ayarladık, ancak sıfır kayması değeri karttan karta değişir. Bu nedenle, 21. satırı değiştirmemiz gerekecek.
float Vref = 595.70;
- Adım 5.2: Kodu kaydedin ve 2. ve 3. adımları izleyerek tekrar yükleyin. Şimdi çıktıyı aşağıdaki gibi göreceğiz:

Akım çıktısı 0mA veya minimal bir değere ulaştığı sürece, kalibrasyon tamamlanmış sayılır.
- Adım 6: Artık akımı açabilirsiniz. Kendiniz test etmekte özgürsünüz, ancak akımınızın 5A’yı aşmaması gerektiğini unutmayın!
AC yükü ve ilgili Arduino Demo kodu hakkında bir eğitim için lütfen wiki sayfamıza buradan bakın!
Özet
ACS712, Arduino kullanımı için akım sensörü modülleri arasında bilinen bir seçenek olmasına rağmen, Seeed’deki alternatiflerimizle karşılaştırıldığında performans dezavantajları dikkate alınması gereken faktörlerdir!
AC/DC akım sensörü ile akım algılamaya başlamak istiyorsanız, önerdiğimiz ürünleri dikkate almanızı öneririz:
- Sadece DC akım algılama için: Grove – 10A DC Akım Sensörü (ACS725)
- Hem AC/DC akım algılama için: Grove – ±5A DC/AC Akım Sensörü (ACS70331)



