Isi kandungan:

Pengukuran Sensor Semasa ACS724 Dengan Arduino: 4 Langkah
Pengukuran Sensor Semasa ACS724 Dengan Arduino: 4 Langkah

Video: Pengukuran Sensor Semasa ACS724 Dengan Arduino: 4 Langkah

Video: Pengukuran Sensor Semasa ACS724 Dengan Arduino: 4 Langkah
Video: Mengukur Nilai Tahanan Sensor Thermocouple 2024, Julai
Anonim
Image
Image
Imej
Imej

Dalam arahan ini, kami akan bereksperimen dengan menyambungkan sensor arus ACS724 ke Arduino untuk membuat pengukuran semasa. Dalam kes ini, sensor semasa adalah variasi +/- 5A yang menghasilkan 400 mv / A.

Arduino Uno mempunyai ADC 10 bit, jadi soalan yang baik adalah: Seberapa tepat bacaan semasa yang kita dapat dan seberapa stabilnya?

Kita akan mulakan dengan hanya menghubungkan sensor ke voltmeter dan meter semasa dan membuat bacaan analog untuk melihat sejauh mana sensor berfungsi dan kemudian kita akan menyambungkannya ke pin Arduino ADC dan melihat sejauh mana ia berfungsi.

Bekalan

1 - Papan roti2 - Bekalan kuasa bangku 2 - DVM's1 - Sensor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, perintang 10W1 - cap 1nF1 - topi 10nF1 - cap 0.1uFJumpers

Langkah 1:

Litar ujian adalah seperti yang ditunjukkan dalam rajah. Sambungan dari pin Arduino 5V ke rel LM7805 + 5V adalah pilihan. Anda mungkin mendapat hasil yang lebih baik dengan pelompat ini tetapi berhati-hati dengan pendawaian anda jika menggunakannya kerana Arduino disambungkan ke komputer anda dan bekalan kuasa kedua akan melebihi 5V apabila anda menghidupkannya untuk meningkatkan arus melalui sensor.

Sekiranya anda menyambungkan bekalan kuasa bersama-sama, maka bekalan kuasa sensor dan bekalan kuasa Arduino akan mempunyai titik rujukan + 5V yang sama dan anda mengharapkan hasil yang lebih konsisten.

Saya melakukan ini tanpa sambungan ini dan saya melihat bacaan arus sifar yang lebih tinggi pada sensor semasa (2.530 V dan bukannya 2.500 V yang diharapkan) dan bacaan ADC yang lebih rendah daripada jangkaan pada titik arus sifar. Saya mendapat bacaan ADC digital sekitar 507 hingga 508 tanpa arus melalui sensor, kerana 2.500V anda akan melihat bacaan ADC sekitar 512. Saya membetulkannya dalam perisian.

Langkah 2: Pengukuran Ujian

Pengukuran Ujian
Pengukuran Ujian

Pengukuran analog dengan voltmeter dan ammeter menunjukkan bahawa sensor sangat tepat. Pada arus ujian 0.5A, 1.0A dan 1.5A, ia betul untuk milivolt.

Pengukuran ADC dengan Arduino hampir tidak tepat. Pengukuran ini dibatasi oleh resolusi 10 bit dari Arduino ADC dan masalah kebisingan (lihat video). Kerana kebisingan, bacaan ADC melonjak dalam keadaan terburuk hingga 10 atau lebih langkah tanpa arus melalui sensor. Memandangkan setiap langkah mewakili kira-kira 5 mv, ini adalah mengenai turun naik 50 mv dan dengan sensor 400mv / amp mewakili turun naik 50mv / 400mv / amp = 125ma! Satu-satunya cara untuk mendapatkan bacaan yang bermakna adalah dengan mengambil 10 bacaan berturut-turut dan kemudian mengira rata-rata.

Dengan tahap ADC 10 bit atau 1024 kemungkinan dan VV 5V, kita dapat menyelesaikan kira-kira 5/1023 ~ 5mv setiap langkah. Sensor keluar meletakkan 400mv / Amp. Jadi paling baik kita mempunyai resolusi 5mv / 400mv / amp ~ 12.5ma.

Oleh itu, gabungan turun naik kerana bunyi dan resolusi rendah bermaksud bahawa kita tidak dapat menggunakan kaedah ini untuk mengukur arus secara tepat dan konsisten, terutamanya arus kecil. Kita boleh menggunakan kaedah ini untuk memberi kita idea mengenai tahap semasa pada arus yang lebih tinggi tetapi tidak begitu tepat.

Langkah 3: Kesimpulan

Kesimpulannya
Kesimpulannya

Kesimpulan:

-Bacaan analog ACS724 sangat tepat.

-ACS724 harus berfungsi dengan baik dengan litar analog. contohnya mengawal arus bekalan kuasa dengan gelung maklum balas analog.

-Ada masalah dengan bunyi dan resolusi menggunakan ACS724 dengan Arduino 10 bit ADC.

-Cukup baik untuk hanya memantau arus purata untuk litar arus yang lebih tinggi tetapi tidak cukup baik untuk kawalan arus berterusan.

-Mungkin perlu menggunakan cip ADC 12 bit atau lebih luaran untuk hasil yang lebih baik.

Langkah 4: Kod Arduino

Inilah kod yang saya gunakan untuk mengukur nilai ADC pin Arduino A0 dan kod untuk menukar voltan sensor ke arus dan mengambil purata 10 bacaan. Kod ini cukup jelas dan dikomen untuk penukaran dan rata-rata kod.

Disyorkan: