חיישן חלקיקי חומר ESP-01S Publishing
מדריך למשתמש
חיישן חלקיקי חומר ESP-01S Publishing
פרסום נתוני חיישן חלקיקים ל-Adafruit IO עם Maker Pi Pico ו-ESP-01S
מאת kevinjwalters
מאמר זה מראה כיצד לפרסם נתונים משלושה חיישני חלקיקים בעלות נמוכה לשירות Adafruit IO IoT באמצעות Cytron Maker Pi Pico המריץ תוכנית CircuitPython המשדרת את יציאות החיישנים דרך Wi-Fi עם מודול ESP-01S המריץ AT rmware.
ארגון הבריאות העולמי מזהה חומר חלקיקי PM2.5 כאחד מהסיכונים הסביבתיים הגדולים ביותר לבריאות, כאשר 99% מאוכלוסיית העולם חיה במקומות שבהם רמות הנחיות איכות האוויר של ארגון הבריאות העולמי לא התקיימו בשנת 2019. להערכתו 4.2 מיליון מקרי מוות בטרם עת נגרמו כתוצאה מכך בשנת 2016.
שלושת חיישני החלקיקים המוצגים במאמר זה הם:
- ה-Plantower PMS5003 באמצעות חיבור טורי;
- ה-Sensirion SPS30 באמצעות i2c;
- ה-Omron B5W LD0101 עם יציאות דופק.
חיישנים אופטיים אלה דומים לאלה שנמצאים בסוג אחד של אזעקת עשן ביתית, אך הם מתים בניסיונם לספור חלקיקים בגדלים שונים ולא רק להזעיק בריכוז סף.
PMS5003 מבוסס לייזר אדום הוא חיישן חובבים נפוץ וניתן למצוא אותו בחיישן איכות האוויר PurpleAir PA-II. ה-SPS30 הוא חיישן עדכני יותר המשתמש באותו עיקרון וניתן למצוא אותו בחיישן איכות האוויר של Clarity Node-S. לחיישן LED מבוסס אינפרא אדום B5W LD0101 יש ממשק פרימיטיבי יותר אך שימושי ליכולתו לזהות חלקיקים גדולים מ-2.5 מיקרון - שני החיישנים האחרים אינם יכולים למדוד אותם באופן אמין.
Adafruit IO מציע שכבה חינמית עם מספר מוגבל של עדכונים ודשבורדים - אלה מתאימים לפרויקט הזה. נתוני השכבה החינמית נשמרים למשך 30 יום אך ניתן להוריד את הנתונים בקלות.
לוח Maker Pi Pico במאמר זה הוא כample Cytron שלח לי באדיבות להעריך. המניע היחיד לגרסת הייצור הוא תוספת של רכיבים פסיביים כדי להקפיץ את שלושת הכפתורים.
מודול ESP-01S עשוי להזדקק לשדרוג AT rmware. זהו תהליך מורכב יחסית, מסורבל ועשוי לדרוש זמן רב. Cytron מוכרים את המודול עם תוכנת AT rmware המתאימה עליו.
חיישן Omron B5W LD0101, למרבה הצער, מופסק על ידי היצרן עם הזמנות אחרונות במרץ 2022.
אספקה:
- Cytron Maker Pi Pico – Digi-key | PiHut
- ESP-01S – הלוח של Cytron מגיע עם ATrmware מתאים.
- מתאם/מתכנת USB ESP-01 עם לחצן איפוס – Cytron.
- קרש לחם.
- חוטי מגשר נקבה לזכר, אורך מינימלי של 20 ס"מ (8 אינץ').
- Plantower PMS5003 עם מתאם כבלים ומתאם – Adafruit
- או Plantower PMS5003 + מתאם ללוח לחם Pimoroni – Pimoroni + Pimoroni
- Sensirion SPS30 – Digi-key
- כבל Sparkfun SPS30 JST-ZHR ל-5 פינים זכרים – Digi-key
- 2x 2.2k נגדים.
- Omron B5W LD0101 – Mouser
- כבל Omron המתואר כרתמה (2JCIE-HARNESS-05) - Mouser
- ראש זכר 5 פינים (להתאמת כבל ללוח לחם).
- הלחמה - תפסי תנין (תנין) יכולים לעבוד כחלופה להלחמה.
- 2x 4.7k נגדים.
- 3x 10k נגדים.
- קבל 0.1uF.
- כוח סוללה עבור Omron B5W LD0101:
- מחזיק סוללות 4AA לסוללות NiMH נטענות (בחירה טובה יותר).
- או מחזיק לבלילה 3AA לסוללות אלקליין.
- ערכת כוח USB עשויה להיות שימושית אם ברצונך לברוח החוצה הרחק ממקור כוח USB.
שלב 1: מתכנת USB לעדכון פלאש ב-ESP-01S
סביר להניח שמודול ESP-01S לא יגיע עם תוכנת AT מתאימה, אלא אם כן הוא מ-Cytron. הדרך הקלה ביותר לעדכן אותו היא להשתמש במחשב שולחני או מחשב נייד של Windows עם מתאם USB המאפשר כתיבה ומאפשר את האפר ויש לו כפתור איפוס.
לרוע המזל, מתאם נפוץ מאוד ללא מותג המתואר לעתים קרובות כמשהו כמו "מתאם מתכנת מתכנת ESP-01 UART" אין לחצנים או מתגים לשלוט בהם. הסרטון שלמעלה מראה כיצד ניתן לבטל זאת במהירות
עם כמה מתגים מאולתרים העשויים משני חוטי מגשר זכר לנקבה חתוכים לשניים ומולחמים על הפינים בצד התחתון של לוח המתכנת. גישה חלופית לכך באמצעות לוח לחם ניתן לראות ב-Hackaday:
ESPHome על ESP-01 Windows Workflow.
https://www.youtube.com/watch?v=wXXXgaePZX8
שלב 2: עדכון קושחה ב-ESP-01S באמצעות Windows
ניתן להשתמש בתוכנת מסוף כמו PuTTY עם מתכנת ESP-01 כדי לבדוק את גרסת ה-rmware. תוכנת ה-rmware גורמת ל-ESP8266 להתנהג קצת כמו מודם עם פקודות בהשראת מערך הפקודות של Hayes. הפקודה AT+GMR AT+GMR מציגה את גרסת ה-rmware.
AT+GMR
גרסת AT:1.1.0.0 (11 במאי 2016 18:09:56)
גרסת SDK: 1.5.4(baaeaebb)
זמן הידור: 20 במאי 2016 15:08:19
ל- Cytron יש מדריך המתאר כיצד להחיל את עדכון ה-rmware באמצעות כלי ההורדה של Espressif Flash (Windows בלבד) ב-GitHub: CytronTechnologies/esp-at-binaries. Cytron מספקים גם עותק של ה-rmware הבינארי, Cytron_ESP-01S_AT_Firmware_V2.2.0.bin.
לאחר שדרוג מוצלח, תוכנת ה-rmware החדשה תדווח כגרסה 2.2.0.0
AT+GMR
גרסת AT:2.2.0.0(b097cdf – ESP8266 – 17 ביוני 2021 12:57:45)
גרסת SDK: v3.4-22-g967752e2
זמן הידור (6800286): 4 באוגוסט 2021 17:20:05
גרסת סל: 2.2.0(Cytron_ESP-01S)
תוכנית שורת פקודה בשם esptool זמינה כחלופה לתכנות ה-ESP-8266S מבוסס ESP01 וניתן להשתמש בה ב-Linux או ב-macOS.
את תוכנת ה-rmware ב-ESP-01S ניתן לבדוק ב-Maker Pi Pico באמצעות ה-simpletest.py של Cytron. זה שולח פינג ICMP לשירות ידוע באינטרנט כל 10 שניות ומציג את זמן הנסיעה הלוך ושוב (rtt) באלפיות שניות. זה צריך secrets.py file עם Wi-Fi SSID (שם) וסיסמה - זה מתואר בהמשך מאמר זה.
הטובהרעים
שלב 3: חיבור החיישנים
לוח לחם בגודל חצי שימש לחיבור שלושת החיישנים ולניטור הוולtage מארבע סוללות NiMH נטענות. כלולה תמונה ברזולוציה גבוהה של ההתקנה המלאה למעלה והשלבים הבאים מתארים כיצד ניתן לחבר כל חיישן.
פסי החשמל על לוח הלחם מופעלים מה-Pi Pico עם
- VBUS (5V) ו-GND למסילות החשמל בצד שמאל ו
- 3V3 ו-GND לצד ימין.
מסילות החשמל מסומנות בקו אדום סמוך עבור מסילה חיובית וכחול עבור מסילה שלילית (או קרקע). על לוח לחם בגודל מלא (830 חורים) ייתכן שיש להם סט עליון של מסילות שאינן מחוברות לסט המסילות התחתון.
הסוללות משמשות רק להפעלת ה-Omron B5W LD0101 שזקוק לווליום קבועtagה. כוח ה-USB מהמחשב רועש לעתים קרובות מה שהופך אותו לא מתאים.
שלב 4: חיבור ה-Plantower PMS5003
ה-Plantower PMS5003 דורש מתח של 5V אך ממשק "סגנון TTL" הסדרתי שלו בטוח ב-3.3V. הקשרים מה
PMS5003 דרך לוח פריצה ל- Pi Pico הם:
- VCC עד 5V (אדום) דרך מסילה של שורה 6 עד 5V;
- GND ל-GND (שחור) דרך שורה 5 ל-GND;
- SET ל-EN (כחול) דרך שורה 1 עד GP2;
- RX ל-RX (לבן) דרך שורה 3 עד GP5;
- TX ל-TX (אפור) דרך שורה 4 ל-GP4;
- איפוס לאיפוס (סגול) דרך שורה 2 ל-GP3;
- NC (לא מחובר);
- NC.
גיליון הנתונים כולל אזהרה לגבי מארז המתכת.
מעטפת מתכת מחוברת ל-GND אז היזהר לא לתת לה לקצר [sic] עם שאר חלקי המעגל מלבד GND.
הרכיב נוטה להישלח עם פלם פלסטיק כחול על המארז כדי להגן על פני השטח מפני שריטות, אך אין להסתמך על זה עבור בידוד חשמלי.
שלב 5: חיבור ה-Sensirion SPS30
ה-Sensirion SPS30 דורש מתח של 5V אך ממשק ה-i2c שלו בטוח ב-3.3V. הרכיבים הנוספים היחידים הם שני נגדים של 2.2k שישמשו כמשכים לאוטובוס i2c. החיבורים מה-SPS30 ל-Pi Pico הם:
- VDD (אדום) למסילה 5V5V;
- SDA (לבן) ל-GP0 (אפור) דרך שורה 11 עם נגד 2.2k למסילה 3.3V;
- SCL (סגול) ל-GP1 (סגול) דרך שורה 10 עם נגד 2.2k למסילה 3.3V;
- SEL (ירוק) ל-GND;
- GND (שחור) ל- GND.
ייתכן שהמחבר על הכבל ידרוש דחיפה חזקה כדי להכניס אותו כראוי לתוך ה-SPS30.
ה-SPS30 תומך גם בממשק טורי עליו ממליצה Sensirion בגיליון הנתונים.
יש לקחת כמה שיקולים לגבי השימוש בממשק I2C. I2C תוכנן במקור לחבר שני שבבים על גבי PCB. כאשר החיישן מחובר ל-PCB הראשי באמצעות כבל, יש לשים לב במיוחד להפרעות אלקטרומגנטיות ולהצלבה. השתמש בכבלי חיבור קצרים ככל האפשר (<10 ס"מ) ו/או מסוככים היטב.
אנו ממליצים להשתמש בממשק UART במקום זאת, במידת האפשר: הוא חזק יותר מפני הפרעות אלקטרומגנטיות, במיוחד עם כבלי חיבור ארוכים.
יש גם אזהרה לגבי חלקי המתכת של המארז.
שימו לב, שיש חיבור חשמלי פנימי בין פין GND (5) לבין מיגון מתכת. שמור על מיגון מתכת זה מכוסה חשמלית כדי למנוע זרמים לא מכוונים דרך החיבור הפנימי הזה. אם זו אינה אופציה, השוואת פוטנציאל חיצוני נאותה בין פין GND לכל פוטנציאל המחובר למיגון הוא חובה. כל זרם דרך החיבור בין GND למיגון מתכת עלול לפגוע במוצר ולהוות סיכון בטיחותי באמצעות התחממות יתר.
שלב 6: חיבור ה-Omron B5W LD0101
כבל Omron אינו מיועד לשימוש עם לוח לחם. דרך מהירה אחת להמיר אותו לשימוש ב-breaboard היא לחתוך את השקע, להפשיט את החוטים ולהלחים אותם באורך של חמישה פינים של פיני ראש זכר. תפסי תנין (תנין) יכולים לשמש כגישה חלופית כדי להימנע מהלחמה.
ה-Omron B5W LD0101 דורש אספקת חשמל יציבה של 5V. שתי היציאות שלו הן גם ברמת 5V שאינה תואמת את כניסות ה-3.3V של Pi Pico. הנוכחות של נגדים על לוח החיישנים מאפשרת להוריד את זה לערך בטוח על ידי הוספת נגד 4.7k לאדמה לכל פלט. הנגדים המשולבים מתועדים בגיליון הנתונים שהופכים זאת לגישה סבירה.
החיבורים מה-B5W LD0101 ל-Pi Pico הם:
- מסילה Vcc (אדום) ל-5V (אדום) דרך שורה 25;
- OUT1 (צהוב) ל-GP10GP10 (צהוב) דרך שורה 24 עם נגד 4.7k ל-GND;
- GND (שחור) ל-GND (שחור) דרך שורה 23;
- החמישי (ירוק) ל-GP26GP26 (ירוק) דרך שורה 22 עם קבל של 0.1uF ל-GND;
- OUT2 (כתום) ל-GP11 (כתום) דרך שורה 21 עם נגד 4.7k ל-GND.
ה GP12 (ירוק) מה-Pi Pico מתחבר לשורה 17 ונגד 10k מחבר בין שורה 17 לשורה 22.
גיליון הנתונים מתאר את דרישת אספקת החשמל כ:
מינימום 4.5V, 5.0V טיפוסי, מקסימום 5.5V, ווליום אדווהtagמומלץ טווח של 30mV או פחות. ודא שאין רעש מתחת ל-300Hz. קון
rm האדוות המותרת כרךtagערך באמצעות מכונה בפועל.
שלוש סוללות אלקליין או ארבע סוללות נטענות (NiMH) הן הדרך הקלה ביותר לספק נפח יציב ויציבtage בסביבות 5V לחיישן. סביר להניח כי ערכת חשמל מסוג USB תהיה בחירה גרועה מכיוון שהוולtage הוא בדרך כלל מסוללת ליתיום המשתמשת בממיר buck-boost שגורם לו לרעש.
ה-B5W LD0101 משתמש בהסעה עבור זרימת האוויר שלו ויש למקם אותו זקוף כדי לעבוד בצורה נכונה. שינוי אספקה כרךtage עשוי להשפיע על טמפרטורת המחמם ועל זרימת האוויר הנלווית. גם לטמפרטורת הסביבה חייבת להיות השפעה.
שלב 7: ניטור סוללה עם מחלק פוטנציאל
כרך הסוללהtage חורג מרמת ה-3.3V של הכניסות של מעבד ה-RP2040 של Pi Pico. מחלק פוטנציאל פשוט יכול להפחית את הנפח הזהtage להיות בטווח הזה. זה מאפשר ל-RP2040 למדוד את רמת הסוללה בכניסה אנלוגית (GP26 עד GP28).
זוג נגדים של 10k שימש למעלה כדי להפחית בחצי את הווליוםtagה. זה נפוץ לראות ערכים גבוהים יותר בשימוש כמו 100k כדי למזער את הזרם המבוזבז. החיבורים הם:
- חוט מגשר B5W LD0101 Vcc (אדום) לשורה 29 בצד שמאל;
- נגד 10k בשורה 29 בין צד שמאל לימין בשורה 29;
- חוט מגשר חום ל-Pi Pico GP27;
- נגד 10k מהצד הימני של שורה 29 למסילת GND הסמוכה.
GP28 ב-Maker Pi Pico יכול לשמש ככניסה אנלוגית אך מכיוון שהוא מחובר גם לפיקסל RGB, עשוי להשפיע מעט על הערך ואף עשוי להאיר או להשתנות אם הקלט נראה כמו פרוטוקול WS2812!
שלב 8: התקנת תוכנית CircuitPython ו-Sensor Data Publishing
אם אינך מכיר את CircuitPython, כדאי לקרוא תחילה את המדריך ברוכים הבאים ל-CircuitPython.
- התקן את שבע הספריות הבאות מהחבילה של גרסה 7.x מ https://circuitpython.org/libraries לתוך ספריית lib בכונן CIRCUITPY:
- adafruit_bus_device
- adafruit_minimqtt
- adafruit_io
- adafruit_espatcontrol
- adafruit_pm25
- adafruit_requests.mpy
- neopixel.mpy
- הורד את שתי הספריות הנוספות הללו לספריית lib על ידי לחיצה על שמור קישור בשם... ב- files בתוך הספרייה או על file:
- adafruit_sps30 מ https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py מ https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- צור את ה- secrets.py file (ראה דוגמהample למטה) ומלא את הערכים.
- הורד את התוכנית ל-CIRCUITPY על ידי לחיצה על קישור שמור בשם... ב-pmsensors_adafruitio.py
- שנה שם או מחק כל code.py קיים file ב-CIRCUITPY ואז שנה את שם ה-pmsensors_adafruitio.py ל-code.py זה file מופעל כאשר מתורגמן CircuitPython מתחיל או נטען מחדש.
# הקובץ הזה הוא המקום שבו אתה שומר הגדרות, סיסמאות ואסימונים סודיים!
# אם תכניס אותם לקוד אתה מסתכן בביצוע המידע הזה או בשיתוף שלו
סודות = {
"ssid" : "הכנס-WIFI-NAME-HERE",
"סיסמה" : "הכנס-WIFI-PASSWORD-HERE",
"aio_username" : "הכנס-ADAFRUIT-IO-USERNAME-HERE",
"aio_key" : "הכנס-ADAFRUIT-IO-APPLICATION-KEY-HERE"
# http://worldtimeapi.org/timezones
"זמן זמן" : "אמריקה/ניו_יורק",
}
הגרסאות ששימשו לפרויקט זה היו:
CircuitPython 7.0.0
חבילת ספריית CircuitPython adafruit-circuitpython-bundle-7.x-mpy-20211029.zip- אין להשתמש בגרסאות קודמות מספטמבר/אוקטובר בתור adafruit_espatcontrol
הספרייה הייתה באגי וחצי עובדת בצורה מבלבלת.
שלב 9: הגדרת Adafruit IO
ל-Adafruit יש מדריכים רבים על שירות Adafruit IO שלהם, הרלוונטיים ביותר הם:
ברוכים הבאים ל-Adafruit IO
Adafruit IO יסודות: הזנות
יסודות Adafruit IO: לוחות מחוונים
לאחר שתכיר את העדכונים ואת לוחות המחוונים, בצע את השלבים הבאים.
- צור חשבון Adafruit אם עדיין אין לך אחד.
- צור קבוצה חדשה בשם mpp-pm תחת עדכונים
- צור תשעה עדכונים בקבוצה החדשה הזו על ידי לחיצה על כפתור + עדכון חדש, השמות הם:
- b5wld0101-raw-out1
- b5wld0101-raw-out2
- b5wld0101-vcc
- b5wld0101-vth
- טמפרטורת cpu
- pms5003-pm10-סטנדרטי
- pms5003-pm25-סטנדרטי
- sps30-pm10-סטנדרטי
- sps30-pm25-סטנדרטי
- צור לוח מחוונים עבור הערכים האלה, בלוקים מוצעים הם:
- שלושה בלוקים של תרשים קווים, אחד לכל חיישן עם שני קווים לכל תרשים.
- שלושה בלוקים מד עבור שני כרךtages וטמפרטורה.
שלב 10: אימות פרסום הנתונים
דף המוניטור תחת Pro file שימושי כדי לוודא שהנתונים מגיעים בזמן אמת על ידי התבוננות בנתונים החיים file סָעִיף. התוכנית הופכת את פיקסל ה-RGB לכחול למשך 2-3 שניות כאשר היא שולחת את הנתונים ל-Adafruit IO ולאחר מכן חוזרת לירוק.
נראה שהטמפרטורה מה-RP2040 משתנה מאוד בין מעבדים שונים וסביר להניח שלא תתאים לטמפרטורת הסביבה.
אם זה לא עובד אז הנה כמה דברים שצריך לבדוק.
- אם פיקסל ה-RGB נשאר או אם הנתונים אינם מתקבלים על ידי Adafruit IO, בדוק את קונסולת ה-USB הטורית עבור פלט/שגיאות. הפלט המספרי עבור Mu בקונסולה הטורית יראה אם החיישנים עובדים עם קווים חדשים המודפסים כל 2-3 שניות - ראה למטה לדוגמאampפלט le.
- בקטע שגיאות חי בדף המוניטור כדאי לבדוק אם הנתונים נשלחים אך אינם מופיעים.
- ניתן להגדיר את משתנה ניפוי הבאגים בתוכנית מ-0 עד 5 כדי לשלוט בנפח המידע באגים. רמות גבוהות יותר משביתות את הדפסת tuple עבור Mu.
- תוכנית simpletest.py היא דרך שימושית להוכיח שחיבור ה-Wi-Fi נוצר והקישוריות לאינטרנט עובדת עבור תעבורת ICMP.
- ודא שאתה משתמש בגרסה עדכנית של ספריית adafruit_espatcontrol.
- נוריות ה-LED הכחולות של Maker Pi Pico בכל GPIO שימושיות מאוד להשגת חזות מיידיתview של מצב GPIO. כל ה-GPIO המחוברים יהיו פועלים למעט:
- GP26 יהיה כבוי בגלל כרך המוחלקtage (בסביבות 500mV) נמוך מדי;
- GP12 יהיה עמום מכיוון שהוא אות PWM של ~ 15% ממחזור העבודה;
- GP5 יופעל אך יהבהב כאשר הנתונים נשלחים מה-PMS5003;
- GP10 יהיה כבוי אך יהבהב כאשר חלקיקים קטנים יתגלו על ידי B5W LD0101;
- GP11 יהיה כבוי אך יהבהב מדי פעם, אלא אם כן אתה נמצא במקום עשן במיוחד.
הפלט המיועד לקושר ב-Mu ייראה בערך כך בחדר:
(5,8,4.59262,4.87098,3.85349,0.0)
(6,8,4.94409,5.24264,1.86861,0.0)
(6,9,5.1649,5.47553,1.74829,0.0)
(5,9,5.26246,5.57675,3.05601,0.0)
(6,9,5.29442,5.60881,0.940312,0.0)
(6,11,5.37061,5.68804,1.0508,0.0)
או חדר עם אוויר נקי יותר:
(0,1,1.00923,1.06722,0.0,0.0)
(1,2,0.968609,1.02427,0.726928,0.0)
(1,2,0.965873,1.02137,1.17203,0.0)
(0,1,0.943569,0.997789,1.47817,0.0)
(0,1,0.929474,0.982884,0.0,0.0)
(0,1,0.939308,0.993282,0.0,0.0)
ששת הערכים בכל שורה לפי הסדר הם:
- PMS5003 PM1.0 ו-PM2.5 (ערכים שלמים);
- SPS30 PM1.0 ו-PM2.5;
- B5W LD0101 ספירות גולמיות של OUT1 ו-OUT2.
שלב 11: בדיקת החיישנים בפנים עם Mu ו-Adafruit IO
הסרטון למעלה מציג את החיישנים מגיבים לגפרור שנפגע כדי להדליק את מקל הקטורת. ערכי השיא של PM2.5 מ-PMS5003 ו-SPS30 הם 51 ו-21.5605, בהתאמה. ה-B5W LD0101 חשף אופטיקה ולמרבה הצער הוא מושפע מתאורת הלוגן טונגסטן המשמשת לסרטון זה. יש רמה מוגברת של חלקיקים באוויר מניסוי קודם.
זכור לנתק את ערכת הסוללות כאשר אינן בשימוש, אחרת המחמם של ה-B5W LD0101 ירוקן את הסוללות.
https://www.youtube.com/watch?v=lg5e6KOiMnA
שלב 12: חלקיקים בחוץ בליל גאי פוקס
ליל גיא פוקס קשור למדורות וזיקוקים שיכולים לתרום לעלייה בזיהום האוויר למשך ערב או שניים. התרשימים שלמעלה מציגים את שלושת החיישנים שמוצבים בחוץ קצת אחרי 7:5 ביום שישי ה-2021 בנובמבר XNUMX. לא היו זיקוקים בסביבה הקרובה, אך ניתן היה לשמוע אותם מרחוק. הערה: סולם הזבובים משתנה בין שלושת התרשימים.
נתוני ההזנה המאוחסנים ב-Adafruit IO מראים שהחיישנים שמזהים את האוויר כבר היו בעלי רמה מעט מוגברת של PM2.5 בהתבסס על מספרי SPS30:
2021/11/05 7:08:24PM 13.0941
2021/11/05 7:07:56PM 13.5417
2021/11/05 7:07:28PM 3.28779
2021/11/05 7:06:40PM 1.85779
השיא היה בסביבות 46 אג' למטר מעוקב קצת לפני 11:XNUMX:
2021/11/05 10:55:49PM 46.1837
2021/11/05 10:55:21PM 45.8853
2021/11/05 10:54:53PM 46.0842
2021/11/05 10:54:26PM 44.8476
ישנם קוצים קצרים במקומות אחרים בנתונים כאשר החיישנים היו בחוץ. אלה יכולים לנבוע מנפילות מ:
- פליטה מחימום מרכזי בגז,
- אנשים מעשנים בקרבת מקום ו/או
- ריחות/אדים מהבישול.
בדוק את מזג האוויר לפני שמכניסים מוצרי אלקטרוניקה חשופים בחוץ!
שלב 13: חלקיקים בפנים עם הבישול
התרשימים למעלה מראים כיצד החיישנים מגיבים לבייקון ופטריות שמטגנים במטבח סמוך עם מיצוי בינוני. החיישנים היו במרחק של כ-5 מטר (16 רגל) מהכיריים. פֶּתֶק: סולם y משתנה בין שלושת התרשימים.
נתוני ההזנה המאוחסנים ב-Adafruit IO מציגים את החיישנים עם רמת שיא קצרה של PM2.5 של כ-93 ug למטר מעוקב על סמך מספרי SPS30:
2021/11/07 8:33:52PM 79.6601
2021/11/07 8:33:24PM 87.386
2021/11/07 8:32:58PM 93.3676
2021/11/07 8:32:31PM 86.294
המזהמים יהיו שונים מאוד מאלה שמקורם בעיבודים חוזרים. זה אקס מענייןampהמקורות המגוונים של חומר חלקיקי באוויר שאנו נושמים.
שלב 14: חיישני חלקיקים ציבוריים
הנתונים בתרשים למעלה הם מחיישנים ציבוריים סמוכים.
- תנשום את לונדון
- Clarity Movement Node-S
- tbps
- oss
- rl
- Clarity Movement Node-S
- OpenAQ
- PurpleAir PA-II
- sr
- PurpleAir PA-II
- רשת איכות האוויר של לונדון
- איכות התייחסות (Met One BAM 1020 ואחרים)
- FS
- AS
- TBR
- איכות התייחסות (Met One BAM 1020 ואחרים)
חיישני ה-tbps וה-TBR ממוקמים כמעט ביחד והם מצוירים יחדיו כדי להראות את המתאם בין המכשיר מבוסס ה-SPS30 לבין ההתקן הסמוך. נראה שה-SPS30 לא נקרא באופן משמעותי בערבי ה-5 וה-6 בנובמבר, כאשר סביר להניח שהעלייה בערב נובעת מעיבודים חוזרים. זה יכול לנבוע מההבדל במסה של החלקיקים שכן החיישנים המשמשים למאמר זה יכולים לזהות רק נפח וצריכים לנחש את צפיפות החלקיקים כדי לייצר ערכים במיקרוגרם למטר מעוקב.
נראה שה-PMS5003 ב-PurpleAir PA-II קורא יתר על המידה באופן משמעותי עבור כל רמות גבוהות של PM2.5 בהתבסס על תקופה קצרה זו. זה יכול להתאים לתוצאות המוצגות בדפים הקודמים או שיכולים להיות גורמים אחרים בקרבת מקום הגורמים לכך.
ה-SPS30 וה-PMS5003 מייצרים נתונים עבור חלקיקים גדולים מ-2.5 מיקרון, אך העמודים הבאים מראים מדוע יש להתייחס לכך בזהירות.
שלב 15: השוואה בין חיישנים - גודל חלקיקים
הגרפים שלמעלה הם מהערכת המעבדה של סלקטיביות גודל החלקיקים של חיישני חלקיקים אופטיים בעלות נמוכה על ידי המכון המטאורולוגי הפיני. שלושה חיישנים מכל סוג נבדקו עם גדלים שונים של חלקיקים המוצגים על ציר ה-X הלוגריתמי. הקווים הצבעוניים מציינים את הערכים המחושבים של פסי גודל חלקיקים ספציפיים בהתבסס על תפוקות החיישן, הפס מראה את ההתפלגות. שלושת ערכי SPS30 מעל 1 מיקרון חופפים בכבדות מה שקשה מאוד להבחין ביניהם.
המדדים הנפוצים עבור חלקיקים הם PM2.5 ו-PM10. בעוד שהמספר בשם מתייחס לגודל המרבי של החלקיק, היחידות הן במיקרוגרם למטר מעוקב. החיישנים הזולים יכולים למדוד רק את קוטר החלקיקים (נפח) וצריכים לעשות כמה ניחושים לגבי הצפיפות כדי לחשב את ערכי ה-PM2.5 וה-PM10 הסבירים.
ה-PMS5003 משתמש בערך צפיפות קבוע, Sensirion מתאר את גישת הצפיפות שלהם עבור SPS30 כ:
רוב חיישני PM בעלות נמוכה בשוק מניחים צפיפות מסה קבועה בכיול ומחשבים את ריכוז המסה על ידי הכפלת ספירת החלקיקים שזוהתה בצפיפות המסה הזו. הנחה זו פועלת רק אם החיישן מודד סוג חלקיקים בודד (למשל, עשן טבק), אך למעשה אנו מוצאים סוגים רבים ושונים של חלקיקים עם תכונות אופטיות רבות ושונות בחיי היומיום, מאבק בית 'כבד' ועד חלקיקי בעירה 'קלים' . האלגוריתמים הקנייניים של Sensirion משתמשים בגישה מתקדמת המאפשרת הערכה נכונה של ריכוז המסה, ללא קשר לסוג החלקיקים הנמדד. בנוסף, גישה כזו מאפשרת הערכה נכונה של פחי הגודל.
מדדי ה-PM מקיפים את כל החלקיקים מתחת לפרמטר הגודל, כלומר
PM1 + מסה של כל החלקיקים בין 1.0 ל-2.5 מיקרון = PM2.5,
PM2.5 + מסה של כל החלקיקים בין 2.5 ל-10 מיקרון = PM10.
ה-PMS5003 וה-SPS30 אינם מסוגלים לזהות את החלקיקים בבדיקת מעבדה זו מעל 2-3 מיקרון. ייתכן שהם עשויים לזהות סוגים אחרים של חלקיקים מעל גודל זה.
ה-B5W LD0101 נראה אמין מבדיקת מעבדה זו למדידת PM10.
שלב 16: השוואת חיישנים - עיצוב
ניתן לראות את תנור החימום של Omron (נגד 100 אוהם +/- 2%!) אם החיישן מתהפך. העיצוב נדון בפירוט ב-Omron: Development of the air quality sensor for purifier. השימוש בהסעה נראה גס אבל זה יכול להיות פתרון אמינות גבוה יותר בהשוואה לרכיב מכני כמו מאוורר שיש לו אורך חיים נייטטי ואורך חיים שעשוי להצטמצם על ידי הפעלה בסביבה מאובקת. נראה שמאוורר SPS30 תוכנן להחלפה בקלות מבלי לפתוח את המארז. לדגמי Plantower אחרים יש את אותה תכונת עיצוב.
כל שלושת החיישנים יהיו מועדים להשפעות של לחות יחסית גבוהה אשר למרבה הצער מעלה בטעות את ערכי ה-PM.
החיישנים המאושרים באיכות הייחוס (רשימת DEFRA של בריטניה) המנטרים חלקיקים אינם משתמשים בגישה אופטית למדידה. Met One BAM 1020 עובד על ידי
- הפרדה והשלכה של החלקיקים הגדולים ממגבלת הגודל מהאווירampלה,
- חימום האוויר כדי לשלוט/להפחית את הלחות היחסית,
- הפקדת החלקיקים על קטע חדש של סרט ברוס רציף ו
- לאחר מכן מדידת הנחתה של מקור קרינת בטא על ידי החלקיקים המצטברים על הקלטת כדי לחשב הערכה טובה של המסה הכוללת של החלקיקים.
טכניקה נפוצה נוספת היא ה-Tapered Element Oscillating Microbalance (TEOM) אשר מפקיד חלקיקים על לט להחלפה בקצה החופשי של צינור מחודד אשר מחובר בקצה השני. המדידה המדויקת של תדירות התנודה של הצינור בעל התהודה הטבעית מאפשרת לחשב את המסה הזעירה הנוספת של החלקיקים מתוך השונות הזעירה בתדירות. גישה זו מתאימה ליצירת ערכי PM בקצב גבוה יותר.
שלב 17: הולכים הלאה
לאחר שתגדיר את החיישנים שלך ותפרסם נתונים ל-Adafruit IO, הנה כמה רעיונות נוספים שכדאי לחקור:
- בדוק כל חדר בביתך לאורך זמן תוך שים לב לפעילות והאוורור. בדוק את הבית שלך כשאתה מבשל. בדוק מנגל.
- השתמש בשלושת הכפתורים ב-Maker Pi Pico. אלה מחוברים ל-GP20, GP21 ו-GP22 אשר נותרו בכוונה ללא שימוש כדי לאפשר שימוש בכפתורים.
- אם אתה גר ליד תחנת ניטור איכות אוויר ציבורית השווה את הנתונים שלך איתה.
- הוסף תצוגה לשימוש נוכח המציגה ערכי חיישן. ה-SSD1306 קטן, קל להוספה/שימוש ב-CircuitPython. ראה הנחיות: חישת לחות בקרקע
- עם ה-Maker Pi Pico עבור אקסample של השימוש בו.
- חקור את ספריית MQTT כדי לראות אם ניתן לשלוח את כל נתוני החיישן באצווה אחת. זה צריך להיות יעיל יותר.
- השתלב בדרך כלשהי עם חיישן איכות האוויר העצמאי של IKEA Vindriktning.
- קישוריות ה-MQTT של Soren Beye עבור Ikea VINDRIKTNING מראה כיצד להוסיף ESP8266 לחיישן ומזהה את חיישן החלקיקים (אבק) כ-"Cubic PM1006-like".
- פרויקט מתקדם יהיה החלפת ה-PCB הראשי בלוח מבוסס ESP32-S2 עם חיישני סביבה דיגיטליים נוספים כדי ליצור מכשיר מבוסס-Wi-Fi מבוסס CircuitPython.
- מכשיר זה נדון בפורום Home Assistant: IKEA Vindriktning Air Quality Sensor.
- LaskaKit מייצרת לחיישן PCB חלופי מבוסס ESP32 כדי לאפשר שימוש בו בקלות עם ESPHome.
- למד את ההשפעות של שינוי בנפח האספקהtage בטווחים המותרים עבור החיישנים. זה עשוי לשנות את מהירות המאוורר או את הטמפרטורה של המחמם ולהשפיע על התוצאות.
- בנו מתחם עמיד בפני מזג אוויר וחיות בר עם תכנון קפדני עבור כניסת אוויר, יציאת אוויר וזרימת אוויר מעבר לחיישנים. מטריה שהודבקה למעקה שימשה כדי להגן על האלקטרוניקה הפתוחה והחשופה לאיסוף נתונים במהלך סוף השבוע עבור מאמר זה.
פרויקטים קשורים:
- Costas Vav: חיישן איכות אוויר נייד
- Pimoroni: תחנת איכות אוויר חיצונית עם Enviro+ ו-Luftdaten
- הנחיות: שימוש בכנף Pimoroni Enviro+ FeatherWing עם נוצת Adafruit NRF52840 Express -
- Enviro+ FeatherWing כולל מחבר עבור PMS5003. ניתן להשתמש ב-SPS30 עם פינים i2c ויש כמעט מספיק פינים לשימוש גם ב-B5W LD0101.
- ה-nRF52840 אינו תומך ב-Wi-Fi ולכן לא ניתן להשתמש בו לבד לפרסום נתונים דרך האינטרנט.
- Adafruit Learn: מארז מודפס בתלת מימד חיישן איכות אוויר. - משתמש ב-Adafruit Feather M3 עם Airlift FeatherWing מבוסס ESP4 ו-PMS32.
- Adafruit Learn: Quickstart IoT - Raspberry Pi Pico RP2040 עם WiFi - משתמש בלוח פריצת Adafruit AirLift מבוסס ESP32.
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – למשלampהקוד עבור Adafruit IO, Blynk ו-Thinkspeak.
- Cytron: ניטור אוויר באמצעות טלפון נייד - משתמש במגן Arduino מבוסס ESP8266 כדי לשלוח נתונים מ-
- חיישן חלקיקים מסוג Honeywell HPM32322550 לבלינק, אין צורך בטלפון (חכם).
חיישני ביניים, יקרים יותר אך בעלי יכולת טובה יותר לזהות גדלי חלקיקים גדולים יותר:
- פיירה סיסטמס IPS-7100
- Alphasense OPC-N3 ו-OPC-R2
קריאה נוספת:
- חיישנים
- המכון המטאורולוגי הפיני: הערכת מעבדה של סלקטיביות בגודל החלקיקים של חיישני חלקיקים אופטיים בעלות נמוכה (מאי 2020)
- Gough Lui: Review, פירוק: חיישן מוניטור חלקיקי לייזר Plantower PMS5003 כולל השוואה עם Sensirion SPS30.
- קארל קורנר: כיצד לפתוח ולנקות חיישן אוויר PMS 5003
- Met One Instruments, Inc., BAM-1020 EPA TSA הדרכה וידאו (YouTube) – מראה מה יש בפנים ואיך זה עובד.
- חילופי מחקר CITRIS: שיחה של שון וויהרה (תנועת בהירות) (YouTube) - שיחה כולל פרטים על חיישן ה-Node-S המשתמש ב-Sensirion SPS30.
- חקיקה וארגונים העוסקים באיכות האוויר
- תקנות תקני איכות האוויר 2010 (בריטניה)
- הנחיות זיהום האוויר של ארגון הבריאות העולמי (WHO).
- קרן הריאות הבריטית - איכות אוויר (PM2.5 ו-NO2)
- מֶחקָר
- Imperial College London: The Indoor-Outdoor-Pollution Air Continuum (YouTube)
- ילדי בית ספר יסודי אוספים נתוני איכות אוויר באמצעות תיקי גב בלונדון בשנת 2019:
- דייסון: מעקב אחר זיהום במסלול בית הספר. לנשום לונדון (יוטיוב)
- King's College London: קבוצת מחקר סביבתי: The Breathe London Wearables Study
- יומן אווירה: זיהום אוויר מקורה מתנורים למגורים: בחינת הצפה של חלקיקים לתוך בתים במהלך שימוש בעולם האמיתי
- חדשות ובלוגים
- האקונומיסט: שמי חצות - חימום הבית האדום הפחמי של פולין יוצר זיהום נרחב (ינואר 2021)
- NPR ארה"ב: מחסה בפנים עלול לא להגן עליך מפני הסכנות של עשן פראי?
- רויטרס: המסיבה הסתיימה: דיוואלי עוזב את דלהי בצפצופים באוויר לא בריא בצורה מסוכנת
- בלוג Pimoroni: הלילה המזוהם ביותר של השנה (בבריטניה)
- תנועת בהירות: עשן אש פראי, בריאות הציבור וצדק סביבתי: טוב יותר
- קבלת החלטות עם ניטור אוויר (YouTube) - מצגת ודיון על איכות האוויר של מערב ארה"ב במיוחד בסביבות 2020 עשן שריפות פרא.
- גרדיאן: אוויר מלוכלך משפיע על 97% מהבתים בבריטניה, כך עולה מנתונים
- ניטור חלקיקים ואחסון נתונים
- הולנד Rijksinstituut voor Volksgezondheid en Milieu (המכון הלאומי לבריאות הציבור והסביבה): Vuurwerkexperiment (ניסוי זיקוקים) 2018-2019
- גוגל: רחוב אחר רחוב: איך אנחנו ממפים את איכות האוויר באירופה – רחוב view מכוניות אוספות חומר חלקיקי ונתוני גז מזהמים.London Air Quality Network
- Breathe London - רשת להשלמת רשת איכות האוויר של לונדון עם "חיישני איכות אוויר נוחים, קלים להתקנה ותחזוקה לכל אדם", המשתמשת כיום ב-Clarity Movement Node-S.
- שגרירות ארה"ב בבייג'ין ניטור חלקיקים (טוויטר)
- אינדקס איכות האוויר העולמי - אוסף נתונים ממקורות רבים ושונים עם מפה views ונתונים היסטוריים.
- Sensor.Community (שנודע בעבר בשם Luftdaten) - "הפיכת העולם למקום טוב יותר באמצעות נתונים סביבתיים פתוחים מונעי קהילה".
- ספריות תוכנה
- באגי תוכנה בספריית חיישן חלקיקים – adafruit_pm25 סובל לפחות מאחת מהבעיות המתוארות המחייבות טיפול חריג סביב read() עבור סדרתי (UART).
- קורסים
- HarvardX: Particulate matter air pollution (YouTube) – סרטון חמש דקות מתוך הקורס הקצר EdX: Energy Within Environmental Constraints
זיהוי קריטי לבטיחות ואזעקות מומלץ להשאיר למכשירים מסחריים מספקים בעלי מוניטין.
https://www.youtube.com/watch?v=A5R8osNXGyo
פרסום נתוני חיישן חלקיקים ל-Adafruit IO עם Maker Pi Pico ו-ESP-01S:
מסמכים / משאבים
![]() |
instructables ESP-01S Publishing חלקיקים חיישן [pdfמדריך למשתמש ESP-01S חיישן חלקיקים פרסום, ESP-01S, חיישן חלקיקי חומר פרסום, חיישן חלקיקים, חיישן חומר |