- Bahan yang Diperlukan:
- Bekerja ACS712 Sensor Semasa:
- Rajah Litar:
- Simulasi:
- Mengaturcara PIC Microcontroller:
- Bekerja:
Mengukur voltan dan arus akan sangat membantu semasa membuat atau menyahpepijat sebarang sistem elektrik. Dalam projek ini kita akan membuat Ammeter Digital kita sendiri menggunakan Mikrokontroler PIC16F877A dan sensor semasa ACS712-5A. Projek ini dapat mengukur arus AC dan DC dengan julat 0-30A dengan ketepatan 0.3A. Dengan sedikit pengubahsuaian pada kod, anda juga dapat menggunakan litar ini untuk mengukur hingga 30A. Oleh itu mari kita mulakan !!!
Bahan yang Diperlukan:
- PIC16F877A
- 7805 Pengatur Voltan
- Sensor ACS712 semasa
- Paparan LCD 16 * 2
- Kotak persimpangan dan muatan (Hanya untuk ujian)
- Menyambung wayar
- Kapasitor
- Papan roti.
- Bekalan kuasa - 12V
Bekerja ACS712 Sensor Semasa:
Sebelum kita mula membina projek, sangat penting bagi kita untuk memahami cara kerja ACS712 Sensor semasa kerana ia adalah komponen utama projek. Mengukur arus terutamanya arus AC selalu menjadi tugas yang sukar kerana kebisingan ditambah dengan masalah pengasingan yang tidak betul dan lain-lain. Tetapi, dengan bantuan modul ACS712 ini yang direkayasa oleh Allegro perkara menjadi lebih mudah.
Modul ini berfungsi berdasarkan prinsip Hall-effect, yang ditemui oleh Dr. Edwin Hall. Menurut prinsipnya, apabila konduktor pembawa arus ditempatkan ke medan magnet, voltan dihasilkan melintasi tepinya yang berserenjang dengan arah arus dan medan magnet. Jangan sampai kita terlalu memahami konsep ini, tetapi kita hanya menggunakan sensor dewan untuk mengukur medan magnet di sekitar konduktor pembawa arus. Pengukuran ini adalah dari segi milivolt yang kita sebut sebagai voltan dewan. Voltan dewan yang diukur sebanding dengan arus yang mengalir melalui konduktor.
Kelebihan utama menggunakan ACS712 Current Sensor adalah dapat mengukur arus AC dan DC dan juga memberikan pengasingan antara Beban (beban AC / DC) dan Unit Pengukur (bahagian Mikrokontroler). Seperti yang ditunjukkan dalam gambar, kami mempunyai tiga pin pada modul yang masing-masing adalah Vcc, Vout dan Ground.
Blok terminal 2-pin adalah tempat wayar pembawa arus harus dilalui. Modul berfungsi pada + 5V sehingga Vcc harus dikuasakan oleh 5V dan tanah harus disambungkan ke Ground sistem. Pin Vout mempunyai voltan ofset 2500mV, yang bermaksud apabila tidak ada arus yang mengalir melalui wayar maka voltan keluaran akan menjadi 2500mV dan ketika arus mengalir positif, voltan akan lebih besar dari 2500mV dan ketika arus yang mengalir negatif, voltan akan kurang daripada 2500mV.
Kami akan menggunakan modul ADC mikrokontroler PIC untuk membaca voltan keluaran (Vout) modul, yang akan menjadi 512 (2500mV) apabila tidak ada arus yang mengalir melalui wayar. Nilai ini akan berkurang ketika arus mengalir ke arah negatif dan akan meningkat seiring arus mengalir ke arah positif. Jadual di bawah akan membantu anda memahami bagaimana voltan output dan nilai ADC berbeza berdasarkan arus yang mengalir melalui wayar.
Nilai-nilai ini dihitung berdasarkan maklumat yang diberikan dalam Lembar Data ACS712. Anda juga boleh menghitungnya menggunakan formula di bawah:
Voltan Vout (mV) = (Nilai ADC / 1023) * 5000 Semasa Melalui Kawat (A) = (Vout (mv) -2500) / 185
Sekarang, kita tahu bagaimana Sensor ACS712 berfungsi dan apa yang dapat kita harapkan darinya. Mari kita teruskan ke gambarajah litar.
Rajah Litar:
Gambarajah litar lengkap Projek Ammeter Digital ini ditunjukkan dalam gambar di bawah.
Litar meter arus digital yang lengkap berfungsi pada + 5V yang dikawal selia oleh pengatur Voltan 7805. Kami telah menggunakan LCD 16X2 untuk memaparkan nilai arus. Pin output Sensor semasa (Vout) disambungkan ke pin 7 PIC yang merupakan AN4 untuk membaca voltan Analog.
Selanjutnya sambungan pin untuk PIC ditunjukkan dalam jadual di bawah
S.No: |
Nombor PIN |
Nama Pin |
Berhubung dengan |
1 |
21 |
RD2 |
RS LCD |
2 |
22 |
RD3 |
E dari LCD |
3 |
27 |
RD4 |
D4 dari LCD |
4 |
28 |
RD5 |
D5 dari LCD |
5 |
29 |
RD6 |
D6 dari LCD |
6 |
30 |
RD7 |
D7 dari LCD |
7 |
7 |
AN4 |
Penyakit Sesnor Semasa |
Anda boleh membina litar ammeter digital ini di papan roti atau menggunakan papan wangi. Sekiranya anda mengikuti tutorial PIC maka anda juga boleh menggunakan semula perkakasan yang kami gunakan untuk belajar mikrokontroler PIC. Di sini kami telah menggunakan Papan perf yang sama dengan yang kami buat untuk LED Blinking with PIC Microcontroller, seperti gambar di bawah:
Catatan: Tidak wajib bagi anda untuk membina papan ini, anda hanya boleh mengikuti gambarajah litar dan membina rangkaian anda di papan roti dan menggunakan sebarang alat dumper untuk membuang program anda ke dalam PIC Microcontroller.
Simulasi:
Ini litar meter semasa juga boleh disimulasikan menggunakan Proteus sebelum anda sebenarnya meneruskan perkakasan anda. Tetapkan fail hex kod yang diberikan pada akhir tutorial ini dan klik pada butang main. Anda seharusnya dapat melihat arus pada paparan LCD. Saya telah menggunakan Lampu sebagai beban AC, anda boleh mengubah rintangan dalaman Lampu dengan mengkliknya untuk mengubah arus yang mengalir melaluinya.
Seperti yang anda lihat dalam gambar di atas, Ammeter menunjukkan arus sebenar yang mengalir melalui Lampu sekitar 3,52 A dan LCD menunjukkan arus sekitar 3.6A. Tetapi dalam kes praktikal, kita mungkin mendapat Kesalahan hingga 0.2A. Nilai dan voltan ADC dalam (mV) juga ditunjukkan pada LCD untuk pemahaman anda.
Mengaturcara PIC Microcontroller:
Seperti yang diberitahu sebelumnya, kod lengkap boleh didapati di akhir artikel ini. Kod ini dijelaskan sendiri dengan baris komen dan hanya melibatkan konsep antara muka LCD dengan PIC Microcontroller dan Menggunakan modul ADC dalam PIC Microcontroller yang telah kita bahas dalam tutorial pembelajaran PIC Microcontroller sebelumnya.
Nilai yang dibaca dari sensor tidak akan tepat kerana arus bergantian dan juga mengalami kebisingan. Oleh itu, kami membaca nilai ADC selama 20 Kali dan rata-rata untuk mendapatkan Nilai semasa yang sesuai seperti yang ditunjukkan dalam kod di bawah.
Kami telah menggunakan formula yang sama yang dijelaskan di atas untuk mengira voltan dan nilai Semasa.
untuk (int i = 0; i <20; i ++) // Nilai baca selama 20 Kali {adc = 0; adc = ADC_Read (4); // Baca Voltan ADC = adc * 4.8828; // Hitung Voltan jika (Voltage> = 2500) // Sekiranya arus positif Amps + = ((Voltage-2500) /18.5); lain jika (Voltan <= 2500) // Sekiranya arus negatif Amps + = ((2500-Voltan) /18.5); } Amps / = 20; // Rata-rata nilai yang dibaca selama 20 kali
Oleh kerana projek ini juga dapat membaca arus AC, aliran semasa akan menjadi negatif dan positif juga. Itulah nilai voltan keluaran akan berada di atas dan di bawah 2500mV. Oleh itu seperti yang ditunjukkan di bawah ini kita mengubah formula arus negatif dan positif supaya kita tidak mendapat nilai negatif.
if (Voltage> = 2500) // Sekiranya arus positif Amps + = ((Voltage-2500) /18.5); lain jika (Voltan <= 2500) // Sekiranya arus negatif Amps + = ((2500-Voltan) /18.5);
Menggunakan sensor arus 30A:
Sekiranya anda perlu mengukur arus lebih dari 5A, anda hanya boleh membeli modul ACS712-30A dan menyambungkannya dengan cara yang sama dan menukar garis kod di bawah dengan menggantikan 18.5 dengan 0.66 seperti yang ditunjukkan di bawah:
if (Voltage> = 2500) // Sekiranya arus positif Amps + = ((Voltage-2500) /0.66); lain jika (Voltan <= 2500) // Sekiranya arus negatif Amps + = ((2500-Voltan) /0.66);
Periksa juga Ammeter 100mA menggunakan AVR Microcontroller jika anda ingin mengukur arus rendah.
Bekerja:
Setelah anda memprogram mikrokontroler PIC dan menyediakan perkakasan anda. Cukup hidupkan beban dan mikrokontroler PIC anda, anda seharusnya dapat melihat arus yang melewati wayar yang dipaparkan di skrin LCD anda.
CATATAN: JIKA anda menggunakan modul ASC7125A pastikan beban anda tidak memakan lebih daripada 5A juga gunakan wayar tolok yang lebih tinggi untuk konduktor membawa arus.
Kerja lengkap projek ammeter berasaskan mikrokontroler PIC ditunjukkan dalam Video di bawah. Semoga projek anda berjaya dan seronok melakukannya. Sekiranya anda mempunyai keraguan, anda boleh menulisnya di bahagian komen di bawah atau menghantarnya di forum kami.