Cara Memeriksa dan Mengkalibrasi Sensor Kelembaban
Seberapa akurat sensor kelembapan Anda? Cari tahu dengan proyek ini.
Sensor kelembaban adalah hal yang biasa, relatif murah, dan tersedia dalam berbagai jenis. Terlalu sering, kami memeriksa lembar data, menggunakannya dengan antarmuka, dan (selama nilainya "terlihat masuk akal") kami menerima hasilnya.
Dalam proyek ini, kami mendemonstrasikan bagaimana melangkah lebih jauh dan memverifikasi keakuratan sensor kelembaban. Kami juga mengilustrasikan metode umum untuk kalibrasi sensor dan menerapkan metode untuk mengkalibrasi hasil guna meningkatkan akurasi pengukuran kelembapan.
Penyiapan pengujian yang digunakan dalam proyek (kiri ke kanan, papan mikrokontroler Quark D2000, antarmuka sensor, sensor HIH5030 dalam lingkungan mikro).
Dasar-Dasar Proyek
Untuk memeriksa keakuratan sensor, nilai yang diperoleh dibandingkan dengan standar referensi. Untuk memeriksa keakuratan sensor kelembaban, kami menggunakan metode "garam jenuh" untuk menghasilkan standar. Sederhananya, garam tertentu (yaitu, senyawa ionik seperti garam meja atau kalium klorida), bila dilarutkan dalam larutan berair, menghasilkan atmosfer dengan kelembapan yang diketahui (lihat referensi PDF).
Sifat kimia ini digunakan untuk membuat lingkungan mikro dengan persentase kelembaban relatif (RH) yang diketahui (yaitu, standar referensi), dan sensor dibaca di dalam lingkungan mikro. Secara khusus, kami akan membuat larutan dalam toples tertutup untuk menjaga atmosfer dan kemudian menempatkan sensor yang terhubung ke dalam toples tertutup. Selanjutnya, sensor dibaca berulang kali dan nilainya dicatat.
Dengan mengulangi prosedur menggunakan beberapa garam yang berbeda, masing-masing menghasilkan kelembaban relatif yang berbeda, kita dapat mengembangkan profil untuk sensor yang diuji. Karena kami mengetahui kelembapan relatif untuk setiap lingkungan mikro, kami dapat menilai penyimpangan pembacaan sensor kami dari nilai yang diketahui tersebut, dan dengan demikian, mengevaluasi keakuratan sensor.
Jika penyimpangannya cukup besar, tetapi tidak dapat diatasi, kita dapat menerapkan prosedur kalibrasi matematis dalam perangkat lunak untuk meningkatkan akurasi pengukuran.
Sepatah Kata tentang Keselamatan
Sebelum melangkah lebih jauh, Anda harus menangani bahan kimia yang digunakan dalam proyek ini secara bertanggung jawab.
- Baca lembar data keselamatan (SDS, atau terkadang MSDS (lembar data keamanan material)) untuk setiap bahan kimia yang digunakan (tautan untuk SDS untuk setiap garam yang digunakan tersedia di bawah, dan Anda juga dapat melakukan penelusuran literatur untuk setiap garam dan prosedur penanganannya yang aman).
- Jangan menghirup atau menelan bahan kimia.
- Jangan biarkan bahan kimia menyentuh kulit atau mata Anda (gunakan sarung tangan dan kacamata).
- Jangan menyiapkan larutan di area yang sama dengan tempat makanan disiapkan.
- Simpan bahan kimia dengan benar.
- Buang larutan dengan benar dan semua instrumen yang digunakan untuk menyiapkan larutan sehingga paparan tidak terjadi secara tidak sengaja.
- Sebelum memulai, ketahui apa yang harus dilakukan jika terjadi paparan yang tidak disengaja (lihat lembar data keselamatan).
Garam Digunakan
Secara umum, semakin banyak atmosfer RH yang dapat Anda hasilkan untuk standar referensi, semakin baik karakterisasi sensor yang diuji. Namun, selalu ada batasan pada sumber daya dalam arti praktis. Dalam proyek ini, empat standar referensi digunakan dan garam yang digunakan untuk menghasilkan standar referensi dipilih untuk mencakup kisaran nilai RH yang memungkinkan, tetapi juga dengan mempertimbangkan keamanan, ketersediaan, dan biaya.
Garam di bawah ini dipilih. Dalam kasus natrium klorida (garam meja), garam halal murni diperoleh dengan harga murah di toko bahan makanan lokal. Jika Anda menempuh rute itu, hindari penggunaan garam meja dengan zat aditif, seperti yodium atau zat anti-penggumpalan.
Garam yang Digunakan dalam Proyek Garam | % RH (pada 25°C) | Sumber | Lembar Data Keselamatan |
Litium Klorida | 11.30 | Alat Sains Rumah | SDS untuk LiCl |
Magnesium Klorida | 32,78 | Alat Sains Rumah | SDS untuk MgCl |
Natrium Klorida | 75,29 | Berbagai (lihat teks) | SDS untuk NaCl |
Kalium Klorida | 84,34 | Alat Sains Rumah | SDS untuk KCl |
Membuat Lingkungan Mikro
Kami memiliki standar untuk hampir semua hal dan bahkan ada standar untuk menciptakan RH yang stabil dari larutan berair (lihat ASTM E104 – 02 (2012)). Meskipun bangku saya, dan mungkin milik Anda, bukan laboratorium pengujian resmi, ada baiknya mengikuti spesifikasi dalam standar sedekat mungkin.
Perhatikan juga bahwa hasil yang disajikan dalam proyek ini, sementara dikumpulkan dengan hati-hati, tidak boleh ditafsirkan sebagai mencerminkan atau menunjukkan pernyataan kualitas keseluruhan dari akurasi merek sensor apa pun. Hanya sejumlah kecil sensor yang diuji dan yang digunakan memiliki usia dan riwayat penggunaan yang berbeda.
Untuk setiap garam, campuran cair dibuat dengan menambahkan air suling ke konsistensi yang mirip dengan pasir yang sangat basah. Empat atau lima sendok makan bahan kimia dan satu sendok makan air suling dapat dicoba, tetapi Anda mungkin harus melakukan sedikit eksperimen.
Campuran itu dibuat dalam toples kecil dengan segel yang rapat. Kaca atau bahkan plastik harus bekerja dengan baik, asalkan bisa menjaga atmosfer di dalamnya. Lubang kecil dapat dibuat di bagian atas tabung untuk menjalankan kabel penghubung ke antarmuka sensor dan kemudian ke mikrokontroler. Sensor yang terhubung kemudian diposisikan kira-kira 0,5-1,0 inci di atas campuran. Berhati-hatilah agar sensor tidak pernah menyentuh larutan secara langsung atau kemungkinan akan rusak. Untuk menahan sambungan di tempatnya dan menutup lubang di tutupnya, beberapa dempul kontak yang mudah dilepas dapat digunakan.
Adalah penting bahwa Anda memberikan banyak waktu untuk keseimbangan sebelum Anda melakukan pembacaan akhir. Saya menguji masalah ini secara empiris, melakukan pembacaan setiap menit hingga enam jam dalam kasus uji tertentu. Dalam pengalaman saya, ini lebih lama dari yang dibutuhkan dan saya menetapkan waktu ekuilibrasi 90-120 menit untuk setiap sensor dan garam. Kemudian rata-rata dari lima pembacaan terakhir digunakan untuk nilai akhir. Untuk semua kasus, kelima nilai menunjukkan perbedaan yang sangat kecil, jika ada.
Selain itu, semua pembacaan dilakukan pada suhu sekitar 25° C (± 1°), dan nilai RH yang digunakan untuk setiap standar adalah yang tercantum pada 25° C (lihat PDF ini untuk mengetahui nilainya).
Sensor HIH5030 pada papan pembawa di dalam lingkungan mikro yang mengandung natrium klorida.
Perangkat Keras
Mikrokontroler
Dalam proyek ini, kami menghubungkan sensor menggunakan mikrokontroler Quark D2000. D2000 adalah board 3V dengan I2C dan antarmuka analog-ke-digital.
Namun, perlu diingat bahwa sebagian besar mikrokontroler lain dengan antarmuka yang sesuai dapat digunakan.
Antarmuka Sensor
Sensor diuji dalam proyek; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (pada papan pembawa).
Empat jenis sensor kelembaban yang berbeda diuji: DHT-22 (dua digunakan), HIH5030, HIH6030, dan HIH8121. Skema di bawah menggambarkan antarmuka sederhana yang digunakan untuk setiap jenis sensor, dan konsultasi dengan lembar data terkait akan memberikan informasi latar belakang untuk sirkuit.
- DHT-22 adalah sensor suhu dan kelembaban dengan output serial yang dipatenkan
- HIH5030 adalah sensor kelembaban dengan output analog (tegangan). Antarmuka untuk sensor ini menggunakan op-amp dalam konfigurasi unity-gain untuk pencocokan impedansi.
- HIH6030 dan HIH8121 adalah sensor suhu dan kelembaban yang menggunakan protokol I2C
Antarmuka DHT-22 ke D2000.
DHT-22 BOM:U1, sensor DHT-22; R1, resistor 4.7kΩ; C1, kapasitor 0,1 F.
Antarmuka HIH5030 ke D2000.
HIH5030 BOM:U1, sensor HIH3050; U2, MCP601P op-amp; C1, kapasitor 1,0 F; C2, kapasitor 0,1 F.
Antarmuka HIH6030 ke D2000.
HIH6030 BOM:U1, sensor HIH6030; R1 dan R2, resistor 2,2 kΩ; C1, kapasitor 0,22 F; C2, kapasitor 0,1 F.
Antarmuka HIH8121 ke D2000.
HIH8121 BOM:U1, sensor HIH8121; R1 dan R2, resistor 2,2 kΩ; C1, kapasitor 0,22 F.
Perangkat Lunak Sensor
Semua program untuk mengumpulkan data sensor ditulis dalam bahasa C dan dapat diunduh dengan mengklik tombol “Kode Proyek Sensor Kelembaban”. Masing-masing berkomentar dan lugas. Untuk setiap sensor, program hanya membaca sensor setiap menit dan mengirimkan nilainya ke monitor serial. Dengan demikian, mereka harus mudah beradaptasi dengan aplikasi khusus Anda.
Screenshot keluaran dari DHT22.c (kiri) dan HIH5030.c (kanan).
Prosedur Evaluasi Sensor
Tabel di bawah ini berisi data dari evaluasi sensor di masing-masing dari empat lingkungan mikro.
Persen RH untuk Sensor Uji (OBS =nilai yang diamati, ERR =kesalahan sebagai perbedaan dari standar, RMSE =root mean kesalahan kuadrat) | DHT #1 | DHT #2 | HIH5030 | HIH6030 | HIH8121 |
RH Referensi | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR |
11,30 (LiCl) | 12,56 | 1,26 | 16,29 | 4,99 | 13.02 | 1,72 | 20,79 | 9,49 | 12,31 | 1,01 |
32,78 (MgCl) | 32,36 | -0,42 | 33,79 | 1,01 | 33,46 | 0,68 | 40,77 | 7,99 | 32,43 | -0,35 |
75,29 (NaCl) | 73,04 | -2,25 | 74,50 | -0,79 | 77,74 | 2.45 | 83,83 | 8,54 | 76,63 | 1,34 |
84,34 (KCl) | 82.30 | -2,04 | 82.15 | -2.19 | 85,84 | 1,50 | 93,43 | 9.09 | 85.01 | 0,67 |
| | | | | | | | | | |
RMSE | | 1,657 | | 2,799 | | 1,708 | | 8,796 | | 0,920 |
Setelah Anda mengumpulkan data dari kinerja sensor di lingkungan yang stabil dengan kelembaban relatif yang diketahui, Anda dapat mengevaluasi akurasi sensor secara numerik.
Perhatikan bahwa dalam tabel, kami menghitung kesalahan untuk setiap sensor pada setiap standar RH. Namun, kami tidak dapat hanya merata-ratakan nilai tersebut untuk mengevaluasi sensor karena beberapa nilai positif dan nilai lainnya negatif. Jika kita hanya mengambil rata-rata, nilai yang dihasilkan akan meminimalkan kesalahan rata-rata karena nilai positif dan negatif akan saling meniadakan.
Sebagai gantinya, kami menghitung root mean square error (RMSE) untuk mengkarakterisasi akurasi sensor. Rumus untuk RMSE di bawah ini:
di mana O adalah nilai sensor yang diamati dan I adalah nilai sensor yang ideal (yaitu, standar referensi). Untuk menghitung RMSE, kami mengkuadratkan setiap kesalahan (deviasi dari standar referensi), kemudian menghitung rata-rata aritmatika dari nilai-nilai tersebut, dan akhirnya, mengambil akar kuadrat dari rata-rata.
Setelah Anda mengkarakterisasi keakuratan sensor, Anda dapat menggunakan RMSE untuk memutuskan apakah sensor perlu dikalibrasi. Dalam beberapa kasus, RMSE kecil dan sepenuhnya dapat diterima untuk aplikasi Anda dan Anda dapat memutuskan secara wajar bahwa tidak diperlukan kalibrasi.
Misalnya, hasil untuk HIH8121 sangat mengesankan. RMSE kurang dari 1% dan semua titik sampel memiliki kesalahan kurang dari 2%.
Di sisi lain, dalam beberapa kasus, Anda mungkin mendapati bahwa respons sensor sangat buruk dan tidak teratur sehingga Anda memutuskan bahwa sensor lain diperlukan untuk aplikasi Anda.
Keputusan untuk mengkalibrasi harus selalu mempertimbangkan tingkat akurasi yang diperlukan untuk tugas tersebut. Namun demikian, kami dapat meningkatkan akurasi pembacaan sensor dengan kalibrasi, untuk semua sensor dalam tabel.
Prosedur Kalibrasi Sensor
Untuk mengkalibrasi sensor, pertama-tama kita perlu menentukan secara matematis fungsi yang menghubungkan nilai ideal dengan nilai yang diamati. Prosedur regresi linier dapat digunakan untuk menentukan fungsi tersebut.
Kata “linier” dalam nama prosedur regresi tidak berarti fungsi linier. Sebaliknya, istilah ini mengacu pada kombinasi linier variabel. Fungsi yang dihasilkan bisa linier atau lengkung. Ketiga fungsi polinomial di bawah ini mewakili regresi linier (catatan:kita mengabaikan kasus 0 derajat yang tidak berguna dalam konteks ini).
- y =ax + b (derajat pertama, linier)
- y = kapak
2
+ bx + c (derajat kedua, kuadrat)
- y =kapak
3
+ bx
2
+ cx + d (derajat ketiga, kubik)
Dalam proyek saat ini, kami menghitung nilai sensor menggunakan empat standar referensi (yaitu, n =4). Jadi, polinomial derajat ketiga adalah polinomial derajat tertinggi yang dapat kita hitung. Polinomial derajat tertinggi yang mungkin selalu terjadi adalah n – 1, dan dalam hal ini berarti 3 (4 – 1).
Prosedur kuadrat terkecil biasanya digunakan untuk regresi linier. Dalam prosedur ini, sebuah garis dipasang sedemikian rupa sehingga jumlah jarak dari setiap datum ke garis sekecil mungkin. Ada banyak program yang tersedia yang menggunakan prosedur kuadrat terkecil untuk melakukan regresi linier. Anda bahkan dapat menggunakan Excel (klik di sini untuk informasi selengkapnya).
Perlu juga dicatat bahwa kita tidak harus menggunakan regresi linier. Kita bisa menggunakan regresi nonlinier. Contoh hasil regresi nonlinier dalam fungsi pangkat atau fungsi Fourier. Regresi linier, bagaimanapun, sangat cocok untuk data proyek kami dan, selanjutnya, koreksi perangkat lunak (kalibrasi) mudah diimplementasikan. Faktanya, dalam proyek ini, saya tidak yakin Anda akan mendapatkan banyak hal dengan menggunakan regresi nonlinier.
Memilih Polinomial
Secara teori, kami ingin menggunakan polinomial yang paling sesuai dengan data. Artinya, polinomial yang menghasilkan koefisien determinasi terkecil, dilambangkan dengan r
2
(atau R
2
, diucapkan “R kuadrat”). Semakin dekat r
2
adalah ke 1, semakin baik kecocokannya. Dengan estimasi kuadrat terkecil, selalu terjadi bahwa semakin tinggi derajat polinomial yang digunakan, semakin baik kecocokannya.
Namun, Anda tidak harus secara otomatis menggunakan polinomial derajat tertinggi yang mungkin. Karena kalibrasi akan dilakukan dalam perangkat lunak, mungkin ada kasus di mana penggunaan polinomial derajat lebih rendah mewakili keuntungan kecepatan dan/atau memori, terutama jika akurasi yang diperoleh dengan menggunakan polinomial derajat lebih tinggi sangat kecil.
Di bawah ini, kami mendemonstrasikan prosedur kalibrasi untuk sensor HIH6030 menggunakan polinomial dengan derajat berbeda, dan dengan demikian kami akan mengilustrasikan prosedur umum yang berlaku untuk derajat polinomial apa pun yang Anda pilih untuk digunakan.
Dengan menggunakan data dari tabel sebelumnya, pertama-tama kita melakukan prosedur regresi kuadrat terkecil untuk menentukan koefisien untuk setiap polinomial. Nilai tersebut akan berasal dari paket perangkat lunak regresi yang digunakan. Hasilnya ada di bawah, termasuk r
2
nilai.
- Linear:y =ax + b; a =1,0022287, b = -8.9105659, r
2
=0,9996498
- Kuadrat:y =kapak
2
+ bx + c; a =-0.0012638, b =1.1484601, c = -12.0009745, r
2
=0,9999944
- Kubik:y =kapak
3
+ bx
2
+ cx + d; a =0,0000076, b =-2.4906103, c =1.2061971, d =-12.7681425, r
2
=0.9999999
Nilai yang diamati sekarang dapat dimodifikasi menggunakan fungsi terhitung. Artinya, pembacaan sensor dapat dikalibrasi seperti yang diilustrasikan pada tabel di bawah ini (perhatikan bahwa nilai OBS, Corrected, dan ERR dibulatkan ke dua tempat desimal).
HIH6030 Nilai yang Diamati dan Dikalibrasi Menggunakan Polinomial | RAW | | Gelar 1 | | Gelar ke-2 | | Gelar 3 | |
Ref RH | OBS | ERR | Dikoreksi | ERR | Dikoreksi | ERR | Dikoreksi | ERR |
11.30 | 20,79 | 9,49 | 11,93 | 0.63 | 11,36 | 0,06 | 11.30 | 0,00 |
32,78 | 40,77 | 7,99 | 31,95 | -0.83 | 32,83 | 0,05 | 32,78 | 0,00 |
75,29 | 83,83 | 8,54 | 75.11 | -0,18 | 75,85 | 0,55 | 75,29 | 0,00 |
84,34 | 93,43 | 9.09 | 84,73 | 0,39 | 84,83 | 0,49 | 84,34 | 0,00 |
| | | | | | | | |
RMSE | | 8,795736 | | 0,562146 | | 0,371478 | | 0,00212 |
Dapat dilihat bahwa ketiga polinomial menghasilkan penurunan RMSE yang signifikan, dibandingkan dengan pengukuran yang diamati, dan itulah sebabnya Anda mengkalibrasi. Grafik di bawah ini menggambarkan peningkatan menggunakan polinomial derajat 1. Perhatikan bagaimana titik data yang dikalibrasi (dikoreksi) sekarang terletak di dekat diagonal ideal.
Baca Informasi Lebih Lanjut….
Cara Memeriksa dan Mengkalibrasi Sensor Kelembaban
Proyek / Postingan Saat Ini juga dapat ditemukan menggunakan:
- cara memeriksa kalibrasi kelembaban