- Bahan yang Diperlukan
- Rajah Litar
- Unit Pengukur
- Unit pengiraan dan paparan
- Memprogram Arduino
- Bagaimana mengukur dengan lebih tepat?
- Bekerja dan Menguji
Sebagai jurutera elektronik, kita selalu bergantung pada meter / instrumen untuk mengukur dan menganalisis kerja litar. Bermula dengan multimeter sederhana hingga penganalisis kualiti kuasa yang kompleks atau DSO semuanya mempunyai aplikasi unik mereka sendiri. Sebilangan besar meter ini tersedia dan boleh dibeli berdasarkan parameter yang hendak diukur dan ketepatannya. Tetapi kadang-kadang kita mungkin berakhir dalam keadaan di mana kita perlu membina meter kita sendiri. Katakan misalnya anda sedang mengerjakan projek PV solar dan anda ingin mengira penggunaan kuasa beban anda, dalam senario seperti itu kita dapat membina Wattmeter kita sendiri menggunakan platform mikrokontroler sederhana seperti Arduino.
Membina meter anda sendiri tidak hanya menurunkan kos ujian, tetapi juga memberi kita ruang untuk memudahkan proses pengujian. Seperti, wattmeter yang dibina menggunakan Arduino dapat dengan mudah ditukar untuk memantau hasil pada monitor Serial dan memplot grafik pada Serial plotter atau menambahkan kad SD untuk mencatat nilai voltan, arus dan kuasa secara automatik pada selang waktu yang ditentukan. Kedengarannya menarik !? Oleh itu, mari kita mulakan…
Bahan yang Diperlukan
- Arduino Nano
- LM358 Op-Amp
- 7805 Pengatur voltan
- Paparan LCD 16 * 2
- Perintang shunt 0.22 ohm 2Watt
- Periuk perapi 10k
- Perintang 10k, 20k, 2.2k, 1k
- Kapasitor 0.1uF
- Beban Ujian
- Perf board atau papan roti
- Kit pematerian (pilihan)
Rajah Litar
Gambarajah litar lengkap projek wattmeter arduino diberikan di bawah.
Untuk kemudahan memahami litar wattmeter arduino terbahagi kepada dua unit. Bahagian atas litar adalah unit pengukur dan bahagian bawah litar adalah unit pengiraan dan paparan. Bagi orang yang baru menggunakan litar jenis ini, ikuti labelnya. Contoh + 5V adalah label yang bermaksud bahawa semua pin ke mana label disambungkan harus dipertimbangkan kerana mereka dihubungkan bersama. Label biasanya digunakan untuk membuat gambarajah litar kelihatan kemas.
Litar ini dirancang untuk masuk ke dalam sistem yang beroperasi antara 0-24V dengan jarak arus 0-1A dengan mengingat spesifikasi PV Solar. Tetapi anda dapat memperluas jangkauan dengan mudah setelah anda memahami cara kerja litar. Prinsip yang mendasari litar adalah mengukur voltan merentasi beban dan arus yang melaluinya untuk mengira daya yang digunakan olehnya. Semua nilai yang diukur akan dipaparkan dalam LCD Alphanumerik 16 * 2.
Di bawah ini mari kita bahagikan litar menjadi segmen kecil sehingga kita dapat memperoleh gambaran yang jelas tentang bagaimana litar tersebut diarahkan untuk berfungsi.
Unit Pengukur
Unit pengukuran terdiri daripada pembahagi berpotensi untuk membantu kita mengukur voltan dan perintang tutup dengan Op-amp Bukan Pembalik digunakan untuk membantu kita mengukur arus melalui litar. Bahagian pembahagi berpotensi dari litar di atas ditunjukkan di bawah
Di sini voltan Input ditunjukkan oleh Vcc, seperti yang diberitahu sebelumnya, kami merancang rangkaian untuk voltan dari 0V hingga 24V. Tetapi pengawal mikro seperti Arduino tidak dapat mengukur nilai voltan yang tinggi; ia hanya dapat mengukur voltan dari 0-5V. Oleh itu, kita harus memetakan (menukar) julat voltan dari 0-24V hingga 0-5V. Ini dapat dilakukan dengan mudah dengan menggunakan litar pembahagi berpotensi seperti gambar di bawah. Perintang 10k dan 2.2k bersama membentuk litar pembahagi berpotensi. Voltan keluaran pembahagi berpotensi dapat dikira menggunakan formula di bawah. Perkara yang sama digunakan untuk menentukan nilai perintang anda, anda boleh menggunakan kalkulator dalam talian kami untuk mengira nilai perintang jika anda merancang semula litar.
Vout = (Vin × R2) / (R1 + R2)
0-5V yang dipetakan dapat diperoleh dari bahagian tengah yang dilabelkan sebagai Voltan. Voltan yang dipetakan ini kemudian dapat dimasukkan ke pin Arduino Analog kemudian.
Seterusnya kita harus mengukur arus melalui LOAD. Seperti yang kita tahu mikrokontroler hanya dapat membaca voltan analog, jadi kita perlu menukar nilai arus ke voltan. Ia dapat dilakukan dengan hanya menambahkan perintang (shunt resistor) di jalan yang menurut hukum Ohm akan menurunkan nilai voltan melintasi yang berkadar dengan arus yang mengalir melaluinya. Nilai penurunan voltan ini akan menjadi lebih sedikit sehingga kita menggunakan op-amp untuk memperkuatnya. Litar untuk yang sama ditunjukkan di bawah
Di sini nilai perintang shunt (SR1) ialah 0.22 Ohms. Seperti yang dinyatakan sebelumnya, kami merancang litar untuk 0-1A jadi berdasarkan undang-undang Ohms, kami dapat mengira penurunan voltan di perintang ini yang akan berada di sekitar 0.2V apabila arus maksimum 1A melewati beban. Voltan ini sangat kecil untuk dibaca oleh mikrokontroler, kami menggunakan Op-Amp dalam mod Non-Inverting Amplifier untuk meningkatkan voltan dari 0.2V ke tahap yang lebih tinggi untuk dibaca oleh Arduino.
Op-Amp dalam mod Tidak Membalikkan ditunjukkan di atas. Penguat ini dirancang untuk memperoleh keuntungan 21, sehingga 0.2 * 21 = 4.2V. Rumus untuk mengira keuntungan Op-amp diberikan di bawah, anda juga boleh menggunakan kalkulator keuntungan dalam talian ini untuk mendapatkan nilai perintang anda jika anda merancang semula litar.
Keuntungan = Vout / Vin = 1 + (Rf / Rin)
Dalam kes ini, nilai Rf adalah 20k dan nilai Rin adalah 1k yang memberi kita nilai gian 21. Nilai voltan yang diperkuat dari Op-amp kemudian diberikan kepada penapis RC dengan perintang 1k dan kapasitor 0.1uF hingga tapiskan sebarang bunyi yang digandingkan. Akhirnya voltan kemudian dimasukkan ke pin analog Arduino.
Bahagian terakhir yang tinggal di unit pengukur adalah bahagian pengatur voltan. Oleh kerana kita akan memberikan voltan input yang berubah-ubah, kita memerlukan voltan + 5V terkawal agar Arduino dan Op-amp dapat beroperasi. Voltan terkawal ini akan disediakan oleh pengatur Voltan 7805. Kapasitor ditambahkan pada output untuk menyaring bunyi.
Unit pengiraan dan paparan
Di unit pengukuran, kami telah merancang litar untuk menukar parameter Voltan dan Arus menjadi 0-5V yang dapat dimasukkan ke pin Arduino Analog. Sekarang di bahagian litar ini kita akan menghubungkan isyarat voltan ini ke Arduino dan juga menghubungkan paparan alfanumerik 16 × 2 ke Arduino sehingga kita dapat melihat hasilnya. Litar untuk yang sama ditunjukkan di bawah
Seperti yang anda lihat pin voltan disambungkan ke pin Analog A3 dan pin semasa disambungkan ke pin Analog A4. LCD dikuasakan dari + 5V dari 7805 dan disambungkan ke pin digital Arduino untuk berfungsi dalam mod 4-bit. Kami juga menggunakan potensiometer (10k) yang disambungkan ke pin Con untuk mengubah kontras LCD.
Memprogram Arduino
Sekarang kita mempunyai pemahaman yang baik mengenai perkakasan, mari kita buka Arduino dan mulakan pengaturcaraan. Tujuan kod ini adalah untuk membaca voltan analog pada pin A3 dan A4 dan mengira nilai Voltan, Arus dan Daya dan akhirnya memaparkannya pada skrin LCD. Program lengkap untuk melakukan perkara yang sama diberikan di akhir halaman yang boleh digunakan untuk perkakasan yang dibincangkan di atas. Selanjutnya kod itu dibahagikan kepada potongan kecil dan dijelaskan.
Seperti semua program yang kita mulakan, menentukan pin yang telah kita gunakan. Dalam projek keluar pin A3 dan A4 digunakan untuk mengukur voltan 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 nombor pin untuk sambungan LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Kami juga telah memasukkan fail header yang disebut cecair kristal untuk menghubungkan LCD dengan Arduino. Kemudian di dalam fungsi penyediaan kita menginisialisasi paparan LCD dan memaparkan teks intro sebagai "Arduino Wattmeter" dan menunggu selama dua saat sebelum menghapusnya. Kod untuk yang sama ditunjukkan di bawah.
persediaan tidak sah () { lcd.begin (16, 2); // Permulaan lcd.print LCD 16 * 2 ("Arduino Wattmeter"); // Baris Mesej Pengenalan 1 lcd.setCursor (0, 1); lcd.print ("- Circuitdigest"); // Kelewatan barisan intro Mesej 2 (2000); lcd.clear (); }
Di dalam fungsi gelung utama, kami menggunakan fungsi baca analog untuk membaca nilai voltan dari pin A3 dan A4. Seperti yang kita ketahui nilai output Arduino ADC dari 0-1203 kerana mempunyai ADC 10-bit. Nilai ini kemudiannya harus ditukar menjadi 0-5V yang boleh dilakukan dengan mengalikan dengan (5/1023). Kemudian sekali lagi dalam perkakasan kami telah memetakan nilai voltan sebenar dari 0-24V hingga 0-5V dan nilai sebenar bentuk semasa 0-1A hingga 0-5V. Jadi sekarang kita harus menggunakan pengganda untuk mengembalikan nilai-nilai ini kepada nilai sebenar. Ini boleh dilakukan dengan mengalikannya dengan nilai pengganda. Nilai pengganda boleh dikira secara teori menggunakan formula yang disediakan di bahagian perkakasan atau jika anda mempunyai set voltan dan nilai semasa yang diketahui, anda boleh menghitungnya secara praktikal.Saya telah mengikuti pilihan terakhir kerana cenderung lebih tepat pada masa nyata. Jadi di sini nilai pengganda adalah 6.46 dan 0.239. Oleh itu kodnya seperti di bawah
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 mengukur dengan lebih tepat?
Cara mengira nilai Voltan Sebenar dan arus di atas akan berfungsi dengan baik. Tetapi mengalami satu kekurangan, iaitu hubungan antara voltan ADC yang diukur dan voltan sebenar tidak akan linear maka pengganda tunggal tidak akan memberikan hasil yang sangat tepat, yang sama juga berlaku untuk arus.
Oleh itu, untuk meningkatkan ketepatan, kita dapat merancang sekumpulan nilai ADC yang diukur dengan nilai sebenar menggunakan set nilai yang diketahui dan kemudian menggunakan data tersebut untuk memplot grafik dan memperoleh persamaan pengganda menggunakan kaedah regresi linier. Anda boleh merujuk Arduino dB meter di mana saya telah menggunakan kaedah yang serupa.
Akhirnya, setelah kita mengira nilai voltan dan arus sebenar melalui beban, kita dapat mengira Daya menggunakan formula (P = V * I). Kemudian kami memaparkan ketiga-tiga nilai pada paparan LCD menggunakan kod di bawah.
lcd.setCursor (0, 0); lcd.print ("V ="); lcd.print (Voltage_Value); lcd.print (""); lcd.print ("I ="); lcd.print (Current_Value); terapung Power_Value = Voltage_Value * Current_Value; lcd.setCursor (0, 1); lcd.print ("Kuasa ="); lcd.print (Power_Value);
Bekerja dan Menguji
Demi tutorial saya telah menggunakan papan perf untuk menyolder semua komponen seperti yang ditunjukkan dalam litar. Saya telah menggunakan terminal skru Phoenix untuk menyambungkan beban dan Jack barel DC biasa untuk menyambungkan sumber kuasa saya. Papan Arduino Nano dan LCD dipasang pada Bergstik Wanita sehingga dapat digunakan kembali jika diperlukan kemudian.
Setelah menyiapkan perkakasan, muat naik kod Arduino ke papan Nano anda. Laraskan periuk perapi untuk mengawal tahap kontras LCD sehingga anda melihat teks intro yang jelas. Untuk menguji papan sambungkan beban ke penyambung terminal skru dan sumbernya ke bicu Barrel. Voltan sumber harus lebih daripada 6V agar projek ini dapat berfungsi, kerana Arduino memerlukan + 5V untuk beroperasi. JIKA semuanya berfungsi dengan baik, anda harus melihat nilai Voltan merentasi beban dan arus yang dipaparkan pada baris pertama LCD dan kuasa yang dikira dipaparkan pada baris kedua LCD seperti yang ditunjukkan di bawah.
Bahagian yang menyeronokkan dalam membina sesuatu terletak pada mengujinya untuk memeriksa sejauh mana ia akan berfungsi dengan baik. Untuk melakukan itu, saya telah menggunakan penunjuk 12V automobil sebagai beban dan RPS sebagai sumber. Oleh kerana RPS itu sendiri dapat mengukur dan menampilkan nilai arus dan voltan, akan mudah bagi kita untuk memeriksa ketepatan dan prestasi litar kita. Dan ya, saya juga menggunakan RPS saya untuk mengkalibrasi nilai pengganda saya sehingga saya mendekati nilai tepat.
Karya yang lengkap boleh didapati di video yang diberikan di hujung halaman ini. Harap anda memahami litar dan program dan mengetahui sesuatu yang berguna. Sekiranya anda mempunyai masalah untuk membuat ini berfungsi, hantarkannya di bahagian komen di bawah atau tulis di forum kami untuk mendapatkan lebih banyak bantuan teknikal.
Ini projek alat pengukur watt Arduino berdasarkan mempunyai banyak lebih banyak peningkatan yang boleh ditambah untuk meningkatkan prestasi pembalakan data auto, memplot graf, memberitahu lebih voltan atau situasi lebih semasa dan lain-lain Jadi tinggal ingin tahu dan beritahu saya apa yang anda akan menggunakan ini untuk.