Mündəricat:

Arduino ilə ACS724 Akım Sensor Ölçmələri: 4 addım
Arduino ilə ACS724 Akım Sensor Ölçmələri: 4 addım

Video: Arduino ilə ACS724 Akım Sensor Ölçmələri: 4 addım

Video: Arduino ilə ACS724 Akım Sensor Ölçmələri: 4 addım
Video: AVO Meter I Analog Meter and Digital Meter I Multimeter I Hobby Electronic #6 2024, Iyul
Anonim
Image
Image
Şəkil
Şəkil

Bu təlimatda, cari ölçmələr aparmaq üçün ACS724 cərəyan sensorunu Arduinoya bağlamaqla sınaqdan keçirəcəyik. Bu halda, cari sensor 400 mv/A çıxan +/- 5A çeşididir.

Arduino Uno -da 10 bitlik bir ADC var, buna görə yaxşı suallar var: əldə edə biləcəyimiz cari oxu nə qədər dəqiqdir və nə qədər sabitdir?

Sensoru bir voltmetr və cərəyan sayğacına bağlayaraq başlayacağıq və sensorun nə qədər yaxşı işlədiyini görmək üçün analoji oxunuşlar edəcəyik, sonra Arduino ADC pininə bağlayacağıq və nə qədər yaxşı işlədiyini görəcəyik.

Təchizat

1 - Breadboard2 - Tezgah üstü enerji təchizatı2 - DVM's1 - ACS724 sensoru +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W rezistorlar1 - 1nF qapağı 1 - 10nF qapağı1 - 0.1uF qapağı

Addım 1:

Test dövrəsi diaqramda göstərildiyi kimidir. Arduino 5V pinindən LM7805 +5V rayına qoşulma isteğe bağlıdır. Bu tullanan yerində daha yaxşı nəticələr əldə edə bilərsiniz, ancaq Arduino kompüterinizə qoşulduğundan və sensordan keçən cərəyanı artırmaq üçün onu açdığınızda ikinci enerji təchizatı 5V -dan artıq olacağından istifadə edirsinizsə kabellərinizə diqqətli olun.

Güc qaynaqlarını birləşdirsəniz, sensor enerji təchizatı və Arduino enerji təchizatı eyni +5V istinad nöqtəsinə sahib olacaq və daha ardıcıl nəticələr gözləyəcəksiniz.

Bunu bu əlaqə olmadan etdim və cərəyan sensöründə daha yüksək sıfır cərəyanı (gözlənilən 2.500 V yerinə 2.530 V) və sıfır cərəyan nöqtəsində gözləniləndən daha aşağı ADC oxuduğunu gördüm. Sensordan heç bir cərəyan olmadan təxminən 507 ilə 508 arasında rəqəmsal bir ADC oxuyurdum, 2.500V üçün təxminən 512 olan bir ADC oxunuşunu görməlisiniz. Bunu proqramda düzəltdim.

Addım 2: Ölçmələri yoxlayın

Test Ölçmələri
Test Ölçmələri

Bir voltmetr və ampermetr ilə analoji ölçülər sensorun çox dəqiq olduğunu göstərdi. 0.5A, 1.0A və 1.5A test cərəyanlarında millivolt üçün tam doğru idi.

Arduino ilə ADC ölçüləri o qədər də dəqiq deyildi. Bu ölçülər Arduino ADC -nin 10 bitlik həlli və səs -küy problemləri ilə məhdudlaşdı (videoya baxın). Səs -küy səbəbiylə ADC oxunuşu sensordan heç bir cərəyan olmadan ən pis halda 10 və ya daha çox pilləyə qədər tullanırdı. Hər bir addımın təxminən 5 mv olduğunu nəzərə alsaq, bu təxminən 50 mv dalğalanma və 400mv/amp sensoru ilə 50mv/400mv/amp = 125ma dalğalanmasını təmsil edir! Mənalı bir oxu əldə etməyin yeganə yolu, ardıcıl olaraq 10 oxunuş götürmək və sonra ortalamaq idi.

10 bit ADC və ya 1024 mümkün səviyyələr və 5V Vcc ilə addım başına təxminən 5/1023 ~ 5mv həll edə bilərik. Sensor 400 mV/Amp çıxarır. Beləliklə, ən yaxşı halda 5mv/400mv/amp ~ 12.5ma qətnaməsinə sahibik.

Səs -küy və aşağı qətnamə səbəbiylə meydana gələn dalğalanmaların birləşməsi, cari, xüsusilə kiçik cərəyanları dəqiq və ardıcıl olaraq ölçmək üçün bu üsuldan istifadə edə bilməyəcəyimiz deməkdir. Bu üsuldan istifadə edərək bizə daha yüksək cərəyanlardakı mövcud səviyyəni təsəvvür edə bilərik, amma bu o qədər də doğru deyil.

Addım 3: Nəticələr

Nəticələr
Nəticələr

Nəticələr:

-ACS724 analoq oxunuşları çox dəqiqdir.

-ACS724 analoq sxemlərlə çox yaxşı işləməlidir. məsələn, analoq geribildirim dövrəsi ilə enerji təchizatı cərəyanının idarə edilməsi.

-Arduino 10 bit ADC ilə ACS724 istifadə edərək səs -küy və qətnamə ilə bağlı problemlər var.

-Yüksək cərəyan dövrələri üçün yalnız orta cərəyanı izləmək üçün kifayətdir, lakin daimi cərəyan idarəsi üçün kifayət qədər yaxşı deyil.

-Daha yaxşı nəticələr üçün xarici 12 bit və ya daha çox ADC çipindən istifadə etmək lazım ola bilər.

Addım 4: Arduino Kodu

Sadəcə Arduino A0 pin ADC dəyərini ölçmək üçün istifadə etdiyim kod və sensor gərginliyini cərəyana çevirmək və ortalama 10 oxunuş almaq üçün kod. Kod kifayət qədər özünü izah edir və kodun çevrilməsi və ortalaması üçün şərh olunur.

Tövsiyə: