- חיישני גז מסדרת MQ
- הכנת החומרה שלך:
- גישה למדוד PPM מחיישני גז MQ:
- חישוב ערך הרו באוויר נקי:
- מדוד את הערך של Rs:
- יחס יחס Rs / Ro עם PPM:
- תוכנית לחישוב PPM באמצעות חיישן MQ:
- מציג ערך PPM בחומרה עם Arduino ו- MQ-137:
ממש מתקופת העידן התעשייתי אנו האנושות התפתחנו במהירות. עם כל התקדמות אנחנו גם מזהמים את הסביבה שלנו ובסופו של דבר משפילים אותה. עכשיו ההתחממות הגלובלית היא איום מדאיג ואפילו האוויר שאנו נושמים נהיה קריטי. אז ניטור איכות האוויר התחיל לקבל חשיבות. אז במאמר זה נלמד כיצד להשתמש בכל חיישן גז מסדרת MQ עם Arduino ולהציג את התפוקה ב- PPM (חלקים למיליון). PPM מתבטא גם כמיליגרם לליטר (מ"ג / ליטר). חיישנים אלה זמינים בדרך כלל ואמינים גם למדידת סוגים שונים של גז המוצגים להלן
חיישני גז מסדרת MQ
- פחמן דו חמצני (CO2): MG-811
- פחמן חד חמצני (CO): MQ-9
- סה"כ תרכובות אורגניות נדיפות (TVOC): CCS811
- פחמן דו חמצני שווה ערך (eCO2): CCS811
- תחמוצת מתכת (MOX): CCS811
- אמוניה: MQ-137
- איכות אוויר: MQ-135
- גפ"מ, אלכוהול, עשן: MQ2
השתמשנו כבר ב- MQ2 לחישת עשן וב- MQ-135 לפרויקט ניטור איכות האוויר. כאן אשתמש בחיישן MQ-137 מבית sainsmart למדידת אמוניה בעמודים לדקה. עם החיישן ביד עברתי על כל ההדרכות הקיימות וגיליתי שאין תיעוד מתאים כיצד למדוד את הגז בעמ"ד. רוב ההדרכות עוסקות בערכים אנלוגיים בלבד או מציגות קבועים שאינם אמינים למדידת כל סוג הגז. אז אחרי שהתעסקתי ברשת במשך זמן רב מצאתי סוף סוף להשתמש בחיישני הגז הללו מסדרת MQ כדי למדוד עמודים לדקה באמצעות Arduino. אני מסביר דברים מלמטה בלי שום ספריות כדי שתוכל להשתמש במאמר זה לכל חיישן גז הזמין איתך.
הכנת החומרה שלך:
ניתן לרכוש את חיישני הגז MQ כמודול או רק כחיישן בלבד. אם המטרה שלך היא למדוד רק עמודים לדקה, עדיף לקנות את החיישן לבד מכיוון שהמודול מתאים לשימוש רק בסיכה הדיגיטלית. אז אם רכשתם כבר את המודול, עליכם לבצע פריצה קטנה שעליה נדון בהמשך. בינתיים, נניח שרכשת את החיישן. פינוי החיבור והחיבור של החיישן מוצג להלן
כפי שאתה יכול לראות אתה רק צריך לחבר קצה אחד של 'H' לאספקה ואת הקצה השני של 'H' לקרקע. ואז שלבו גם את ה- A וגם את ה- B. חבר סט אחד לאספקת מתח והשני לסיכה האנלוגית שלך. הנגד R L ממלא תפקיד חשוב מאוד בהפעלת החיישן. אז רשמו איזה ערך אתם משתמשים, מומלץ ערך 47k.
אם כבר רכשת מודול, עליך לעקוב אחר עקבות ה- PCB שלך כדי למצוא את הערך של ה- R L שלך בלוח. Grauonline כבר ביצעה עבודה זו עבורנו ודיאגרמת המעגל של לוח חיישני הגז MQ מובאת להלן.
כפי שניתן לראות הנגד R L (R2) מחובר בין סיכה Aout לקרקע, כך שאם יש לך מודול ניתן למדוד את הערך של R L באמצעות מודד במצב התנגדות על פני סיכת Vout וסיכה Vcc של המודול. בחיישן הגז שלי Sainsmart MQ-137 הערך של RL היה 1K ונמצא כאן כפי שמוצג בתמונה למטה.
עם זאת, טענות האתר שהיא מספקת סיר משתנה של R L וזה לא נכון כפי שאתה יכול לראות בבירור בתרשים המעגל, הסיר משמש לקביעת המתח משתנה עבור-מגבר שרת ואין לו מה לעשות עם R L. אז עלינו להלחין ידנית את הנגד SMD (1K) המוצג לעיל ועלינו להשתמש בנגד שלנו על פני הקרקע וסיכה Vout אשר ישמש כ- RL. הערך הטוב ביותר עבור RL יהיה 47K כפי שהוצע בגיליון הנתונים ולכן אנו הולכים להשתמש בו.
גישה למדוד PPM מחיישני גז MQ:
עכשיו שאנחנו יודעים שהערך של R L מאפשר להמשיך כיצד למדוד בפועל עמודים לדקה מחיישנים אלה. כמו כל החיישנים המקום להתחיל הוא גליון הנתונים שלו. גליון הנתונים MQ-137 ניתן כאן אך וודא כי אתה מוצא את גליון הנתונים הנכון עבור החיישן שלך. בתוך גיליון הנתונים אנו זקוקים רק לגרף אחד אשר יותווה כנגד (Rs / Ro) VS PPM. זה זה שאנחנו צריכים לצורך החישובים שלנו. אז תפטרו אותו ותשמרו אותו במקום כלשהו. זה עבור החיישן שלי מוצג להלן.
מסתבר שחיישן MQ137 יכול למדוד NH3, C2H6O ואפילו CO. אבל כאן אני מתעניין רק בערכים של NH3. עם זאת אתה יכול להשתמש באותה שיטה לחישוב עמודים לדקה עבור כל חיישן שאתה אוהב. גרף זה הוא המקור היחיד עבורנו למצוא את הערך של עמודים לדקה, ואם היינו יכולים איכשהו לחשב את מנת Rs / Ro (ציר X) נוכל להשתמש בגרף זה כדי למצוא את הערך של עמוד לדקה (ציר Y). כדי למצוא את הערך של Rs / Ro עלינו למצוא את הערך של Rs ואת הערך של Ro. כאשר Rs הוא התנגדות החיישן בריכוז הגז ורו הוא התנגדות החיישן אדוני נקי.
כן… זו התוכנית בואו נראה איך נוכל לברוח עם זה….
חישוב ערך הרו באוויר נקי:
שימו לב שבתרשים הגרף של Rs / Ro הוא קבוע לאוויר (קו כחול עבה) ולכן נוכל להשתמש בזה לטובתנו ולומר שכאשר החיישן עובד באוויר צח הערך של Rs / Ro יהיה 3.6 להפנות את התמונה לְהַלָן
Rs / Ro = 3.6
מגליון הנתונים אנו מקבלים גם נוסחה לחישוב הערך של Rs. הנוסחה מוצגת להלן. אם אתם מעוניינים לדעת כיצד נגזרת הנוסחה הזו תוכלו לקרוא דרך מערכות ג'יי קון, ברצוני גם לזכות אותם בכך שהם עזרו לי לסדר את זה.
בנוסחה זו הערך של Vc הוא מתח האספקה שלנו (+ 5V) והערך של R L הוא זה שחישבנו כבר (47K עבור החיישן שלי). אם נכתוב תוכנית ארדואינו קטנה נוכל גם למצוא את הערך של V RL ולבסוף לחשב את הערך של Rs. נתתי תוכנית Arduino בהמשך שקוראת את המתח האנלוגי (V RL) של החיישן ומחשבת את ערך ה- R באמצעות הנוסחה הזו ולבסוף מציגה אותו בצג הטורי. התוכנית מוסברת היטב דרך קטע ההערות ולכן אני מדלג על ההסבר שלה כאן כדי לשמור על מאמר זה קצר.
/ * * תכנית למדידת ערך R0 עבור RL ידוע במזג אוויר צח * תכנית מאת: B. Aswinth Raj * אתר: www.circuitdigest.com * תאריך: 28-12-2017 * / // תוכנית זו עובדת בצורה הטובה ביותר בחדר אוויר צח עם טמפרטורה טמפ: 20 ℃, לחות: 65%, ריכוז O2 21% וכאשר הערך של Rl הוא 47K # הגדר RL 47 // ערך הנגד RL הוא 47K התקנה בטלה () // פועל בלבד פעם אחת {Serial.begin (9600); // אתחל COM טורתי להצגת הערך} loop loop () {float analog_value; צף VRL; צף Rs; לצוף Ro; עבור (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // קרא את הפלט האנלוגי של החיישן 200 פעמים {analog_value = analog_value + analogRead (A0); // הוסף את הערכים עבור 200} analog_value = analog_value / 500.0; // קח VRL ממוצע = analog_value * (5.0 / 1023.0);// המרת ערך אנלוגי למתח // RS = ((Vc / VRL) -1) * RL היא הנוסחאות שקיבלנו מגליון הנתונים Rs = ((5.0 / VRL) -1) * RL; // RS / RO הוא 3.6 כפי שקיבלנו מהגרף של גליון הנתונים Ro = Rs / 3.6; Serial.print ("Ro באוויר הצח ="); Serial.println (Ro); // הצג עיכוב Ro מחושב (1000); // עיכוב של 1 שניה}
הערה: הערך של Ro יהיה משתנה, אפשר לחיישן להתחמם מראש לפחות למשך 10 שעות ואז השתמש בערך Ro.
סיכמתי שהערך של Ro יהיה 30 KΩ עבור החיישן שלי (כאשר R L הוא 47kΩ). שלך עשוי להשתנות מעט.
מדוד את הערך של Rs:
עכשיו שאנחנו יודעים את הערך של Ro אנחנו יכולים לחשב בקלות את הערך של Rs באמצעות שתי הנוסחאות שלעיל. שים לב שהערך של Rs שחושב בעבר מיועד למזג אוויר צח והוא לא יהיה זהה כאשר אמוניה קיימת באוויר. חישוב הערך של Rs אינו נושא גדול שנוכל לטפל בו ישירות בתוכנית הסופית.
יחס יחס Rs / Ro עם PPM:
עכשיו כשאנחנו יודעים למדוד את הערך של Rs ו- Ro נוכל למצוא את היחס שלו (Rs / Ro). אז נוכל להשתמש בתרשים (שמוצג להלן) כדי להתייחס לערך המקביל של PPM.
למרות שקו NH3 (צבע ציאן) נראה ליניארי הוא למעשה לא לינארי. המראה הוא כי הסולם מחולק בצורה לא אחידה למראה. כך שהקשר בין Rs / Ro ו- PPM הוא למעשה לוגריתמי שניתן לייצג על ידי המשוואה הבאה.
יומן (y) = m * יומן (x) + b איפה, y = יחס (Rs / Ro) x = PPM m = שיפוע של קו b = נקודת חיתוך
כדי למצוא את הערכים של m ו- b עלינו להתחשב בשתי נקודות (x1, y1) ו- (x2, y2) בקו הדלק שלנו. כאן אנו עובדים עם אמוניה כך ששתי הנקודות ששקלתי הן (40,1) ו- (100,0.8) כפי שמוצג בתמונה לעיל (מסומנת כאדום) עם סימון אדום.
m = / m = יומן (0.8 / 1) / יומן (100/40) m = -0.243
באופן דומה עבור (b) נקבל את ערך נקודת האמצע (x, y) מהגרף שהוא (70,0.75) כפי שמוצג בתמונה לעיל (מסומן בכחול)
b = log (y) - m * log (x) b = log (0.75) - (-0.243) * log (70) b = 0.323
זהו זה שחישבנו את הערך של m ו- b נוכל להשוות את הערך של (Rs / Ro) ל- PPM באמצעות הנוסחה הבאה.
PPM = 10 ^ {/ m}
תוכנית לחישוב PPM באמצעות חיישן MQ:
התכנית המלאה לחשב PPM באמצעות חיישן MQ היא כדלקמן. להלן מוסברים כמה שורות חשובות.
לפני שנמשיך בתוכנית עלינו להזין את ערכי עמידות העומס (RL), שיפוע (m), יירוט (b) וערך ההתנגדות באוויר הצח (Ro). ההסבר להשגת כל הערכים הללו כבר הוסבר, אז בואו רק נאכיל אותם עכשיו
# הגדר RL 47 // ערך הנגד RL הוא 47 K # הגדר m -0.263 // הזן מחושב שיפוע # הגדר b 0.42 // הזן יירוט מחושב # הגדר Ro 30 // הזן ערך Ro נמצא
לאחר מכן קרא את ירידת המתח על פני החיישן (VRL) והמיר אותו למתח (0 וולט עד 5 וולט) מכיוון שהקריאה האנלוגית תחזיר רק ערכים בין 0 ל -1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // מדוד את ירידת המתח והמיר ל- 0-5V
כעת, כאשר הערך של VRL מחושב, תוכלו להשתמש בנוסחה שנדונה לעיל כדי לחשב את הערך של Rs ואת היחס (Rs / Ro)
יחס = Rs / Ro; // יחס היחס Rs / Ro
לבסוף, אנו יכולים לחשב את ה- PPM עם הנוסחה הלוגריתמית שלנו ולהציג אותו על הצג הסדרתי שלנו כמוצג להלן
עמודים לדקה כפולים = פאו (10, ((log10 (יחס) -ב) / מ '); // השתמש בנוסחה לחישוב עמודים לדקה Serial.print (עמודים לדקה); // הצגת עמודים לדקה
מציג ערך PPM בחומרה עם Arduino ו- MQ-137:
די לכל התיאוריה נניח לבנות מעגל פשוט עם החיישן וה- LCD כדי להציג את ערך הגז ב- PPM. הנה החיישן שאני משתמש בו הוא MQ137 המודד אמוניה, תרשים המעגל להגדרה שלי מוצג להלן.
חבר את החיישן שלך ל- LCD כפי שמוצג בתרשים המעגל והעלה את הקוד שניתן בסוף התוכנית. עליכם לשנות את ערך ה- Ro כמוסבר לעיל. בצע גם את השינויים בערכי הפרמטרים אם אתה משתמש בכל נגד אחר כ- RL שאינו 4.7K.
השאר את ההתקנה מופעלת למשך שעתיים לפחות לפני שתבצע קריאות כלשהן, (מומלץ 48 שעות לערכים מדויקים יותר). זמן זה נקרא זמן החימום, במהלכו מתחמם החיישן. לאחר מכן, אתה אמור להיות מסוגל לראות את ערך ה- PPM ואת המתח המוצג על מסך ה- LCD שלך כמוצג להלן.
עכשיו, כדי להבטיח אם הערכים קשורים באמת לנוכחות אמוניה, בואו נניח מערך זה בתוך מיכל סגור ונשלח לתוכו גז אמוניה כדי לבדוק אם הערכים עולים. אין לי מד PPM מתאים לי לכייל אותו וזה נהדר אם מישהו עם מטר יוכל לבדוק את ההתקנה הזו וליידע אותי.
תוכלו לצפות בסרטון למטה כדי לבדוק כיצד הקריאות משתנות בהתאם לנוכחות האמוניה. מקווה שהבנתם את המושג ונהניתם ללמוד אותו. אם יש לך ספקות השאר אותם בסעיף ההערות או לקבלת עזרה מפורטת יותר השתמש בפורום כאן.