- Bahan yang Dibutuhkan
- Diagram Sirkuit
- Satuan Pengukur
- Unit komputasi dan tampilan
- Memprogram Arduino
- Bagaimana cara mengukur dengan lebih akurat?
- Bekerja dan Menguji
Sebagai insinyur elektronik, kami selalu bergantung pada meter / instrumen untuk mengukur dan menganalisis kerja suatu sirkuit. Dimulai dengan multimeter sederhana hingga penganalisis kualitas daya yang kompleks atau DSO, semuanya memiliki aplikasi uniknya sendiri. Sebagian besar pengukur ini sudah tersedia dan dapat dibeli berdasarkan parameter yang akan diukur dan akurasinya. Tetapi terkadang kita mungkin berakhir dalam situasi di mana kita perlu membangun meteran kita sendiri. Katakanlah misalnya Anda sedang mengerjakan proyek PV surya dan Anda ingin menghitung konsumsi daya beban Anda, dalam skenario seperti itu kita dapat membangun Wattmeter kita sendiri menggunakan platform mikrokontroler sederhana seperti Arduino.
Membangun pengukur Anda sendiri tidak hanya menurunkan biaya pengujian, tetapi juga memberi kami ruang untuk memudahkan proses pengujian. Seperti, alat pengukur watt yang dibangun menggunakan Arduino dapat dengan mudah di-tweak untuk memantau hasil pada monitor Serial dan memplot grafik pada plotter Serial atau menambahkan kartu SD untuk secara otomatis mencatat nilai tegangan, arus dan daya pada interval yang telah ditentukan sebelumnya. Kedengarannya menarik kan !? Jadi mari kita mulai…
Bahan yang Dibutuhkan
- Arduino Nano
- Op-Amp LM358
- 7805 Pengatur tegangan
- Layar LCD 16 * 2
- 0,22 ohm resistor shunt 2Watt
- 10k Pot pemangkas
- Resistor 10k, 20k, 2.2k, 1k
- Kapasitor 0.1uF
- Beban Uji
- Papan perf atau papan tempat memotong roti
- Kit solder (opsional)
Diagram Sirkuit
Diagram sirkuit lengkap dari proyek wattmeter arduino diberikan di bawah ini.
Untuk memudahkan pemahaman rangkaian wattmeter arduino dipecah menjadi dua unit. Bagian atas rangkaian adalah unit pengukur dan bagian bawah rangkaian adalah unit komputasi dan tampilan. Bagi orang yang baru mengenal sirkuit jenis ini mengikuti labelnya. Contoh + 5V adalah label yang berarti bahwa semua pin yang dihubungkan dengan label harus dipertimbangkan karena mereka saling terhubung. Label biasanya digunakan untuk membuat diagram rangkaian terlihat rapi.
Sirkuit ini dirancang agar sesuai dengan sistem yang beroperasi antara 0-24V dengan kisaran arus 0-1A dengan mengingat spesifikasi PV Surya. Tetapi Anda dapat dengan mudah memperluas jangkauan setelah Anda memahami cara kerja rangkaian. Prinsip yang mendasari di balik rangkaian adalah untuk mengukur tegangan melintasi beban dan arus yang melaluinya untuk menghitung daya yang dikonsumsi olehnya. Semua nilai yang diukur akan ditampilkan dalam LCD Alfanumerik 16 * 2.
Lebih jauh di bawah, mari kita pisahkan rangkaian menjadi segmen-segmen kecil sehingga kita bisa mendapatkan gambaran yang jelas tentang cara kerja rangkaian indentasi.
Satuan Pengukur
Satuan ukur terdiri dari pembagi potensial untuk membantu kita mengukur tegangan dan resistor penutup dengan Op-amp Non-Pembalik digunakan untuk membantu kita mengukur arus yang melalui rangkaian. Bagian pembagi potensial dari rangkaian di atas ditunjukkan di bawah ini
Di sini tegangan Input diwakili oleh Vcc, seperti yang diceritakan sebelumnya kami merancang rangkaian untuk rentang tegangan dari 0V hingga 24V. Tetapi mikrokontroler seperti Arduino tidak dapat mengukur nilai tegangan setinggi itu; itu hanya dapat mengukur tegangan dari 0-5V. Jadi kita harus memetakan (mengubah) rentang tegangan 0-24V ke 0-5V. Ini dapat dengan mudah dilakukan dengan menggunakan rangkaian pembagi potensial seperti yang ditunjukkan di bawah ini. Resistor 10k dan 2.2k bersama-sama membentuk rangkaian pembagi potensial. Tegangan output pembagi potensial dapat dihitung menggunakan rumus di bawah ini. Hal yang sama digunakan untuk menentukan nilai resistor Anda, Anda dapat menggunakan kalkulator online kami untuk menghitung nilai resistor jika Anda mendesain ulang rangkaian.
Vout = (Vin × R2) / (R1 + R2)
0-5V yang dipetakan dapat diperoleh dari bagian tengah yang diberi label sebagai Tegangan. Tegangan yang dipetakan ini kemudian dapat diumpankan ke pin Arduino Analog nanti.
Selanjutnya kita harus mengukur arus yang melalui LOAD. Seperti yang kita ketahui mikrokontroler hanya dapat membaca tegangan analog, jadi kita perlu mengubah nilai arus menjadi tegangan. Hal ini dapat dilakukan dengan hanya menambahkan resistor (resistor shunt) di jalur yang menurut hukum Ohm akan menjatuhkan nilai tegangan yang sebanding dengan arus yang mengalir melaluinya. Nilai penurunan tegangan ini akan sangat kecil sehingga kami menggunakan op-amp untuk memperkuatnya. Sirkuit yang sama ditunjukkan di bawah ini
Di sini nilai resistor shunt (SR1) adalah 0,22 Ohm. Seperti yang dikatakan sebelumnya, kami merancang rangkaian untuk 0-1A sehingga berdasarkan hukum Ohm kami dapat menghitung penurunan tegangan pada resistor ini yang akan menjadi sekitar 0,2V ketika arus maksimum 1A melewati beban. Tegangan ini sangat kecil untuk dibaca oleh mikrokontroler, kami menggunakan Op-Amp dalam mode Amplifier Non-Pembalik untuk meningkatkan tegangan dari 0,2V ke level yang lebih tinggi untuk dibaca Arduino.
Op-Amp dalam mode Non-Pembalik ditampilkan di atas. Penguat dirancang untuk memiliki penguatan 21, sehingga 0,2 * 21 = 4.2V. Rumus untuk menghitung penguatan Op-amp diberikan di bawah ini, Anda juga dapat menggunakan kalkulator penguatan online ini untuk mendapatkan nilai resistor Anda jika Anda mendesain ulang rangkaian.
Penguatan = Vout / Vin = 1 + (Rf / Rin)
Di sini, dalam kasus kami, nilai Rf adalah 20k dan nilai Rin adalah 1k yang memberi kita nilai gian 21. Tegangan yang diperkuat dari Op-amp kemudian diberikan ke filter RC dengan resistor 1k dan kapasitor 0.1uF ke saring suara apa pun yang digabungkan. Akhirnya tegangan tersebut kemudian diumpankan ke pin analog Arduino.
Bagian terakhir yang tersisa pada unit pengukur adalah bagian pengatur tegangan. Karena kami akan memberikan tegangan input variabel, kami memerlukan volt + 5V yang diatur untuk Arduino dan Op-amp untuk beroperasi. Tegangan yang diatur ini akan disediakan oleh regulator Tegangan 7805. Kapasitor ditambahkan pada output untuk menyaring kebisingan.
Unit komputasi dan tampilan
Dalam unit pengukuran kami telah merancang rangkaian untuk mengubah parameter Tegangan dan Arus menjadi 0-5V yang dapat diumpankan ke pin Arduino Analog. Sekarang di bagian rangkaian ini kita akan menghubungkan sinyal tegangan ini ke Arduino dan juga menghubungkan tampilan alfanumerik 16x2 ke Arduino sehingga kita dapat melihat hasilnya. Sirkuit yang sama ditunjukkan di bawah ini
Seperti yang Anda lihat, pin Voltase terhubung ke pin Analog A3 dan pin arus terhubung ke pin Analog A4. LCD didukung dari + 5V dari 7805 dan terhubung ke pin digital Arduino untuk bekerja dalam mode 4-bit. Kami juga menggunakan potensiometer (10k) yang terhubung ke pin Con untuk memvariasikan kontras LCD.
Memprogram Arduino
Sekarang setelah kita memiliki pemahaman yang baik tentang perangkat keras, mari kita buka Arduino dan mulai pemrograman. Tujuan dari kode tersebut adalah untuk membaca tegangan analog pada pin A3 dan A4 dan menghitung nilai Tegangan, Arus dan Daya dan terakhir menampilkannya pada layar LCD. Program lengkap untuk melakukan hal yang sama diberikan di akhir halaman yang dapat digunakan untuk perangkat keras yang dibahas di atas. Selanjutnya kode tersebut dibagi menjadi potongan-potongan kecil dan dijelaskan.
Seperti semua program yang kita mulai, mendefinisikan pin yang telah kita gunakan. Dalam proyek keluar pin A3 dan A4 digunakan untuk mengukur tegangan dan arus masing-masing dan pin digital 3,4,8,9,10 dan 11 digunakan untuk menghubungkan LCD dengan Arduino
int Read_Voltage = A3; int Read_Current = A4; const int rs = 3, en = 4, d4 = 8, d5 = 9, d6 = 10, d7 = 11; // Sebutkan nomor pin untuk koneksi LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7);
Kami juga telah menyertakan file header yang disebut kristal cair untuk menghubungkan LCD dengan Arduino. Kemudian di dalam fungsi pengaturan kami menginisialisasi layar LCD dan menampilkan teks intro sebagai "Arduino Wattmeter" dan menunggu selama dua detik sebelum membersihkannya. Kode yang sama ditampilkan di bawah ini.
void setup () { lcd.begin (16, 2); // Inisialisasi LCD lcd.print 16 * 2 ("Arduino Wattmeter"); // Baris Pesan Intro 1 lcd.setCursor (0, 1); lcd.print ("- Circuitdigest"); // Intro Message line 2 delay (2000); lcd.clear (); }
Di dalam fungsi loop utama, kami menggunakan fungsi baca analog untuk membaca nilai tegangan dari pin A3 dan A4. Seperti yang kita ketahui nilai keluaran ADC Arduino dari 0-1203 karena memiliki ADC 10-bit. Nilai ini harus diubah menjadi 0-5V yang dapat dilakukan dengan mengalikan dengan (5/1023). Kemudian lagi sebelumnya di perangkat keras kami telah memetakan nilai tegangan aktual dari 0-24V ke 0-5V dan nilai aktual dari bentuk 0-1A ke 0-5V. Jadi sekarang kita harus menggunakan pengali untuk mengembalikan nilai ini ke nilai sebenarnya. Ini dapat dilakukan dengan mengalikannya dengan nilai pengali. Nilai pengali dapat dihitung secara teoritis menggunakan rumus yang disediakan di bagian perangkat keras atau jika Anda memiliki kumpulan nilai tegangan dan arus yang diketahui, Anda dapat menghitungnya secara praktis.Saya telah mengikuti opsi terakhir karena cenderung lebih akurat secara real time. Jadi disini nilai pengali adalah 6,46 dan 0,239. Karenanya kodenya terlihat seperti di bawah ini
float Voltage_Value = analogRead (Read_Voltage); float Current_Value = analogRead (Read_Current); Voltage_Value = Voltage_Value * (5.0 / 1023.0) * 6.46; Current_Value = Current_Value * (5.0 / 1023.0) * 0,239;
Bagaimana cara mengukur dengan lebih akurat?
Cara di atas untuk menghitung nilai Tegangan dan arus Aktual akan bekerja dengan baik. Tetapi memiliki satu kelemahan, yaitu hubungan antara tegangan ADC yang diukur dan tegangan aktual tidak akan linier sehingga pengali tunggal tidak akan memberikan hasil yang sangat akurat, hal yang sama berlaku untuk arus juga.
Jadi untuk meningkatkan akurasi kita dapat memplot himpunan nilai ADC terukur dengan valas aktual menggunakan sekumpulan nilai yang diketahui dan kemudian menggunakan data tersebut untuk memplot grafik dan mendapatkan persamaan pengali menggunakan metode regresi linier. Anda dapat merujuk meteran Arduino dB di mana saya telah menggunakan metode serupa.
Akhirnya, setelah kami menghitung nilai tegangan aktual dan arus aktual melalui beban, kami dapat menghitung Daya menggunakan rumus (P = V * I). Kemudian kami menampilkan ketiga nilai pada layar LCD menggunakan kode di bawah ini.
lcd.setCursor (0, 0); lcd.print ("V ="); lcd.print (Voltage_Value); lcd.print (""); lcd.print ("I ="); lcd.print (Current_Value); float Power_Value = Voltage_Value * Current_Value; lcd.setCursor (0, 1); lcd.print ("Daya ="); lcd.print (Power_Value);
Bekerja dan Menguji
Demi tutorial saya telah menggunakan papan perf untuk menyolder semua komponen seperti yang ditunjukkan pada rangkaian. Saya telah menggunakan terminal sekrup Phoenix untuk menghubungkan beban dan Jack barel DC normal untuk menghubungkan sumber daya saya. Papan Arduino Nano dan LCD dipasang pada Bergstik Wanita sehingga bisa digunakan kembali jika diperlukan nanti.
Setelah menyiapkan perangkat keras, unggah kode Arduino ke papan Nano Anda. Sesuaikan pot pemangkas untuk mengontrol tingkat kontras LCD sampai Anda melihat teks intro yang jelas. Untuk menguji papan, hubungkan beban ke konektor terminal sekrup dan sumber ke jack Barrel. Sumber tegangan harus lebih dari 6V agar proyek ini dapat bekerja, karena Arduino membutuhkan + 5V untuk beroperasi. JIKA semuanya berfungsi dengan baik, Anda akan melihat nilai Tegangan melintasi beban dan arus yang melaluinya ditampilkan di baris pertama LCD dan daya yang dihitung ditampilkan pada baris kedua LCD seperti yang ditunjukkan di bawah ini.
Bagian yang menyenangkan dari membangun sesuatu terletak pada mengujinya untuk memeriksa seberapa jauh itu akan bekerja dengan baik. Untuk melakukan itu saya telah menggunakan gelembung indikator mobil 12V sebagai beban dan RPS sebagai sumber. Karena RPS sendiri dapat mengukur dan menampilkan nilai arus dan tegangan, maka akan mudah bagi kita untuk memeriksa ulang keakuratan dan kinerja rangkaian kita. Dan ya, saya juga menggunakan RPS saya untuk mengkalibrasi nilai pengali saya sehingga saya mendekati nilai yang akurat.
Pekerjaan lengkap dapat ditemukan di video yang diberikan di akhir halaman ini. Semoga Anda memahami sirkuit dan program dan mempelajari sesuatu yang bermanfaat. Jika Anda memiliki masalah dalam membuat ini berfungsi, posting di bagian komentar di bawah atau tulis di forum kami untuk bantuan teknis lebih lanjut.
Ini proyek Wattmeter berdasarkan Arduino memiliki banyak upgrade yang dapat ditambahkan untuk meningkatkan kinerja untuk auto data logging, merencanakan grafik, memberitahukan lebih tegangan atau situasi arus lebih dll Jadi tinggal penasaran dan biarkan aku tahu apa yang akan Anda gunakan ini untuk.