- Bahan yang Dibutuhkan:
- Cara Kerja Sensor Arus ACS712:
- Diagram Sirkuit:
- Simulasi:
- Memprogram Mikrokontroler PIC:
- Kerja:
Mengukur tegangan dan arus akan selalu membantu saat membuat atau men-debug sistem kelistrikan apa pun. Dalam proyek ini kita akan membuat Ammeter Digital sendiri menggunakan Mikrokontroler PIC16F877A dan sensor arus ACS712-5A. Proyek ini dapat mengukur arus AC dan DC dengan kisaran 0-30A dengan akurasi 0,3A. Dengan sedikit modifikasi pada kode, Anda juga dapat menggunakan rangkaian ini untuk mengukur hingga 30A. Jadi mari kita mulai !!!
Bahan yang Dibutuhkan:
- PIC16F877A
- 7805 Regulator Tegangan
- Sensor Arus ACS712
- Layar LCD 16 * 2
- Kotak persimpangan dan beban (Hanya untuk pengujian)
- Menghubungkan kabel
- Kapasitor
- Papan tempat memotong roti.
- Catu daya - 12V
Cara Kerja Sensor Arus ACS712:
Sebelum kita mulai membangun proyek, sangat penting bagi kita untuk memahami cara kerja sensor Arus ACS712 karena ini adalah komponen kunci dari proyek. Mengukur arus terutama arus AC selalu merupakan tugas yang sulit karena kebisingan ditambah dengan masalah isolasi yang tidak tepat dll. Namun, dengan bantuan modul ACS712 yang direkayasa oleh Allegro hal ini menjadi jauh lebih mudah.
Modul ini bekerja berdasarkan prinsip efek Hall, yang ditemukan oleh Dr. Edwin Hall. Menurut prinsipnya, ketika konduktor pembawa arus ditempatkan ke dalam medan magnet, tegangan dihasilkan melintasi tepinya tegak lurus terhadap arah arus dan medan magnet. Mari kita tidak terlalu jauh ke dalam konsep tetapi, sederhananya kita menggunakan sensor hall untuk mengukur medan magnet di sekitar konduktor pembawa arus. Pengukuran ini akan dalam satuan milivolt yang kami sebut sebagai tegangan hall. Hall-voltage yang diukur ini sebanding dengan arus yang mengalir melalui konduktor.
Keuntungan utama menggunakan Sensor Arus ACS712 adalah dapat mengukur arus AC dan DC dan juga menyediakan isolasi antara Beban (beban AC / DC) dan Satuan Pengukur (bagian Mikrokontroler). Seperti yang ditunjukkan pada gambar, kami memiliki tiga pin pada modul masing-masing yaitu Vcc, Vout dan Ground.
Blok terminal 2-pin adalah tempat kabel pembawa arus harus dilewati. Modul ini bekerja pada + 5V sehingga Vcc harus diberi daya oleh 5V dan ground harus terhubung ke Ground sistem. Pin Vout mempunyai tegangan offset 2500mV, artinya bila tidak ada arus yang mengalir melalui kawat maka tegangan keluaran akan menjadi 2500mV dan bila arus yang mengalir positif maka tegangan akan lebih besar dari 2500mV dan bila arus yang mengalir negatif maka tegangan akan kurang dari 2500mV.
Kami akan menggunakan modul ADC dari mikrokontroler PIC untuk membaca tegangan output (Vout) dari modul, yang akan menjadi 512 (2500mV) ketika tidak ada arus yang mengalir melalui kabel. Nilai ini akan berkurang seiring arus mengalir ke arah negatif dan akan meningkat seiring arus mengalir ke arah positif. Tabel di bawah ini akan membantu Anda memahami bagaimana tegangan output dan nilai ADC bervariasi berdasarkan arus yang mengalir melalui kabel.
Nilai-nilai ini dihitung berdasarkan informasi yang diberikan dalam Lembar Data ACS712. Anda juga dapat menghitungnya menggunakan rumus di bawah ini:
Tegangan Vout (mV) = (Nilai ADC / 1023) * 5000 Arus Melalui Kawat (A) = (Vout (mv) -2500) / 185
Sekarang, setelah kita mengetahui cara kerja Sensor ACS712 dan apa yang dapat diharapkan darinya. Mari kita lanjutkan ke diagram rangkaian.
Diagram Sirkuit:
Diagram rangkaian lengkap Proyek Ammeter Digital ini ditunjukkan pada gambar di bawah ini.
Rangkaian pengukur arus digital lengkap bekerja pada + 5V yang diatur oleh regulator Tegangan 7805. Kami telah menggunakan LCD 16X2 untuk menampilkan nilai arus. Pin keluaran Sensor arus (Vout) dihubungkan ke pin ke 7 PIC yang merupakan AN4 untuk membaca tegangan Analog.
Selanjutnya koneksi pin untuk PIC ditunjukkan pada tabel di bawah ini
S.Tidak: |
Nomor PIN |
Nama Pin |
Terhubung dengan |
1 |
21 |
RD2 |
RS LCD |
2 |
22 |
RD3 |
E dari LCD |
3 |
27 |
RD4 |
D4 LCD |
4 |
28 |
RD5 |
D5 LCD |
5 |
29 |
RD6 |
D6 LCD |
6 |
30 |
RD7 |
D7 LCD |
7 |
7 |
AN4 |
Vout dari Sesnor Saat Ini |
Anda bisa membangun rangkaian amperemeter digital ini di papan tempat memotong roti atau menggunakan papan kinerja. Jika Anda telah mengikuti tutorial PIC maka Anda juga dapat menggunakan kembali perangkat keras yang kami gunakan untuk mempelajari mikrokontroler PIC. Di sini kami telah menggunakan Perf Board yang sama yang telah kami buat untuk LED Berkedip dengan Mikrokontroler PIC, seperti yang ditunjukkan di bawah ini:
Catatan: Tidak wajib bagi Anda untuk membangun papan ini, Anda cukup mengikuti diagram sirkuit dan membangun sirkuit Anda di papan roti dan menggunakan kit dumper untuk membuang program Anda ke Mikrokontroler PIC.
Simulasi:
Ini sirkuit meter arus juga dapat disimulasikan menggunakan Proteus sebelum Anda benar-benar melanjutkan dengan Hardware Anda. Tetapkan file hex dari kode yang diberikan di akhir tutorial ini dan klik tombol putar. Anda seharusnya dapat melihat arus pada layar LCD. Saya telah menggunakan Lampu sebagai beban AC, Anda dapat memvariasikan resistansi internal Lampu dengan mengkliknya untuk memvariasikan arus yang mengalir melaluinya.
Seperti yang Anda lihat pada gambar di atas, Ammeter menunjukkan arus aktual yang mengalir melalui Lampu yaitu sekitar 3,52 A dan LCD menunjukkan arus sekitar 3,6A. Namun dalam kasus praktis kita mungkin mendapatkan Error hingga 0.2A. Nilai ADC dan tegangan dalam (mV) juga ditampilkan di LCD untuk pemahaman Anda.
Memprogram Mikrokontroler PIC:
Seperti yang diceritakan sebelumnya, kode lengkap dapat ditemukan di akhir artikel ini. Kode dijelaskan sendiri dengan baris komentar dan hanya melibatkan konsep antarmuka LCD dengan Mikrokontroler PIC dan Menggunakan modul ADC di Mikrokontroler PIC yang telah kita bahas dalam tutorial sebelumnya tentang pembelajaran Mikrokontroler PIC.
Nilai yang dibaca dari sensor tidak akan akurat karena arusnya bolak-balik dan juga terkena noise. Karenanya kita membaca nilai ADC sebanyak 20 Kali dan rata-rata untuk mendapatkan Nilai saat ini yang sesuai seperti yang ditunjukkan pada kode di bawah ini.
Kami telah menggunakan rumus yang sama yang dijelaskan di atas untuk menghitung tegangan dan nilai Arus.
for (int i = 0; i <20; i ++) // Baca nilai untuk 20 Kali {adc = 0; adc = ADC_Read (4); // Baca ADC Voltage = adc * 4.8828; // Hitung Tegangan if (Voltage> = 2500) // Jika arusnya positif Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // Jika arus negatif Amps + = ((2500-Voltage) /18.5); } Amp / = 20; // Menghitung rata-rata nilai yang dibaca sebanyak 20 kali
Karena proyek ini juga dapat membaca arus AC, aliran arus akan menjadi negatif dan positif juga. Artinya nilai tegangan keluaran akan berada di atas dan di bawah 2500mV. Karenanya seperti yang ditunjukkan di bawah ini kami mengubah rumus untuk arus negatif dan positif sehingga kami tidak mendapatkan nilai negatif.
if (Voltage> = 2500) // Jika arus positif Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // Jika arus negatif Amps + = ((2500-Voltage) /18.5);
Menggunakan sensor arus 30A:
Jika Anda perlu mengukur arus lebih dari 5A, Anda cukup membeli modul ACS712-30A dan menghubungkannya dengan cara yang sama dan mengubah baris kode di bawah ini dengan mengganti 18,5 dengan 0,66 seperti yang ditunjukkan di bawah ini:
if (Voltage> = 2500) // Jika arusnya positif Amps + = ((Voltage-2500) /0.66); else if (Voltage <= 2500) // Jika arus negatif Amps + = ((2500-Voltage) /0.66);
Cek juga Ammeter 100mA menggunakan Mikrokontroler AVR jika ingin mengukur arus rendah.
Kerja:
Setelah Anda memprogram Mikrokontroler PIC dan menyiapkan perangkat keras Anda. Cukup nyalakan beban dan mikrokontroler PIC Anda, Anda harus dapat melihat arus yang melewati kabel yang ditampilkan di layar LCD Anda.
CATATAN: JIKA Anda menggunakan modul ASC7125A pastikan beban Anda tidak mengkonsumsi lebih dari 5A juga gunakan kabel pengukur yang lebih tinggi untuk konduktor pembawa arus.
Pekerjaan lengkap proyek ammeter berbasis mikrokontroler PIC ditunjukkan pada Video di bawah ini. Semoga proyek Anda berhasil dan senang melakukannya. Jika Anda ragu, Anda dapat menuliskannya di bagian komentar di bawah atau mempostingnya di forum kami.