RealisticPM

Kenmerken

  • Groot kleurenscherm
  • Standaard USB-C-connector
  • Laag stroomverbruik (maximaal 2 W)
  • Hoogwaardige LED's
  • COM-poort data-output (virtuele COM-poort)
  • Pin-out voor ontwikkelingsdoeleinden
  • Open-source code
  • Automatische helderheidsregeling
  • Beveiligd met een resetbare zekering
  • Automatische kleurregeling via adresseerbare LED's
  • PM2.5-waarde weergave met stappen tot 0,1 µg/m³
  • Afmetingen van 364 x 164 x 18 mm, ideaal voor werkomgevingen, sportruimtes of cleanrooms
  • Ondersteuning voor Panasonic SN-GCJA5 of Sensirion SPS30 PM-sensoren

Ondersteunde PM-sensoren

SensorInterfaceI2C-adresDriver
Sensirion SPS30I2C (max. 100 kHz)0x69Ingebouwd in de sketch, geen extra bibliotheek nodig
Panasonic SN-GCJA5I2C0x33SparkFun SN-GCJA5 Arduino Library

Beide sensoren worden gevoed met 5 V en worden geschakeld door de SENSOR_EN pin (D8).

De sensor selecteren

Open realisticPM.ino en ontcommentarieer precies één regel bovenaan:

#define PM_SENSOR_SPS30
//#define PM_SENSOR_GCJA5

Het display, de helderheidsregeling en de seriële output werken op dezelfde manier, ongeacht de gekozen sensor.

De SPS30 aansluiten

SPS30 pinFunctieVerbinding met
1VDD5 V (geschakeld door SENSOR_EN)
2SDAXIAO SDA (D4)
3SCLXIAO SCL (D5)
4SELGND (selecteert I2C-modus)
5GNDGND

Belangrijk: Trek SDA en SCL omhoog naar 3,3 V (bijvoorbeeld met 10 kΩ). De SAMD21-pinnen zijn niet 5 V tolerant.

De SPS30 reinigt de ventilator automatisch elke 168 uur bij continu gebruik. De functie pmSensorFanClean() in de sketch start een handmatige reiniging (duurt ongeveer 10 seconden; tijdens deze tijd zijn de metingen ongeldig).

Als de sensor bij het opstarten ontbreekt of stopt met reageren, initialiseert de firmware deze automatisch opnieuw en blijft de laatst bekende goede waarde worden getoond.

Bouwen

  1. Installeer het Seeeduino XIAO (SAMD) boardpakket in de Arduino IDE.
  2. Installeer de volgende bibliotheken:
  • Adafruit NeoPixel
  • SparkFun SN-GCJA5 library (alleen wanneer PMSENSORGCJA5 is geselecteerd)
  1. Zorg dat antirtos.h in de sketch-map staat.
  2. Selecteer de gewenste sensor (zie boven), compileer de code en upload deze naar het bord.

Seriële output

De monitor verschijnt als een virtuele COM-poort. Elke 10 seconden wordt er één regel verzonden:

R<PM10><PM2.5><PM1.0><CHECKSUM>M\r\n

Elk veld bestaat uit 4 hexadecimale tekens, uitgedrukt in eenheden van 0,1 µg/m³ (bijvoorbeeld: 0019 = 2,5 µg/m³). De CHECKSUM is de 16-bit som van de drie waarden.

Voorbeeld: R00280019000E004FM betekent:

  • PM10 = 4,0 µg/m³
  • PM2.5 = 2,5 µg/m³
  • PM1.0 = 1,4 µg/m³

Bij het opstarten print de firmware welke sensor is geselecteerd en of deze is gevonden (voor de SPS30 wordt ook het serienummer getoond).

Kleuren van het display

De PM2.5-waarde (een voortschrijdend gemiddelde van 32 samples) wordt weergegeven in kleuren op basis van het niveau:

PM2.5 (µg/m³)Kleur
≤ 5,0Blauw
5,1 – 15,0Groen
15,1 – 50,0Geel
> 50,0Rood