Verifikasi dan Kalibrasikan Sensor Kelembaban Anda untuk Pengukuran yang Akurat
Seberapa akurat sensor kelembaban Anda? Temukan dengan proyek ini.
Sensor kelembaban umum, relatif murah, dan hadir dalam berbagai macam variasi. Terlalu sering, kita memeriksa datasheet, menggunakannya dengan antarmuka, dan (selama nilai-nilai “terlihat wajar”) kita menerima hasilnya.
Dalam proyek ini, kami menunjukkan bagaimana melangkah lebih jauh dan memverifikasi akurasi sensor kelembaban. Kami juga menggambarkan metode umum untuk kalibrasi sensor dan menerapkan metode untuk mengkalibrasi hasilnya untuk meningkatkan akurasi pengukuran kelembaban.
Setup pengujian yang digunakan dalam proyek (kiri ke kanan, papan mikrokontroler Quark D2000, antarmuka sensor, sensor HIH5030 di mikro-lingkungan).
Dasar Proyek
Untuk memeriksa akurasi sensor, nilai yang diperoleh dibandingkan dengan standar referensi. Untuk memeriksa akurasi sensor kelembaban, kami menggunakan metode “garam terpekat” untuk menghasilkan standar. Dengan sederhana, beberapa garam (misalnya, senyawa ionik seperti garam dapur atau kalium klorida), saat dilarutkan dalam larutan air, menghasilkan atmosfer dengan kelembaban yang diketahui (lihat PDF referensi).
Sifat kimia ini digunakan untuk menciptakan mikro-lingkungan dengan persentase kelembaban relatif (RH) yang diketahui (standar referensi), dan sensor dibaca di dalam mikro-lingkungan. Secara khusus, kita akan membuat larutan dalam toples yang tertutup untuk menjaga atmosfer dan kemudian menempatkan sensor yang terhubung di dalam toples yang tertutup. Selanjutnya, sensor dibaca berulang kali dan nilai dicatat.
Dengan mengulangi prosedur menggunakan beberapa garam yang berbeda, masing-masing menghasilkan RH yang berbeda, kami dapat mengembangkan profil untuk sensor yang diuji. Karena kita tahu RH untuk setiap mikro-lingkungan, kita dapat menilai penyimpangan pembacaan sensor kita dari nilai yang diketahui, dan oleh karena itu, mengevaluasi akurasi sensor.
Jika penyimpangan substansial, tetapi tidak terlalu sulit, kita dapat menerapkan prosedur kalibrasi matematika dalam perangkat lunak untuk meningkatkan akurasi pengukuran.
Sebuah Kata tentang Keamanan
Sebelum melanjutkan, penting bahwa Anda menangani kimia yang digunakan dalam proyek ini dengan bertanggung jawab.
- Baca lembar data keselamatan (SDS, atau terkadang MSDS) untuk setiap kimia yang digunakan (tautan untuk SDS untuk setiap garam yang digunakan disediakan di bawah, dan Anda juga dapat melakukan pencarian literatur tentang setiap garam dan prosedur penanganan aman mereka).
- Jangan menghirup atau mengonsumsi kimia.
- Jangan biarkan kimia menyentuh kulit atau mata Anda (gunakan sarung tangan dan kacamata pelindung).
- Jangan menyiapkan larutan di area yang sama tempat makanan disiapkan.
- Simpan kimia dengan benar.
- Buang larutan dan semua instrumen yang digunakan untuk menyiapkan larutan dengan benar sehingga paparan tidak terjadi secara tidak sengaja.
- Sebelum memulai, tahu apa yang harus dilakukan jika paparan tidak sengaja terjadi (lihat lembar data keselamatan).
Garam yang Digunakan
Secara umum, semakin banyak atmosfer RH yang dapat Anda buat untuk standar referensi, semakin baik karakterisasi sensor yang diuji akan ada. Namun, selalu ada batas pada sumber dalam praktik. Dalam proyek ini, empat standar referensi digunakan dan garam yang digunakan untuk menghasilkan standar referensi dipilih untuk mencakup rentang nilai RH yang mungkin, tetapi juga dengan pertimbangan keamanan, ketersediaan, dan biaya.
Garam di bawah ini dipilih. Dalam hal natrium klorida (garam dapur), garam kosher murni diperoleh murah di toko runcit lokal. Jika Anda memilih jalur itu, hindari menggunakan garam dapur dengan tambahan, seperti iodin atau agen anti-gerlindung.
Garam yang Digunakan dalam Proyek | Garam | % RH (pada 25°C) | Sumber | Lembar Data Keselamatan |
| Lithium Chloride | 11.30 | Home Science Tools | SDS for LiCl |
| Magnesium Chloride | 32.78 | Home Science Tools | SDS for MgCl |
| Sodium Chloride | 75.29 | Berbagai (lihat teks) | SDS for NaCl |
| Potassium Chloride | 84.34 | Home Science Tools | SDS for KCl |
Membuat Mikro-Lingkungan
Kami memiliki standar untuk hampir segalanya dan bahkan ada satu untuk menciptakan RH stabil dari larutan air (lihat ASTM E104 – 02(2012)). Meskipun meja kerja saya, dan mungkin juga Anda, bukan laboratorium pengujian resmi, patut untuk mengikuti spesifikasi dalam standar seakurat mungkin.
Perhatikan juga bahwa hasil yang disajikan dalam proyek ini, sambil dikumpulkan dengan hati-hati, tidak boleh ditafsirkan sebagai mencerminkan atau menunjukkan pernyataan kualitas keseluruhan tentang akurasi merek sensor manapun. Hanya sejumlah kecil sensor yang diuji dan yang digunakan memiliki usia dan riwayat penggunaan yang berbeda.
Untuk setiap garam, campuran berlambung dibuat dengan menambahkan air destilasi hingga konsistensi mirip pasir sangat basah. Empat atau lima sendok makan kimia dan satu sendok makan air destilasi dapat dicoba, tetapi Anda mungkin harus bereksperimen sedikit.
Campuran dibuat dalam toples kecil dengan tutup yang rapat. Kaca atau bahkan plastik seharusnya bekerja baik, selama dapat menjaga atmosfer di dalam. Lubang kecil dapat dibuat di atas tutup untuk menjalankan kabel konektor ke antarmuka sensor dan kemudian ke mikrokontroler. Sensor yang terhubung kemudian diposisikan sekitar 0,5-1,0 inci di atas campuran. Hati-hati agar sensor tidak pernah menyentuh larutan secara langsung atau kemungkinan besar akan rusak. Untuk memegang konektor tetap dan menyegel lubang dalam tutup, dapat digunakan lem kontak yang mudah dilepas.
Penting bahwa Anda mengizinkan waktu yang cukup untuk seimbang sebelum Anda mengambil pembacaan akhir. Saya menguji masalah ini secara empiris, mengambil pembacaan setiap menit selama hingga enam jam dalam beberapa kasus pengujian. Dalam pengalaman saya, ini lebih dari yang dibutuhkan dan saya menetapkan waktu seimbang 90-120 menit untuk setiap sensor dan garam. Kemudian rata-rata dari lima pembacaan terakhir digunakan untuk nilai akhir. Untuk semua kasus, lima nilai menunjukkan sedikit, jika ada, perbedaan.
Selain itu, semua pembacaan diambil pada suhu sekitar 25° C (± 1°) dan nilai RH yang digunakan untuk setiap standar adalah yang tercantum untuk 25° C (lihat PDF ini untuk nilai-nilai).
Sensor HIH5030 pada papan pembawa di dalam mikro-lingkungan yang mengandung natrium klorida.
Hardware
Mikrokontroler
Dalam proyek ini, kami menghubungkan sensor menggunakan papan mikrokontroler Quark D2000. D2000 adalah papan 3V dengan antarmuka I2C dan analog-ke-digital.
Ingatlah, meskipun, bahwa hampir semua mikrokontroler lain dengan antarmuka yang sesuai dapat digunakan.
Antarmuka Sensor
Sensor yang diuji dalam proyek; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (pada papan pembawa).
Empat jenis sensor kelembaban berbeda diuji: DHT-22 (dua digunakan), HIH5030, HIH6030, dan HIH8121. Skematik di bawah ini mengilustrasikan antarmuka sederhana yang digunakan untuk setiap jenis sensor, dan konsultasi dengan datasheet yang ditautkan akan memberikan informasi latar belakang untuk rangkaian.
- DHT-22 adalah sensor suhu dan kelembaban dengan output serial miliknya sendiri
- HIH5030 adalah sensor kelembaban dengan output analog (voltase). Antarmuka untuk sensor ini menggunakan op-amp dalam konfigurasi gain satunya 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, op-amp MCP601P; 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 “Humidity Sensor Project Code”. Setiap program dikomentari dan sederhana. Untuk setiap sensor, program cukup membaca sensor setiap menit dan mengirim nilai ke serial monitor. Sebagai hasilnya, mereka harus mudah disesuaikan untuk aplikasi Anda sendiri.
Tangkap layar output dari DHT22.c (kiri) dan HIH5030.c (kanan).
Prosedur Evaluasi Sensor
Tabel di bawah ini berisi data dari evaluasi sensor di setiap mikro-lingkungan.
Persentase RH untuk Sensor Uji (OBS = nilai yang diamati, ERR = kesalahan sebagai selisih dari standar, RMSE = akar kuadrat rata-rata) | DHT #1 | DHT #2 | HIH5030 | HIH6030 | HIH8121 |
| Referensi RH | 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 dalam lingkungan 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, kita tidak dapat hanya mengambil rata-rata nilai-nilai tersebut untuk mengevaluasi sensor karena beberapa nilai positif dan nilai lain negatif. Jika kita hanya mengambil rata-rata, nilai yang dihasilkan akan meminimalkan kesalahan rata-rata karena nilai positif dan negatif akan saling membatalkan.
Alih-alih, kami menghitung akar kuadrat rata-rata kesalahan (RMSE) untuk mengkarakterisasi akurasi sensor. Rumus untuk RMSE adalah di bawah ini:
di mana O adalah nilai sensor yang diamati dan I adalah nilai sensor ideal (yaitu, standar referensi). Untuk menghitung RMSE, kita kuadratkan setiap kesalahan (pencapaian dari standar referensi), kemudian hitung rata-rata aritmetika dari nilai-nilai tersebut, dan akhirnya, ambil akar kuadrat dari rata-rata.
Setelah Anda mengkarakterisasi akurasi sensor, Anda dapat menggunakan RMSE untuk memutuskan apakah kalibrasi sensor diperlukan. Dalam beberapa kasus, RMSE kecil dan sepenuhnya dapat diterima untuk aplikasi Anda dan Anda dapat secara wajar memutuskan bahwa kalibrasi tidak diperlukan.
Misalnya, hasil untuk HIH8121 mengesankan. RMSE kurang dari 1% dan semua titik sampel memiliki kesalahan kurang dari 2%.
Di sisi lain, dalam beberapa kasus, Anda mungkin menemukan bahwa respons sensor sangat buruk dan tidak teratur sehingga Anda cukup memutuskan bahwa sensor lain diperlukan untuk aplikasi Anda.
Keputusan untuk mengkalibrasi harus selalu mempertimbangkan tingkat akurasi yang diperlukan untuk tugas. Meskipun demikian, kita dapat meningkatkan akurasi pembacaan sensor dengan kalibrasi, untuk semua sensor dalam tabel.
Prosedur Kalibrasi Sensor
Untuk mengkalibrasi sensor, 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 merujuk pada kombinasi linier dari variabel. Fungsi yang dihasilkan dapat linier atau kurvilinear. Ketiga fungsi polinomial di bawah ini mewakili regresi linier (catatan: kita mengabaikan kasus derajat nol yang tidak berguna dalam konteks ini).
- y = ax + b (derajat pertama, linier)
- y = ax2 + bx + c (derajat kedua, kuadratik)
- y = ax3 + bx2 + cx + d (derajat ketiga, kubik)
Dalam proyek saat ini, kita menghitung nilai sensor menggunakan empat standar referensi (yaitu, n = 4). Oleh karena itu, polinomial derajat ketiga adalah polinomial derajat tertinggi yang dapat kita hitung. Selalu berlaku bahwa polinomial derajat tertinggi yang mungkin adalah n – 1, dan dalam hal ini berarti 3 (4 – 1).
Prosedur kuadrat terkecil biasanya digunakan untuk regresi linier. Dalam prosedur ini, garis disesuaikan sehingga jumlah jarak dari setiap titik data ke garinnya semakin kecil 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 lebih lanjut).
Perlu juga dicatat bahwa kita tidak harus menggunakan regresi linier. Kita dapat menggunakan regresi non-linier. Contoh regresi non-linier menghasilkan fungsi kekuatan atau fungsi Fourier. Regresi linier, however, sangat cocok untuk data proyek kita dan, lebih lanjut, koreksi perangkat lunak (kalibrasi) mudah diimplementasikan. Faktanya, dalam proyek ini, saya tidak percaya Anda akan mendapat banyak apa pun dengan menggunakan regresi non-linier.
Memilih Polinomial
Dalam teori, kita ingin menggunakan polinomial yang paling sesuai dengan data. Artinya, polinomial yang menghasilkan koefisien determinasi terkecil, yang ditandai r2 (atau R2, diucapkan “R squared”). Semakin dekat r2 ke 1, semakin baik kesesuaiannya. Dengan estimasi kuadrat terkecil, selalu berlaku bahwa semakin tinggi derajat polinomial yang digunakan, semakin baik kesesuaiannya.
Anda tidak, namun, harus otomatis menggunakan polinomial derajat tertinggi yang mungkin. Karena kalibrasi akan dilakukan dalam perangkat lunak, mungkin ada kasus di mana penggunaan polinomial derajat lebih rendah merupakan keuntungan kecepatan dan/atau memori, terutama jika akurasi yang dapat diperoleh dengan menggunakan polinomial derajat yang lebih tinggi sangat kecil.
Di bawah ini, kami menunjukkan prosedur kalibrasi untuk sensor HIH6030 menggunakan polinomial dengan berbagai derajat, dan dengan demikian kita akan menggambarkan prosedur umum yang dapat diterapkan untuk setiap derajat polinomial yang Anda pilih untuk digunakan.
Menggunakan data dari tabel sebelumnya, kita pertama-tama melakukan prosedur regresi kuadrat terkecil untuk menentukan koefisien untuk setiap polinomial. Nilai-nilai tersebut akan berasal dari paket perangkat lunak regresi yang digunakan. Hasilnya adalah di bawah ini, termasuk nilai r2.
- Linier: y = ax + b; a = 1.0022287, b = -8.9105659, r2 = 0.9996498
- Kuadratik: y = ax2 + bx + c; a = -0.0012638, b = 1.1484601, c = -12.0009745, r2 = 0.9999944
- Kubik: y = ax3 + bx2 + cx + d; a = 0.0000076, b = -2.4906103, c = 1.2061971, d = -12.7681425, r2 = 0.9999999
Nilai yang diamati sekarang dapat dimodifikasi menggunakan fungsi yang dihitung. Artinya, pembacaan sensor dapat dikalibrasi seperti yang diilustrasikan dalam tabel di bawah ini (catat bahwa nilai OBS, Corrected, dan ERR dibulatkan ke dua desimal).
Nilai HIH6030 yang Diamati dan Dikalibrasi Menggunakan Polinomial | RAW | | Derajat 1 | | Derajat 2 | | Derajat 3 | |
| Ref RH | OBS | ERR | Corrected | ERR | Corrected | ERR | Corrected | 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 |
Terlihat bahwa ketiga polinomial menghasilkan penurunan signifikan dalam RMSE, dibandingkan dengan pengukuran yang diamati, dan itulah mengapa Anda mengkalibrasi. Grafik di bawah ini mengilustrasikan peningkatan menggunakan polinomial derajat 1. Perhatikan bagaimana titik data yang dikalibrasi (dikoreksi) sekarang berada di dekat diagonal ideal.
Baca Informasi Lebih Lanjut….
How to Check and Calibrate a Humidity Sensor
Proyek / Posting Saat Ini juga dapat ditemukan menggunakan:
- how t chec for humidity calibratiod