- Sensor Gas seri MQ
- Mempersiapkan Perangkat Keras Anda:
- Pendekatan Mengukur PPM dari Sensor Gas MQ:
- Menghitung Nilai Ro di Udara Bersih:
- Ukur nilai Rs:
- Mengaitkan rasio Rs / Ro dengan PPM:
- Program untuk menghitung PPM menggunakan sensor MQ:
- Menampilkan nilai PPM pada Hardware dengan Arduino dan MQ-137:
Sejak zaman industri, kita umat manusia telah berkembang pesat. Dengan setiap kemajuan kita juga mencemari lingkungan kita dan pada akhirnya merusaknya. Sekarang pemanasan global adalah ancaman yang mengkhawatirkan dan bahkan udara yang kita hirup semakin kritis. Jadi pemantauan kualitas udara juga mulai menjadi penting. Jadi dalam artikel ini kita akan belajar cara menggunakan sensor gas seri MQ apa pun dengan Arduino dan menampilkan output dalam PPM (parts per million). PPM juga dinyatakan sebagai miligram per liter (mg / L). Sensor ini biasanya tersedia dan juga dapat diandalkan untuk mengukur berbagai jenis gas yang ditunjukkan di bawah ini
Sensor Gas seri MQ
- Karbon Dioksida (CO2): MG-811
- Karbon Monoksida (CO): MQ-9
- Total Senyawa Organik Mudah Menguap (TVOCs): CCS811
- Karbon Dioksida Setara (eCO2): CCS811
- Oksida Logam (MOX): CCS811
- Amonia: MQ-137
- Kualitas Udara: MQ-135
- LPG, Alkohol, Asap: MQ2
Kami telah menggunakan MQ2 untuk penginderaan asap dan MQ-135 untuk proyek pemantauan kualitas udara. Di sini saya akan menggunakan sensor MQ-137 dari sainsmart untuk mengukur amonia dalam ppm. Dengan sensor di tangan, saya menelusuri semua tutorial yang tersedia dan menemukan bahwa tidak ada dokumentasi yang tepat tentang cara mengukur gas dalam ppm. Kebanyakan tutorial hanya membahas nilai Analog atau memperkenalkan beberapa konstanta yang tidak dapat diandalkan untuk mengukur semua jenis gas. Jadi setelah mengotak-atik online lama akhirnya saya menemukan cara menggunakan sensor gas seri MQ ini untuk mengukur ppm menggunakan Arduino. Saya menjelaskan hal-hal dari bawah tanpa pustaka apa pun sehingga Anda dapat menggunakan artikel ini untuk sensor Gas apa pun yang tersedia dengan Anda.
Mempersiapkan Perangkat Keras Anda:
Sensor gas MQ dapat dibeli sebagai modul atau hanya sebagai sensor saja. Jika tujuan Anda hanya untuk mengukur ppm maka yang terbaik adalah membeli sensornya saja karena modulnya bagus hanya dengan menggunakan pin Digital. Jadi jika Anda sudah membeli modulnya maka Anda harus melakukan peretasan kecil yang akan dibahas lebih lanjut. Untuk saat ini, anggap saja Anda telah membeli sensor tersebut. Pinout dan koneksi sensor ditunjukkan di bawah ini
Seperti yang Anda lihat, Anda hanya perlu menghubungkan satu ujung 'H' ke suplai dan ujung 'H' ke ground. Kemudian gabungkan A dan B. Hubungkan satu set untuk menyuplai tegangan dan yang lainnya ke pin analog Anda. Resistor RL memegang peranan yang sangat penting dalam membuat sensor bekerja. Jadi catat nilai mana yang Anda gunakan, nilai 47k direkomendasikan.
Jika Anda telah membeli modul, maka Anda harus melacak jejak PCB Anda untuk menemukan nilai R L Anda di papan tulis. Grauonline telah melakukan pekerjaan ini untuk kami dan diagram sirkuit papan sensor gas MQ diberikan di bawah ini.
Seperti yang Anda lihat resistor R L (R2) terhubung antara pin Aout dan ground, jadi jika Anda memiliki modul, nilai RL dapat diukur dengan menggunakan multimeter dalam mode resistansi di pin Vout dan pin Vcc. modul. Dalam sensor gas sainsmart MQ-137 saya nilai RL adalah 1K dan terletak di sini seperti yang ditunjukkan pada gambar di bawah ini.
Namun, klaim website yang menyediakan variabel pot R L yang tidak benar seperti yang Anda dapat dengan jelas melihat dalam diagram sirkuit, pot digunakan untuk mengatur tegangan variabel untuk op-amp dan tidak ada hubungannya dengan R L. Jadi kita harus secara manual menyolder resistor SMD (1K) yang ditunjukkan di atas dan kita harus menggunakan resistor kita sendiri di pin Ground dan Vout yang akan bertindak sebagai RL. Nilai terbaik untuk RL adalah 47K seperti yang disarankan oleh lembar data sehingga kami akan menggunakan hal yang sama.
Pendekatan Mengukur PPM dari Sensor Gas MQ:
Sekarang kita tahu nilai RL mari kita lanjutkan tentang bagaimana sebenarnya mengukur ppm dari sensor ini. Seperti semua sensor, tempat untuk memulai adalah lembar datanya. Lembar Data MQ-137 diberikan di sini, tetapi pastikan Anda menemukan lembar data yang benar untuk sensor Anda. Di dalam datasheet kita hanya membutuhkan satu grafik yang akan diplot terhadap (Rs / Ro) VS PPM ini yang kita butuhkan untuk perhitungan kita. Jadi, bicarakan dan simpan di tempat yang mudah dijangkau. Yang untuk sensor saya ditunjukkan di bawah ini.
Ternyata sensor MQ137 dapat mengukur NH3, C2H6O bahkan CO. Tapi, di sini saya hanya tertarik pada nilai-nilai NH3. Namun Anda dapat menggunakan metode yang sama untuk menghitung ppm untuk sensor apa pun yang Anda suka. Grafik ini adalah satu-satunya sumber bagi kami untuk menemukan nilai ppm dan jika kami dapat menghitung rasio Rs / Ro (sumbu X), kami dapat menggunakan grafik ini untuk mencari nilai ppm (sumbu Y). Untuk mencari nilai Rs / Ro kita perlu mencari nilai Rs dan nilai Ro. Dimana Rs adalah resistansi sensor pada konsentrasi gas dan Ro adalah resistansi sensor pada clean sir.
Yess… ini rencananya mari kita lihat bagaimana kita bisa lolos dengan ini….
Menghitung Nilai Ro di Udara Bersih:
Perhatikan bahwa dalam grafik nilai Rs / Ro konstan untuk udara (garis biru tebal) sehingga kita dapat menggunakan ini untuk keuntungan kita dan mengatakan bahwa ketika sensor bekerja di udara segar nilai Rs / Ro akan menjadi 3,6 lihat gambar di bawah
Rs / Ro = 3,6
Dari lembar data kita juga bisa memiliki rumus untuk menghitung nilai Rs. Rumusnya ditunjukkan di bawah ini. Jika Anda tertarik untuk mengetahui bagaimana rumus ini diturunkan, Anda dapat membaca melalui sistem jay con, saya juga ingin menghargai mereka yang membantu saya menyelesaikan masalah ini.
Dalam rumus ini nilai Vc adalah tegangan suplai kami (+ 5V) dan nilai R L adalah nilai yang sudah kami hitung (47K untuk sensor saya). Jika kita menulis program Arduino kecil kita juga bisa menemukan nilai V RL dan akhirnya menghitung nilai Rs. Saya telah memberikan Program Arduino di bawah ini yang membaca tegangan analog (V RL) dari sensor dan menghitung nilai Rs menggunakan rumus ini dan akhirnya menampilkannya di monitor serial. Program ini dijelaskan dengan baik melalui bagian komentar jadi saya melewatkan penjelasannya di sini agar artikel ini tetap singkat.
/ * * Program untuk mengukur nilai R0 untuk RL yang diketahui pada kondisi udara segar * Program oleh: B.Aswinth Raj * Website: www.circuitdigest.com * Tanggal: 28-12-2017 * / // Program ini bekerja paling baik di ruang udara segar dengan suhu Temp: 20 ℃, Kelembaban: 65%, konsentrasi O2 21% dan ketika nilai Rl adalah 47K # tentukan RL 47 // Nilai resistor RL adalah 47K void setup () // Hanya berjalan sekali {Serial.begin (9600); // Inisialisasi serial COM untuk menampilkan nilai} void loop () {float analog_value; mengapung VRL; mengapung Rs; mengapung Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Baca keluaran analog dari sensor sebanyak 200 kali {analog_value = analog_value + analogRead (A0); // tambahkan nilai untuk 200} analog_value = analog_value / 500.0; // Ambil rata-rata VRL = analog_value * (5.0 / 1023.0);// Ubah nilai analog menjadi tegangan // RS = ((Vc / VRL) -1) * RL adalah rumus yang kita peroleh dari lembar data Rs = ((5.0 / VRL) -1) * RL; // RS / RO adalah 3.6 seperti yang kita peroleh dari grafik datasheet Ro = Rs / 3.6; Serial.print ("Ro di udara segar ="); Serial.println (Ro); // Menampilkan penundaan Ro yang dihitung (1000); // penundaan 1sec}
Catatan: Nilai Ro akan bervariasi, biarkan sensor melakukan pre-heat setidaknya selama 10 jam dan kemudian gunakan nilai Ro.
Saya menyimpulkan nilai Ro menjadi 30 KΩ untuk sensor saya (ketika R L adalah 47kΩ). Milik Anda mungkin sedikit berbeda.
Ukur nilai Rs:
Sekarang kita tahu nilai Ro kita dapat dengan mudah menghitung nilai Rs menggunakan dua rumus di atas. Perhatikan bahwa nilai Rs yang telah dihitung sebelumnya adalah untuk kondisi udara segar dan tidak akan sama jika ada amonia di udara. Menghitung nilai Rs bukanlah masalah besar yang bisa langsung kita urus di program akhir.
Mengaitkan rasio Rs / Ro dengan PPM:
Sekarang kita tahu bagaimana mengukur nilai Rs dan Ro kita akan dapat menemukan rasionya (Rs / Ro). Kemudian kita dapat menggunakan grafik (ditampilkan di bawah) untuk menghubungkan dengan nilai PPM yang sesuai.
Meskipun garis NH3 (warna cyan) tampak linier, sebenarnya tidak linier. Penampilan karena skala terbagi secara tidak seragam untuk penampilan. Jadi keterkaitan antara Rs / Ro dan PPM sebenarnya bersifat logaritmik yang dapat direpresentasikan oleh persamaan di bawah ini.
log (y) = m * log (x) + b dimana, y = rasio (Rs / Ro) x = PPM m = kemiringan garis b = titik potong
Untuk mencari nilai m dan b kita harus mempertimbangkan dua titik (x1, y1) dan (x2, y2) pada saluran gas kita. Di sini kita mengerjakan amonia jadi dua poin yang saya pertimbangkan adalah (40,1) dan (100,0.8) seperti yang ditunjukkan pada gambar di atas (ditandai merah) dengan tanda merah.
m = / m = log (0.8 / 1) / log (100/40) m = -0.243
Demikian pula untuk (b) mari kita dapatkan nilai titik tengah (x, y) dari grafik yaitu (70,0.75) seperti yang ditunjukkan pada gambar di atas (ditandai dengan warna biru)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,333
Itu saja sekarang kita telah menghitung nilai m dan b kita dapat menyamakan nilai (Rs / Ro) dengan PPM menggunakan rumus di bawah ini
PPM = 10 ^ {/ m}
Program untuk menghitung PPM menggunakan sensor MQ:
Program lengkap untuk menghitung PPM menggunakan sensor MQ diberikan di bawah ini. Beberapa baris penting dijelaskan di bawah ini.
Sebelum melanjutkan program kita perlu memberi makan nilai Resistansi beban (RL), Kemiringan (m), Intercept (b) dan nilai Resistensi di udara segar (Ro). Prosedur untuk mendapatkan semua nilai ini telah dijelaskan jadi mari kita beri makan mereka sekarang
#define RL 47 // Nilai resistor RL adalah 47K #define m -0.263 // Masukkan Slope yang dihitung #define b 0.42 // Masukkan intersep yang dihitung #define Ro 30 // Masukkan nilai Ro yang ditemukan
Kemudian baca penurunan Tegangan pada sensor (VRL) dan ubah menjadi Tegangan (0V ke 5V) karena pembacaan analog hanya akan mengembalikan nilai dari 0 hingga 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Ukur penurunan tegangan dan ubah ke 0-5V
Sekarang, setelah nilai VRL dihitung, Anda dapat menggunakan rumus yang dibahas di atas untuk menghitung nilai Rs dan juga rasio (Rs / Ro)
rasio = Rs / Ro; // temukan rasio Rs / Ro
Akhirnya, kami dapat menghitung PPM dengan rumus logaritmik kami dan menampilkannya di monitor serial kami seperti yang ditunjukkan di bawah ini
ppm ganda = pow (10, ((log10 (rasio) -b) / m)); // gunakan rumus untuk menghitung ppm Serial.print (ppm); // Tampilkan ppm
Menampilkan nilai PPM pada Hardware dengan Arduino dan MQ-137:
Cukup semua teori mari kita membangun rangkaian sederhana dengan sensor dan LCD untuk menampilkan nilai gas dalam PPM. Di sini sensor yang saya gunakan adalah MQ137 yang mengukur amonia, diagram rangkaian untuk pengaturan saya ditunjukkan di bawah ini.
Hubungkan sensor Anda dan LCD Anda seperti yang ditunjukkan pada diagram Sirkuit dan unggah kode yang diberikan di akhir program. Anda harus mengubah nilai Ro seperti yang dijelaskan di atas. Juga buat perubahan nilai parameter jika Anda menggunakan resistor lain sebagai RL selain 4.7K.
Biarkan penyiapan Anda menyala setidaknya selama 2 jam sebelum Anda melakukan pembacaan apa pun, (disarankan 48 jam untuk nilai yang lebih akurat). Waktu ini disebut waktu pemanasan, saat sensor menjadi hangat. Setelah ini, Anda akan dapat melihat nilai PPM dan tegangan yang ditampilkan di layar LCD Anda seperti gambar di bawah ini.
Sekarang untuk memastikan apakah nilainya benar-benar terkait dengan keberadaan amonia, mari tempatkan pengaturan ini di dalam wadah tertutup dan kirim gas amonia ke dalamnya untuk memeriksa apakah nilainya meningkat. Saya tidak memiliki meteran PPM yang tepat dengan saya mengkalibrasinya dan akan sangat bagus jika seseorang dengan meteran dapat menguji pengaturan ini dan memberi tahu saya.
Anda dapat menonton video di bawah ini untuk memeriksa bagaimana pembacaan bervariasi berdasarkan keberadaan amonia. Harap Anda memahami konsepnya dan menikmati mempelajarinya. Jika Anda ragu tinggalkan mereka di bagian komentar atau untuk bantuan lebih rinci gunakan forum di sini.