หัวข้อ: PM 2.5 DIY (ครบแล้วนะจ๊ะ) เริ่มหัวข้อโดย: มด [tewbc] ที่ 07 มิถุนายน 2019, 16:34:19 ผมขอแบ่งออกเป็น 3 ตอนนะ (แก่...เริ่มเขียนยาวๆ ไม่ได้)
ท้าวฟามหลัง: เริ่มจาก 2 ปีก่อนปลายปีมีอาการไอเป็นหมาหอบแดด เลยไปหาหมอๆ บอกแค่ว่าแพ้อากาศ ToT ออ..ครับหมอแพ้อากาศนี่ชีวิตเปลี่ยนเลยนะ ก็เลยหาหน้ากากมาใส่ก็เลยดีขึ้น พอปีที่แล้วมาเป็นอีกแต่มีการเตรียมตัวมาดี คือมีหน้ากากกับตัวเช็คฝุ่น ที่ลองซื้อมา 2 ตัวๆ แรกเป็น xiaomi สีขาวตัวสี่เหลี่ยมเล็กๆ และอีกตัวเป็นยี่ห้อไรก็ไม่รู้ วัดค่าออกมาได้ไม่ตรงกัน บางที X สูงกว่า บางครั้งก็ต่ำกว่าเลยเอามาวิเคราะห์แยกส่วนชิ้นดูพบว่า อะไรก็ตามแต่ที่ใช้หลักการ light scattering มันจะมั่วมากถ้าเจอความชื้นสูงๆ หรือบางที่ทีมี VOC สูง พอเอาทดสอบค่า LOD (Limit of Detection) เลยยิ่งไม่น่าใช้มากขึ้นคือ Relative Error อยู่ราว 3-4 เท่าหากเมื่อมีระดับความเข้มข้นฝุ่นเฉลี่ยน้อยกว่า 30 ไมโครกรัมต่อลบ.เมตร แต่พอสูงเกินกว่า 80ug/cu.meter ขึ้นไปก็อยู่ราวๆ 1.5 - 2 เท่าเมื่อเทียบกับเครื่องวัดฝุ่น MetOne BAM 1020 ดังนั้นผมคิดว่าตัวเลขที่แสดงมานั้นมันเชื่อถือไม่ได้ แต่หากเอาแค่เทรนก็พอไปไหว :-[ ต่อแระ [1] เลยเกิดเป็นงานวิจัยผมเองขอทุนคณะได้ตัง มาแค่ 15K ...ToT ตอนนี้ยังไม่เสร็จกำลังประกอบร่างสมบรูณ์ แต่เห็นข้อมูลน่าจะโอเลยเอามาทำเป็นตัวเล็กๆ ให้ได้ลองใช้กันก่อน เริ่มจากหาเซ้นเซอร์วัดความหนาแน่นฝุ่นดู เลยซื้อมาทั้งหมด 5 ตัวแรกได้แก่ 1. PMS5003 ของ Plan Tower 2. PMS7003 ของ Plan Tower 3. SDS021 ของ Nova Fitness 4. HPMA115S0 ของ HoneyWell 5. CP-15-A4-CG ของ Yeetc ระยะแรก ทดสอบหาตัวที่โอเคก่อน เครื่องมือที่ใช้ 1. ตัวโมดูลหลักผลใช้ Arduino DUE เพราะต้องใช้การทำงานคล้ายกับมัลติเทรดเสมือน ที่สำคัญไม่ต้องหาทางแปลงระดับไฟเลี้ยง I/O 5V ไป 3.3V 2. ตัวเก็บข้อมูลผมเอาง่ายเลยใช้ OpenLog เก็บข้อมูล 3. MetOne BAM 1020 อันนี้ขอเขาเอาไปตั้งใกล้ๆ 4. แผงโซ่ล่า 12V 30W + ตัวอัดถ่าน LiFo4 + LiFo4 x 2 ความถูกต้องของค่าที่วัดได้ จากนั้นก็ตั้งไว้ตั้งแต่เดือนส.ค. 61 - มีนา 62 มีเข้าไปดูบ้างบางครั้ง จนผลลัพธ์สรุปได้คือ (วัดจากค่า R square ของ Linear resgression ระหว่างเซ็นเซอร์กับ MetOne BAM 1020 [PM2.5] ) 1. PMS5003 ของ Plan Tower เทรนการเก็บข้อมูลใกล้เคียงกับ BAM 1020 แต่สูงกว่าราว 350 - 400% ใช้งานได้นานไม่วุ่นวาย แต่เมื่อความชื้นสูงเกิน 80% ข้อมูลโดดไปมาแต่พอรับได้ 2. PMS7003 ของ Plan Tower เหมือนกันกับ (1) แต่ก็ยังวัดค่าได้สูงกว่า BAM 1020 ราว 300 - 400% ใช้งานแบบเดียวกับ (1) แต่ดีขึ้นมาหน่อยตรงความชื้นเกิน 85% ถึงเลอะเทอะ 3. SDS021 ของ Nova Fitness อันนี้เจ๋งเหมือนสามารถวัดข้อมูลตรงกันกับ BAM 1020 ถึง 1% จากข้อมูลทั้งหมด 5800 กว่าชุด แต่เทรนช่างน่าเสียดายไม่ค่อยจะเหมือนกับ BAM1020 ซักเท่าไหร และคลาดเคลื่อนที่ความชื้นมากกว่า 70% 4. HPMA115S0 ของ HoneyWell อันนี้สุดติ่งไม่รู้ว่ามันดีจริง หรือผมเขียนไลบราลี่มันผิด ข้อมูลที่ได้สูงกว่าความเป็นจริงเลย 400% แถมต้องตั้งค่า CF ในโมดูลมันใหม่จาก 100 เหลือ 40 สำหรับเทรนที่วัดได้ใกล้เคียงกับ BAM1020 มีค่าสูงกว่า SDS021 แต่น้อยกว่า ตระกูล PMS ที่สำคัญมันแป๊กตั้งแต่วันที่ 6 นับตั้งแต่เริ่มทำงาน 5. CP-15-A4-CG ของ Yeetc อันนี้ยอมรับว่าตัวเอกเลยข้อมูลที่วัดได้มันช่างดีจังได้ค่า R-Square ราว 0.85 แม้จะยังไม่ได้ปรับปแต่งค่าใดๆ อันอื่นๆ อยู่ราว 0.62 - 0.74 แต่ก็มีผลคลาดเคลื่อนเมื่อความชื้นอยู่ระดับ 80% ขึ้นไปเช่นกัน ที่สำคัญมันแพงจังเกือบพัน ตัวอื่นๆ อยู่ราว 400-700 บาท *** เซ็นเซอร์ทุกตัววัด PM2.5 ได้จริงแต่ PM10 มันเป็นการประมาณการเท่านั้นนะจ๊ะ ตัวเลข PM10 ไม่สัมพันธ์กับอะไรเลยได้ค่า R-square ราวๆ 0.5 ต้นๆ เอง** ที่สำคัญจะเป็นว่าผมไม่ใช้ของ Sharp หรือ Shinyea เพราะมันใช้อินฟราเร็ดเซ้นเซอร์ซึ่งมีเวฟเร้นราว 800-900nm แต่ที่ผมเอามาใช้จะเป็นเลเซอร์มีเวฟเร้นราว 600-700nm เท่านั้นเพราะต้องการค่ากระเจิงแสงที่มากกว่าจะได้วัดความหนาแน่นกับจำนวนได้ด้วย *** =v= สรุปเบื้องต้นเรียงความต้องการใช้งานได้ดังนี้ CP-15-A4-CG > PMS7003 > PMS5003 > SDS021 > HPMA115S0 CP-15-A4-CG https://thai.alibaba.com/product-detail/yeetc-a4-cg-laser-pm2-5-sensor-module-air-quality-detection-dust-haze-pollen-particle-sensor-60819168111.html Arduino Library: https://github.com/tewbc/A4-CG อันนี้เขียนเองแต่ยืมเค้าโครงมาจาก PMS PMS5003 https://thai.alibaba.com/product-detail/G5-laser-pm2-5PM10-sensor-module-60830524720.html?spm=a2700.galleryofferlist.normalList.12.22322a2eBoU3NP Arduino Library: https://drive.google.com/file/d/1NLSgwYLXt5ifRH2sZ_-J6YffG9yHC-iM/view?usp=sharing อันนี้แก้โค้ดบางส่วนให้แสดงค่าทั้งหมด ความแม่นยำในการผลิต ต่อมาก็ดูเรื่องราคาค่าตัวแระ เพราะต้องใช้ความแม่นยำสูง เลยต้องหาซื้อมาอีก 4 ตัวที่เป็นยี่ห้อเดียวกันและรุ่นเดียวกัน แต่.......งบเท่านี้เอาไรกันมากเลยตัดใจซื้ออันน้อยสุดคือ PMS5003 แล้วเอามาทำ RSD วัดต่อเนื่อง 7 วัน ช่วงปลายมี.ค. 62 ผลคือมีความแตกต่างอยู่ราว 1.5 - 4.8% ซึ่งเทียบกับเกณฑ์ความคลาดเคลื่อนของ EPA 2014 แบบ FEMs ยอมให้เหวี่ยงถึง 10% =v= ก็ผ่านดิ ของเขาแน่จริง เลยทำให้เมื่อคำนวณสมการปรับค่าออกมาได้แล้วก็ไม่ต้องเกรงใจอะไรมากมาย เอาไปใช้เลย (https://i.postimg.cc/WDcst0RP/RSD-dev.png) (https://postimg.cc/WDcst0RP) ในที่นี้เปรียบเทียบ PMS5003 กับ Nova fitness SD021 เท่านั้นนะ เอาไปเลย สมการปรับค่า เปรียบเทียบกับ BAM1020 กับ Teledyne Beta plus 620 สำหรับคนที่ใช้ PMS5003 / 7003 โมเดลที่ 2 คืออันที่แนะนำให้ใช้ ผมใช้ของ Petters and Kredienweis, 2007 มันง่ายดีใช้ความชื้นสัมพัทธ์อย่างเดียว และให้แทนค่า k น้อยๆ ด้วย 0.29 นะ ค่านี้มาจากค่าเฉลี่ยของความชื้นสัมพัทธ์เฉลี่ยรายปีของภาคกลางที่ระดับคววามสูงไม่เกิน 1.5 เมตรจากผิวดิน (https://i.postimg.cc/CR8H0pHx/Result-PMS.png) (https://postimg.cc/CR8H0pHx) อันนี้แสดงความผิดพลาดที่เกิดขึ้นจากการวัดลดลง (รูปขวา) เทียบกับค่าเดิมๆจากเซ็นเซอร์ (รูปซ้าย) (https://i.postimg.cc/QVMQtTkP/RE-Error.png) (https://postimg.cc/QVMQtTkP) สำหรับคนที่ใช้ Yeetec A4-CG ให้ตั้งค่าเสกลที่ 1.5 - 1.6 จะได้ค่าที่ใกล้เคียงกับค่าจริง ข้อแม้คือความชื้นสัมพัทธ์ต้องไม่เกิน 60% หากเกินต้องปรับให้ค่าอยู่ระหว่าง 1.3-1.4 (ในไลบราลี่ที่ผมเขียนมีใช้งานอยู่ setScale(1.5)) ส่วนการต่อใช้งานนั้นใช้ซีเรียลพอร์ตแบบ HW หรือ SW (ถ้าใช้ Softserial ให้ตั้งขาที่เป็น RX ให้เป็นขา D2 / D3 เพราะต้องใช้ขาที่รองรับการใช้งาน Interrupt) ถ้าเอาแบบผมจะได้แบบนี้ ต.ย. schedmatic (https://i.postimg.cc/ykcy4zTY/SCH.png) (https://postimg.cc/ykcy4zTY) ต.ย. อันที่ใช้ในภาคสนามของงานวิจัยผม (https://i.postimg.cc/Hc87wQZs/IMG-20191221-004841.jpg) (https://postimg.cc/Hc87wQZs) ต.ย. โค้ดเครื่องต้นแบบใช้ Mega 2560 +SHT21 +PMS5003 +SDCARD +DS1302 คนละตัวกับ schedmatic แต่ใช้จัมพ์ตรงบน Ardunino Mega 2560 https://drive.google.com/file/d/1B0f0fmZRNXOtiLtwuUKQGGhal_Tg3AIt/view?usp=sharing ปล. ใครใช้ตัวนี้ (https://i.postimg.cc/HrqPgtqb/Mi.jpg) (https://postimg.cc/HrqPgtqb) ค่ามันจะได้ตามความชื้นแบบนี้ คร่าวๆ นะ เทียบกับ Teledyne Beta plus 620 RH < 40% +/- 5-10 ไมครอน/ลบ.เมตร RH < 60% +/- 10-15 ไมครอน/ลบ.เมตร RH < 80% +/- 15-25 ไมครอน/ลบ.เมตร RH < 100% +/- 25-40 ไมครอน/ลบ.เมตร ผมมาต่อจนจบแล้วนะ เซ็นเซอร์ผมทดสอบมาครบ 13 เดือนต่อเนื่อง 24ชม. แต่ละอุปกรณ์มีอายุใช้งานต่างกันดังนี้ PMS / Yeetec ยังปกติอยู่ DHT11/12 เน่าทุกตัว 5/5 ในอาทิตย์ที่ 4-5 SHT21-Dis เน่าไป 4/5 ตัว ในอาทิตย์ที่ 35 สังเกตุจาก RH เกิน 100% ไปเยอะและเทียบกับอุปกรณ์บนแลปต่างกันเกิน 50% ค่าใกล้เคียงกับเครื่องมือวัด +/- 13% BME280 เน่าไป 2/5 ตัว ในอาทิตย์ที่ 40 ค่าใกล้เคียงกับเครื่องมือวัด +/- 8% SHT31-Dis เน่าไป 1/5 ตัว ในอาทิตย์ที่ 46 ค่าใกล้เคียงกับเครื่องมือวัด +/- 10% HDC1080 เพิ่งใช้ไป 5 อาทิตย์ยังโออยู่ (ทดสอบ) ค่าใกล้เคียงกับเครื่องมือวัด +/- 5% INA-219 5 ตัวยังปกติ ภาพทดสอบกับ MetOne Aerocet 530 (https://i.postimg.cc/HrB2B1mZ/IMG-20191001-210622.jpg) (https://postimg.cc/HrB2B1mZ) ภาคต่อกำลังเปลี่ยนไปทำ Thermal image Camera สำหรับแสกนคนผ่านเข้า-ออกคณะ (เผือกร้อน) หัวข้อ: Re: PM 2.5 DIY (ครบแล้วนะจ๊ะ) เริ่มหัวข้อโดย: มด [tewbc] ที่ 21 กุมภาพันธ์ 2022, 10:01:34 (https://i.postimg.cc/x8cK7SxX/1645411876369.jpg)
มาอัพความคืบหน้าการพัฒนาอัลกอลิทั่มใหม่ (ยังไม่ได้ตีพิมพ์เหมือนเดิม รอนานโครต) เห็นมันห่างกันแบบนี้มาได้ 40 กว่าวันแล้ว ระหว่างอุปกรณ์ที่ปรับปรุงใหม่ กับ BAM1022 ของกรมควบคุม ความผิดพลาดเฉลี่ย 24 ชั่วโมงสะสมไม่เกิน +|- 2ug/cu.m อันใหม่พอสู้ได้ แม้ว่าจะกินไฟมากขึ้นก็ตาม (ฮิตเตอร์ล้วนๆ) กับการประยุกต์ใช้ฟลูเรียทรานฟอร์ม ขนาด 38 Knot บน MCU ใหม่ ESP32 แบบใช้ 2 cores พร้อมกัน :QvQ: |