This chapter explains how to use the PPD42NS sensor. You will learn its features, operating principles, specifications, connection pin arrangement, output values, and connect Arduino and the sensor together to measure the air around you easily using the library.
Contents
PPD42NS Fine Dust Sensor
PPD42NS Sensor?
Shinyei's PPD42NS sensor measures fine dust concentration using the optical sensing method. It detects 1㎛ and 2.5㎛ dust, and can be used by selecting one of two modes, PM 1.0 or PM 2.5. It measures by automatically inhaling air with a resistance heater.
The PPD42NS and DSM501A sensors use thermal resistance to generate heat and then measure particles passing through the light scattering region of the convective air. On the other hand, GP2Y1010AU0F has a hole in the center of the sensor that allows air flow.
[Performance Comparison]
The following is a table comparing specifications with GP2Y1010 and DSM501 PMS1003.
[PPD42NS specification ]
The PPD42NS performance is as follows.
[Sensor measurement value]
The following graph shows how Shinyei calculates air quality.
(1) First, apply a passband filter to remove very small particles or noise. The output of "P1" is for PMs with a size of about 1 micrometer or more.
(2) Calculate the time the particles are visible regardless of the instensity (or particle size). -Low pulse occupancy: shows the Low Pulse Occupancy Time (LPO Time) detected for a given 30 seconds. The unit is microseconds. "Low Pulse Occupancy (LPO)" can be also considered as the "opacity percentage" of the air circulating through the sensor. To measure LPO for various particle sizes, the sensor provides a variable input to adjust the passband filter.
-Ratio: The ratio reflects the level in which the LPO time occupies the entire sample time.
-Concentration: The concentration is a numerical value that has a physical meaning. It is calculated from the characteristic graph (output P1 Characteristics) using the LPO time.
(3) By measuring the LPO from the PPD42NS sensor for a total of 30 seconds, the concentration of fine dust is measured using the rate of dust passing through the sensor.
(4) In addition, the sensor does not use a weighing method, but a counting method to measure dust concentration. The units are pcs/L or pcs/0.01cf. Cf stands for cubic feet. It also includes particle size: over 1um.
(5) The unit of pcs / 0.01cf should be converted to the unit of um/m3, which is more commonly used.
• Low pulse occupancy: A variable that contains the value of the accumulated low measured time for 30 seconds in µsec units
• ratio : calculation of the ratio of pulse to the total low measurement time
• concentration: : value converted to the number per 0.01 ft3
• sample time_ms: measured in 30,000 msec since the sensor measures for 30 seconds.
• concentration : pcs/283ml=0.01cfg is converted to ㎍/㎥
[Output value correction]
One thing to note about the PPD42NS sensor is that the measured value varies greatly. If you simply list the measured values, you will see a graph with severe fluctuations as shown below. If the collected values are grouped by 50 (corresponding to data measured for 12.5 minutes) and averaged, the graph is as follows. You will calculate much better results to detect changes in dust concentration.
Purchasing the PPD42NS sensor
As follows, the [PPD42NS] sensor used in the book [Arduino Sensors for Everyone] can be purchased at Ali Express, Amazon.
Software Coding
Run the example file in Steamedu123_Sensor-master > examples.
/*
@204 PPD42NS Fine Dust Sensor
*/
#include <C204_Steam_Air_PPD42NS_Dust.h> // Internal library header file
#define PIN 3
SteamPPD42NS ppd42ns(PIN); // pin number
void setup() {
Serial.begin(9600); // Start serial communication at a speed of 9600bps.
ppd42ns.begin(); // (1) Initialize the sensor.
}
void loop() {
ppd42ns.read(); // (2) Measure the value of the sensor.
ppd42ns.display(); // (3) Output the sensor value.
}
PPD42NS Arduino sensor operation check
When the hardware connection and software coding are completed, you can check the operation screen as follows.
------------------------------------------------------
Development environment: WINDOWS 10
Arduino IDE: 1.8.13
------------------------------------------------------
01 library copy
You can easily check the operation by using the library.
The libraries \Steamedu123_Sensor-master folder is copied to the folder below.
* This folder is created automatically after installing Arduino C:\Users\s\Documents\Arduino\libraries
02 *. ino file execution
-Connect Arduino and PC
-Run Arduino IDE
-Menu → Tools → Board: Check Arduino UNO
-Menu → Sketch → Check/Compile
03 Check compilation
Select Sketch>OK/Compile (CTRL+R) to compile.
04 Arduino Uno upload
When the compilation is completed without any problems, select Sketch>Upload (CTRL+U) to upload the compiled file.
05 Operation check
You can check the operation as follows.
References
The reference literature of the sensors used in this book [Arduino Sensors for Everyone] is as follows.
[19] Michael Heimbinder, Make Your Own AirCasting Particle Monitor,
[20] PPD42NS Datasheet, “Specification”, p1
[21] Testing the Shinyei PPD42NS,
[22] Austin, E., Novosselov, I., Seto, E. and Yost, M.G., Laboratory evaluation of the Shinyei PPD42NS low-cost particulate matter sensor, PLoS One, 2015
[23] Canu, M., Galvis, B., Morales, R., Ramirez, O. and Madelin, M., Understanding the Shinyei PPD42NS low-cost dust sensor. 2018 IEEE International Conference on Environmental Engineering (EE), 2018
[24] Measuring the Pickle Jr. - a modified PPD42 with an attached fan
Purchasing a book
[Arduino Sensors for Everyone] The book is available for purchase on Google Book and Apple Books.
In this book, you will learn how to use the PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 Fine Dust Sensor, DHT22 temperature/humidity sensor, MH-Z19B carbon dioxide sensor, ZE08-CH2O formaldehyde sensor, CCS811 total volatile organic compound (TVOC) sensor , GDK101 radiation (gamma ray) sensor, MQ-131 ozone (O3) sensor, MQ-7 carbon monoxide sensor, MICS-4514 nitrogen dioxide sensor, MICS-6814 ammonia sensor, DGS-SO2 sulfur dioxide (SO2) sensor, BME280 atmospheric pressure sensor, GUVA-S12SD ultraviolet (UV) sensor, MD0550 airflow sensor, and QS-FS01 wind speed sensor.
'Arduino Sensors > Chapter 2 Fine dust sensor' 카테고리의 다른 글
SDS011 Fine Dust Sensor [Arduino Sensors for Everyone] (0) | 2021.06.12 |
---|---|
GP2Y1010AU0F Fine Dust Sensor [Arduino Sensors for Everyone] (0) | 2021.06.08 |
PMS7003 Fine Dust Sensor [Arduino Sensors for Everyone] (0) | 2021.06.07 |
댓글