- Sensor Gas siri MQ
- Menyiapkan Perkakasan anda:
- Pendekatan Mengukur PPM dari Sensor Gas MQ:
- Mengira Nilai Ro di Udara Bersih:
- Ukur nilai Rs:
- Menghubungkait nisbah Rs / Ro dengan PPM:
- Program untuk mengira PPM menggunakan sensor MQ:
- Menunjukkan nilai PPM pada Perkakasan dengan Arduino dan MQ-137:
Sejak zaman perindustrian, kita manusia berkembang pesat. Dengan setiap kemajuan kita juga mencemarkan persekitaran kita dan akhirnya merosakkannya. Sekarang pemanasan global adalah ancaman yang membimbangkan dan bahkan udara yang kita hirup semakin kritikal. Oleh itu, pemantauan kualiti udara juga mula menjadi penting. Jadi dalam artikel ini kita akan belajar bagaimana menggunakan sensor gas siri MQ dengan Arduino dan menunjukkan output dalam PPM (bahagian per juta). PPM juga dinyatakan sebagai miligram seliter (mg / L). Sensor ini biasanya tersedia dan juga boleh dipercayai untuk mengukur pelbagai jenis gas yang ditunjukkan di bawah
Sensor Gas siri MQ
- Karbon Dioksida (CO2): MG-811
- Karbon Monoksida (CO): MQ-9
- Jumlah Sebatian Organik Volatil (TVOC): CCS811
- Karbon Dioksida Setara (eCO2): CCS811
- Logam Oksida (MOX): CCS811
- Amonia: MQ-137
- Kualiti Udara: MQ-135
- LPG, Alkohol, Asap: MQ2
Kami telah menggunakan MQ2 untuk penginderaan asap dan MQ-135 untuk projek pemantauan kualiti Udara. Di sini saya akan menggunakan sensor MQ-137 dari sainsmart untuk mengukur ammonia dalam ppm. Dengan sensor di tangan saya membaca semua tutorial yang ada dan mendapati bahawa tidak ada dokumentasi yang tepat mengenai cara mengukur gas dalam ppm. Sebilangan besar tutorial hanya berkaitan dengan nilai Analog atau memperkenalkan beberapa pemalar yang tidak boleh dipercayai untuk mengukur semua jenis gas. Oleh itu, setelah bermain-main dalam talian sejak sekian lama, saya akhirnya menemui cara menggunakan sensor gas siri MQ ini untuk mengukur ppm menggunakan Arduino. Saya menerangkan perkara dari bawah tanpa perpustakaan sehingga anda boleh menggunakan artikel ini untuk mana-mana sensor Gas yang ada bersama anda.
Menyiapkan Perkakasan anda:
Sensor gas MQ boleh dibeli sebagai modul atau hanya sebagai sensor sahaja. Sekiranya tujuan anda hanya mengukur ppm maka yang terbaik adalah membeli sensor sahaja kerana modul ini bagus untuk hanya menggunakan pin Digital. Oleh itu, jika anda sudah membeli modul, anda harus melakukan hack kecil yang akan dibincangkan lebih lanjut. Buat masa ini, anggap anda telah membeli sensor. Pinout dan sambungan sensor ditunjukkan di bawah
Seperti yang anda lihat, anda hanya perlu menghubungkan satu hujung 'H' untuk membekalkan dan hujung 'H' yang lain ke tanah. Kemudian gabungkan kedua-dua A dan kedua-dua B. Sambungkan satu set untuk membekalkan voltan dan yang lain ke pin analog anda. Perintang R L memainkan peranan yang sangat penting dalam membuat sensor berfungsi. Oleh itu, perhatikan nilai yang anda gunakan, nilai 47k disyorkan.
Sekiranya anda sudah membeli modul, maka anda harus mengesan jejak PCB anda untuk mendapatkan nilai R L anda di papan tulis. Grauonline telah melakukan kerja ini untuk kami dan gambarajah litar papan sensor gas MQ diberikan di bawah.
Seperti yang anda lihat, perintang R L (R2) disambungkan antara pin Aout dan tanah, jadi jika anda mempunyai modul, nilai R L dapat diukur dengan menggunakan multimeter dalam mod rintangan merentasi pin Vout dan pin Vcc modul. Dalam sensor gas sainsmart MQ-137 saya, nilai RL adalah 1K dan terletak di sini seperti yang ditunjukkan dalam gambar di bawah.
Walau bagaimanapun, tuntutan laman web yang ia menyediakan periuk pembolehubah R L yang tidak benar kerana anda boleh melihat dengan jelas dalam gambar rajah litar, periuk digunakan untuk menetapkan voltan yang berubah-ubah op-amp dan tidak ada kena mengena dengan R L. Oleh itu, kita harus memasangkan perintang SMD (1K) secara manual di atas dan kita harus menggunakan perintang kita sendiri melintasi pin Ground and Vout yang akan bertindak sebagai RL. Nilai terbaik untuk RL akan menjadi 47K seperti yang disarankan oleh lembaran data sehingga kami akan menggunakan yang sama.
Pendekatan Mengukur PPM dari Sensor Gas MQ:
Setelah kita mengetahui nilai R L mari kita teruskan bagaimana mengukur ppm dari sensor ini. Seperti semua sensor, tempat untuk memulakannya adalah lembar datanya. Lembar Data MQ-137 diberikan di sini tetapi pastikan anda menemui lembaran data yang betul untuk sensor anda. Di dalam lembar data kita hanya memerlukan satu grafik yang akan disusun berdasarkan (Rs / Ro) VS PPM, inilah yang kita perlukan untuk pengiraan kita. Oleh itu, selamatkan dan simpan di tempat yang berguna. Yang untuk sensor saya ditunjukkan di bawah.
Ternyata sensor MQ137 dapat mengukur NH3, C2H6O dan juga CO. Tetapi, di sini saya hanya berminat dengan nilai NH3. Walau bagaimanapun, anda boleh menggunakan kaedah yang sama untuk mengira ppm untuk sensor yang anda suka. Grafik ini adalah satu-satunya sumber untuk kita mencari nilai ppm dan jika kita dapat mengira catuan Rs / Ro (paksi-X) kita boleh menggunakan grafik ini untuk mencari nilai ppm (paksi-Y). Untuk mencari nilai Rs / Ro kita perlu mencari nilai Rs dan nilai Ro. Di mana Rs adalah rintangan Sensor pada kepekatan gas dan Ro adalah rintangan sensor pada sir bersih.
Yess… inilah rancangannya, mari kita lihat bagaimana kita dapat menjauhkan diri dengan ini….
Mengira Nilai Ro di Udara Bersih:
Perhatikan bahawa dalam nilai grafik Rs / Ro adalah tetap untuk udara (garis biru tebal) sehingga kita dapat menggunakan ini untuk keuntungan kita dan mengatakan bahawa ketika sensor bekerja di udara segar nilai Rs / Ro akan menjadi 3.6 rujuk gambar di bawah
Rs / Ro = 3.6
Dari lembaran data, kita juga mempunyai formula untuk mengira nilai Rs. Formula ditunjukkan di bawah. Sekiranya anda berminat untuk mengetahui bagaimana formula ini dihasilkan, anda dapat membaca sistem jay con, saya juga ingin memberi penghargaan kepada mereka dalam membantu saya menyelesaikannya.
Dalam formula ini, nilai Vc adalah voltan bekalan kami (+ 5V) dan nilai R L adalah yang kami kirakan (47K untuk sensor saya). Sekiranya kita menulis program Arduino kecil kita juga dapat mencari nilai V RL dan akhirnya mengira nilai Rs. Saya telah memberikan Program Arduino di bawah ini yang membaca voltan analog (V RL) sensor dan mengira nilai Rs menggunakan formula ini dan akhirnya memaparkannya di monitor bersiri. Program ini dijelaskan dengan baik melalui bahagian komen, jadi saya melupakan penjelasannya di sini agar artikel ini tidak pendek.
/ * * Program untuk mengukur nilai R0 untuk mengetahui RL pada keadaan udara segar * Program oleh: B.Aswinth Raj * Laman web: www.circuitdigest.com * Bertarikh: 28-12-2017 * / // Program ini paling berkesan di ruang udara segar dengan suhu Temp: 20 ℃, Kelembapan: 65%, kepekatan O2 21% dan apabila nilai Rl adalah 47K #tentukan RL 47 // Nilai perintang RL adalah persediaan 47K tidak sah () // Hanya berjalan sekali {Serial.begin (9600); // Memulakan COM bersiri untuk memaparkan nilai} gelung void () {float analog_value; terapung VRL; apungan Rs; terapung Ro; untuk (int_ test_cycle = 1; test_cycle <= 500; test_cycle ++) // Baca output analog sensor sebanyak 200 kali {analog_value = analog_value + analogRead (A0); // tambah nilai untuk 200} analog_value = analog_value / 500.0; // Ambil purata VRL = nilai_ analog * (5.0 / 1023.0);// Tukarkan nilai analog ke voltan // RS = ((Vc / VRL) -1) * RL adalah formula yang kami perolehi dari lembaran data Rs = ((5.0 / VRL) -1) * RL; // RS / RO adalah 3.6 seperti yang kami peroleh dari grafik lembar data Ro = Rs / 3.6; Serial.print ("Ro di udara segar ="); Serial.println (Ro); // Paparan dikira kelewatan Ro (1000); // kelewatan 1 saat}
Catatan: Nilai Ro akan berbeza-beza, biarkan sensor melakukan pra-pemanasan sekurang-kurangnya selama 10 jam dan kemudian gunakan nilai Ro.
Saya menyimpulkan nilai Ro menjadi 30 KΩ untuk sensor saya (apabila R L adalah 47kΩ). Anda mungkin sedikit berbeza.
Ukur nilai Rs:
Setelah mengetahui nilai Ro, kita dapat mengira nilai Rs dengan mudah menggunakan dua formula di atas. Perhatikan bahawa nilai Rs yang dihitung sebelumnya adalah untuk keadaan udara segar dan tidak akan sama ketika ammonia hadir di udara. Mengira nilai Rs bukanlah masalah besar yang boleh kita tangani secara langsung dalam program akhir.
Menghubungkait nisbah Rs / Ro dengan PPM:
Sekarang kita tahu bagaimana mengukur nilai Rs dan Ro, kita dapat mencari nisbahnya (Rs / Ro). Kemudian kita boleh menggunakan carta (ditunjukkan di bawah) untuk mengaitkan dengan nilai PPM yang sepadan.
Walaupun garis NH3 (warna sian) kelihatan linear tetapi sebenarnya tidak linear. Penampilannya kerana skala dibahagikan secara tidak seragam untuk penampilan. Jadi perkaitan antara Rs / Ro dan PPM sebenarnya adalah logaritma yang dapat ditunjukkan oleh persamaan di bawah.
log (y) = m * log (x) + b di mana, y = nisbah (Rs / Ro) x = PPM m = cerun garis b = titik persimpangan
Untuk mencari nilai m dan b kita harus mempertimbangkan dua titik (x1, y1) dan (x2, y2) pada saluran gas kita. Di sini kita bekerjasama dengan ammonia jadi dua titik yang saya pertimbangkan adalah (40,1) dan (100,0.8) seperti yang ditunjukkan dalam gambar di atas (ditandakan sebagai merah) dengan tanda merah.
m = / m = log (0.8 / 1) / log (100/40) m = -0.243
Begitu juga untuk (b) mari dapatkan nilai titik tengah (x, y) dari grafik yang (70,0.75) seperti yang ditunjukkan dalam gambar di atas (ditandakan dengan warna biru)
b = log (y) - m * log (x) b = log (0.75) - (-0.243) * log (70) b = 0.323
Sekarang kita telah mengira nilai m dan b kita dapat menyamakan nilai (Rs / Ro) dengan PPM menggunakan formula di bawah
PPM = 10 ^ {/ m}
Program untuk mengira PPM menggunakan sensor MQ:
Program lengkap untuk mengira PPM menggunakan sensor MQ diberikan di bawah. Beberapa garis penting dijelaskan di bawah.
Sebelum meneruskan program, kita perlu memberi nilai nilai Rintangan beban (RL), Cerun (m), Pintas (b) dan nilai Rintangan di udara segar (Ro). Prosedur untuk mendapatkan semua nilai ini telah dijelaskan, jadi mari kita beri mereka sekarang
#define RL 47 // Nilai resistor RL adalah 47K #define m -0.263 // Masukkan Slope yang dikira #define b 0.42 // Masukkan pintasan yang dikira #define Ro 30 // Masukkan nilai Ro yang dijumpai
Kemudian baca penurunan voltan di sensor (VRL) dan ubah menjadi Voltan (0V hingga 5V) kerana bacaan analog hanya akan mengembalikan nilai dari 0 hingga 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Ukur penurunan voltan dan ubah menjadi 0-5V
Sekarang, bahawa nilai VRL dikira, anda boleh menggunakan formula yang dibincangkan di atas untuk mengira nilai Rs dan juga nisbah (Rs / Ro)
nisbah = Rs / Ro; // cari nisbah Rs / Ro
Akhirnya, kita dapat mengira PPM dengan formula logaritmik kita dan memaparkannya pada monitor bersiri seperti yang ditunjukkan di bawah
ppm berganda = pow (10, ((log10 (ratio) -b) / m)); // gunakan formula untuk mengira ppm Serial.print (ppm); // Paparkan ppm
Menunjukkan nilai PPM pada Perkakasan dengan Arduino dan MQ-137:
Cukup dari semua teori, mari kita membina litar sederhana dengan sensor dan LCD untuk memaparkan nilai gas dalam PPM. Di sini sensor yang saya gunakan adalah MQ137 yang mengukur ammonia, rajah litar untuk pemasangan saya ditunjukkan di bawah.
Sambungkan sensor dan LCD anda seperti yang ditunjukkan dalam gambarajah Litar dan muat naik kod yang diberikan pada akhir program. Anda harus mengubah nilai Ro seperti yang dijelaskan di atas. Juga buat perubahan nilai parameter jika anda menggunakan perintang lain sebagai RL selain 4.7K.
Biarkan alat anda dihidupkan sekurang-kurangnya 2 jam sebelum anda membaca, (disarankan 48 jam untuk nilai yang lebih tepat). Masa ini dipanggil waktu pemanasan, di mana sensor memanaskan badan. Selepas ini, anda seharusnya dapat melihat nilai PPM dan voltan yang dipaparkan di skrin LCD anda seperti gambar di bawah.
Sekarang untuk memastikan apakah nilainya benar-benar berkaitan dengan kehadiran amonia, mari letakkan alat ini di dalam bekas tertutup dan hantarkan gas amonia di dalamnya untuk memeriksa apakah nilainya meningkat. Saya tidak mempunyai meter PPM yang betul dan mengkalibrasinya dan ada baiknya jika seseorang yang mempunyai meter dapat menguji persediaan ini dan memberitahu saya.
Anda boleh menonton video di bawah ini untuk memeriksa bagaimana bacaannya berbeza-beza berdasarkan kehadiran ammonia. Harap anda memahami konsep dan seronok mempelajarinya. Sekiranya anda mempunyai keraguan, tinggalkan di ruangan komen atau untuk bantuan lebih terperinci, gunakan forum di sini.