İçindekiler:

ACS724 Arduino İle Akım Sensörü Ölçümleri: 4 Adım
ACS724 Arduino İle Akım Sensörü Ölçümleri: 4 Adım

Video: ACS724 Arduino İle Akım Sensörü Ölçümleri: 4 Adım

Video: ACS724 Arduino İle Akım Sensörü Ölçümleri: 4 Adım
Video: Arduino Projeleri - Arduino Nano İle Kendi Wattmetremizi Yapıyoruz - Wattmetre Nasıl Yapılır? 2024, Kasım
Anonim
Image
Image
resim
resim

Bu talimatta, akım ölçümleri yapmak için bir ACS724 akım sensörünü bir Arduino'ya bağlamayı deneyeceğiz. Bu durumda akım sensörü, 400 mv/A çıkış veren bir +/- 5A çeşididir.

Arduino Uno'nun 10 bit ADC'si var, bu yüzden iyi sorular: Alabileceğimiz mevcut okuma ne kadar doğru ve ne kadar kararlı?

Sensörü bir voltmetreye ve bir akım ölçere bağlayarak başlayacağız ve sensörün ne kadar iyi çalıştığını görmek için analog okumalar yapacağız ve ardından onu bir Arduino ADC pinine bağlayacağız ve ne kadar iyi çalıştığını göreceğiz.

Gereçler

1 - Breadboard2 - Masaüstü güç kaynakları2 - DVM'ler1 - ACS724 sensör +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W dirençler1 - 1nF kapak1 - 10nF kapak1 - 0.1uF kapakJumper'lar

Aşama 1:

Test devresi şemada gösterildiği gibidir. Arduino 5V pininden LM7805 +5V rayına bağlantı isteğe bağlıdır. Bu jumper yerinde daha iyi sonuçlar alabilirsiniz ancak Arduino bilgisayarınıza bağlı olduğu için kullanırsanız kablolamanıza dikkat edin ve sensörden geçen akımı artırmak için açtığınızda ikinci güç kaynağı 5V'u geçecektir.

Güç kaynaklarını birbirine bağlarsanız, sensör güç kaynağı ve Arduino güç kaynağı tamamen aynı +5V referans noktasına sahip olacak ve daha tutarlı sonuçlar bekleyebilirsiniz.

Bunu bu bağlantı olmadan yaptım ve akım sensöründe daha yüksek bir sıfır akım okuması (beklenen 2.500 V yerine 2.530 V) ve sıfır akım noktasında beklenenden daha düşük ADC okuması gördüm. Sensörden geçen akım olmadan yaklaşık 507 ila 508 arasında bir dijital ADC okuması alıyordum, 2.500V için yaklaşık 512 ADC okuması görmelisiniz. Yazılımda bunun için düzelttim.

Adım 2: Test Ölçümleri

Test Ölçümleri
Test Ölçümleri

Bir voltmetre ve ampermetre ile yapılan analog ölçümler, sensörün çok doğru olduğunu gösterdi. 0.5A, 1.0A ve 1.5A test akımlarında, milivolta tam olarak doğruydu.

Arduino ile ADC ölçümleri neredeyse doğru değildi. Bu ölçümler, Arduino ADC'nin 10 bit çözünürlüğü ve gürültü sorunları ile sınırlıydı (videoya bakın). Gürültü nedeniyle, ADC okuması, sensörde akım olmadan 10 veya daha fazla adıma kadar en kötü durumda atlıyordu. Her adımın yaklaşık 5 mv'yi temsil ettiği göz önüne alındığında, bu yaklaşık 50 mv'lik bir dalgalanmadır ve 400 mv/amp'lik bir sensör ile 50 mv/400 mv/amper = 125ma'lık bir dalgalanmayı temsil eder! Anlamlı bir okuma elde edebilmemin tek yolu, arka arkaya 10 okuma alıp ortalamasını almaktı.

10 bit ADC veya 1024 olası seviye ve 5V Vcc ile adım başına yaklaşık 5/1023 ~ 5mv çözebiliriz. Sensör çıkışı 400mv/Amp verir. Yani en iyi ihtimalle 5mv/400mv/amp ~ 12.5ma çözünürlüğümüz var.

Dolayısıyla, gürültü ve düşük çözünürlükten kaynaklanan dalgalanmaların birleşimi, bu yöntemi, akımı, özellikle küçük akımları doğru ve tutarlı bir şekilde ölçmek için kullanamayacağımız anlamına gelir. Bu yöntemi, bize daha yüksek akımlarda mevcut seviye hakkında bir fikir vermek için kullanabiliriz, ancak bu o kadar doğru değil.

3. Adım: Sonuçlar

Sonuçlar
Sonuçlar

Sonuçlar:

-ACS724 analog okumaları çok doğrudur.

-ACS724, analog devrelerle çok iyi çalışmalıdır. örneğin bir analog geri besleme döngüsü ile güç kaynağı akımını kontrol etme.

-Arduino 10 bit ADC ile ACS724 kullanırken gürültü ve çözünürlükle ilgili sorunlar var.

-Daha yüksek akım devreleri için sadece ortalama akımı izlemek için yeterince iyi, ancak sabit akım kontrolü için yeterince iyi değil.

-Daha iyi sonuçlar için harici 12 bit veya daha fazla ADC çipi kullanmanız gerekebilir.

Adım 4: Arduino Kodu

Arduino A0 pin ADC değerini basitçe ölçmek için kullandığım kod ve sensör voltajını akıma çevirerek ortalama 10 okuma almak için kullandığım kod. Kod oldukça açıklayıcıdır ve dönüştürme ve ortalama kodu için yorumlanmıştır.

Önerilen: