Daftar Isi:

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

Video: Pengukuran Sensor Arus ACS724 Dengan Arduino: 4 Langkah

Video: Pengukuran Sensor Arus ACS724 Dengan Arduino: 4 Langkah
Video: TLI4971 – Our new XENSIV™ magnetic current sensor | Infineon 2024, Juli
Anonim
Image
Image
Gambar
Gambar

Dalam instruksi ini kami akan bereksperimen dengan menghubungkan sensor arus ACS724 ke Arduino untuk melakukan pengukuran arus. Dalam hal ini sensor arus adalah variasi +/- 5A yang menghasilkan 400 mv/A.

Arduino Uno memiliki ADC 10 bit, jadi pertanyaan yang bagus adalah: Seberapa akurat pembacaan saat ini yang bisa kita dapatkan dan seberapa stabil?

Kita akan mulai dengan hanya menghubungkan sensor ke voltmeter dan pengukur arus dan membuat pembacaan analog untuk melihat seberapa baik sensor bekerja dan kemudian kita akan menghubungkannya ke pin Arduino ADC dan melihat seberapa baik kerjanya.

Perlengkapan

1 - Breadboard2 - Catu daya Benchtop2 - DVM's1 - Sensor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, resistor 10W1 - tutup 1nF1 - tutup 10nF1 - tutup 0,1uFJumper

Langkah 1:

Rangkaian tes seperti yang ditunjukkan pada diagram. Koneksi dari pin Arduino 5V ke rel LM7805 +5V adalah opsional. Anda mungkin mendapatkan hasil yang lebih baik dengan jumper ini di tempat tetapi hati-hati dengan kabel Anda jika Anda menggunakannya karena Arduino terhubung ke komputer Anda dan catu daya kedua akan melebihi 5V saat Anda menyalakannya untuk meningkatkan arus melalui sensor.

Jika Anda menghubungkan catu daya bersama-sama maka catu daya sensor dan catu daya Arduino akan memiliki titik referensi +5V yang sama persis dan Anda akan mengharapkan hasil yang lebih konsisten.

Saya melakukan ini tanpa koneksi ini dan saya melihat pembacaan arus nol yang lebih tinggi pada sensor saat ini (2,530 V, bukan 2,500 V yang diharapkan) dan pembacaan ADC yang lebih rendah dari yang diharapkan pada titik arus nol. Saya mendapatkan pembacaan ADC digital sekitar 507 hingga 508 tanpa arus melalui sensor, untuk 2.500V Anda akan melihat pembacaan ADC sekitar 512. Saya mengoreksi ini dalam perangkat lunak.

Langkah 2: Uji Pengukuran

Pengukuran Tes
Pengukuran Tes

Pengukuran analog dengan voltmeter dan ammeter menunjukkan bahwa sensor sangat akurat. Pada arus uji 0,5A, 1,0A, dan 1,5A, arus tersebut benar-benar tepat untuk milivolt.

Pengukuran ADC dengan Arduino hampir tidak akurat. Pengukuran ini dibatasi oleh resolusi 10 bit dari ADC Arduino dan masalah kebisingan (lihat video). Karena kebisingan, pembacaan ADC melompati kasus terburuk hingga 10 langkah atau lebih tanpa arus melalui sensor. Mengingat bahwa setiap langkah mewakili sekitar 5 mv, ini adalah sekitar fluktuasi 50 mv dan dengan sensor 400mv/amp mewakili fluktuasi 50mv/400mv/amp = 125ma! Satu-satunya cara saya bisa mendapatkan bacaan yang bermakna adalah dengan mengambil 10 bacaan berturut-turut dan kemudian rata-rata.

Dengan 10 bit ADC atau 1024 kemungkinan level dan 5V Vcc, kita dapat menyelesaikan sekitar 5/1023 ~ 5mv per langkah. Sensor keluar menempatkan 400mv/Amp. Jadi yang terbaik kami memiliki resolusi 5mv/400mv/amp ~ 12,5ma.

Jadi kombinasi fluktuasi akibat noise dan resolusi rendah berarti bahwa kita tidak dapat menggunakan metode ini untuk mengukur arus secara akurat dan konsisten, terutama arus kecil. Kita dapat menggunakan metode ini untuk memberi kita gambaran tentang level arus pada arus yang lebih tinggi tetapi itu tidak begitu akurat.

Langkah 3: Kesimpulan

Kesimpulan
Kesimpulan

Kesimpulan:

Pembacaan analog -ACS724 sangat akurat.

-ACS724 harus bekerja sangat baik dengan sirkuit analog. misalnya mengendalikan arus catu daya dengan loop umpan balik analog.

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

-Cukup baik untuk hanya memantau arus rata-rata untuk sirkuit arus yang lebih tinggi tetapi tidak cukup baik untuk kontrol arus konstan.

-Mungkin perlu menggunakan chip ADC 12 bit eksternal atau lebih untuk hasil yang lebih baik.

Langkah 4: Kode Arduino

Berikut kode yang saya gunakan untuk mengukur nilai ADC pin Arduino A0 dan kode untuk mengubah tegangan sensor menjadi arus dan mengambil rata-rata 10 pembacaan. Kode ini cukup jelas dan dikomentari untuk kode konversi dan rata-rata.

Direkomendasikan: