Sensirion SCD30 – Tarkempaa CO2-mittausta ilmanvaihtokoneeseen

Sensirion SCD30 – Tarkempaa CO2-mittausta ilmanvaihtokoneeseen

Kolme vuotta vanha, sisäilman laatua mittaava CJMCU-8118 kaasuanturi ei ole enää toiminut luotettavasti. Anturi ei anna mittaustuloksia joka kerta niitä pyydettäessä ja arvot ovat usein virheellisiä. Suurin ongelma on kuitenkin vanhan anturin mittaustavassa. Se mittaa pääasiassa VOC-yhdisteiden kokonaistasoa ja antaa CO2-arvon tähän suhteutettuna. Esimerkiksi tVOC-arvon ollessa normaalisti nollassa, on CO2-pitoisuus anturin mukaan 400 ppm, mikä on anturin minimi. CO2-mittaus ei siis vastaa todellisuutta. VOC-arvot eivät kolmen vuoden kokemuksen perusteella ole koskaan nousseet merkittävälle tasolle että esimerkiksi ilmanvaihtoa olisi pitänyt tehostaa.

Uudeksi anturiksi valikoitui Sensirion SCD30. Siinä ei ole lainkaan VOC-mittausta. Sen CO2-mittaus perustuu IR-tekniikkaan ja on siten tarkempi ja todenmukaisempi. CO2-tiedon lisäksi anturi kertoo ilman suhteellisen kosteuden ja lämpötilan.

Sensirion SCD30
Sensirion SCD30

Anturi liitettiin I2C-väylään kuten aikaisempikin anturi. Palvelinpäivityksen jälkeen, käytössä ei enää ollut Raspberry Pi:n GPIO-nastoja ja I2C-väylää, vaan anturi kytkettiin tätä tarkoitusta varten hankkimaani Olimex ESP32-EVB -alustaan. Anturin tiedot siirtyvät Home Assistantiin ESPHomen avulla.

# ESPHome-esimerkki
sensor:
  - platform: scd30
    co2:
      name: "CO2-pitoisuus"
      accuracy_decimals: 1
    temperature:
      name: "Lämpötila"
      accuracy_decimals: 1
    humidity:
      name: "Suhteellinen kosteus"
      accuracy_decimals: 1

Suunnittelin ja 3D-tulostin anturille kotelon jossa on riviliitin johtojen kytkemistä varten. Kiinnitin kotelon tukevalla kaksipuoleisella teipillä PILP:n poistoilmakammion seinään suodattimen puhtaalle puolelle. Anturi ei saa olla suoraan ilmavirtaa vasten valmistajan suositusten mukaisesti likaantumisen välttämiseksi. Kotelon malli on ladattavissa GitHubista.

Sensirion SCD30 Koteloituna
Sensirion SCD30 Koteloituna

Anturin arvojen perusteella ohjataan ilmanvaihtokoneen tehostusta samaan tapaan kuten aikaisemminkin: Jos CO2-pitoisuus nousee yli 750 ppm tasolle tai jos ilman suhteellinen kosteus on kylpyhuoneessa (suihkussa käydessä) suurempi kuin ilmanvaihtoneen poistoilmakammiossa.

SCD30 CO2-Pitoisuus
SCD30 CO2-Pitoisuus
SCD30 Suhteellinen kosteus
SCD30 Suhteellinen kosteus

3 thoughts on “Sensirion SCD30 – Tarkempaa CO2-mittausta ilmanvaihtokoneeseen

  1. Hei,

    tämä ei ole varsin kommentiksi, vaan kysymykseksi muuten: Voitko mahdollisesti jakaa Olimexin ESPHomessa käyttämäsi konfiguraation? Hankin Olimexin ESP32-POE-IND -boardin, ja minulla on ESPhomen kanssa hankaluuksia saada i2c -väylää toimimaan: heti kun lisään i2c -konfiguraation ESPhomessa boardille, lakkaa ESPhome saamasta tietoja boardilta (mutta erikoista kyllä board pysyy ESPhomessa onlinessa, ja ottaa uudet firmwaret sisään).

    1. Moi,

      Alla ESPHome:n konfiguraatio. Äkkiseltään tulisi mieleen tarkistaa tietysti että oikea board on määritelty ja että i2c:n pinnit eivät ole jaettuna jonkin muun käytössä olevan väylän kanssa.


      esphome:
      name: anturialusta
      platform: ESP32
      board: esp32-evb

      # Enable logging
      logger:

      # Enable Home Assistant API
      api:

      ota:
      password: !secret ota_password

      ethernet:
      type: LAN8720
      mdc_pin: GPIO23
      mdio_pin: GPIO18
      clk_mode: GPIO0_IN
      phy_addr: 0

      manual_ip:
      static_ip: x.x.x.x
      gateway: x.x.x.x
      subnet: x.x.x.x

      switch:
      - platform: gpio
      name: "Ilmanvaihdon tehostus"
      pin: 32

      - platform: gpio
      name: "Takkakytkin"
      pin: 33

      dallas:
      - pin: GPIO14

      i2c:
      sda: GPIO13
      scl: GPIO16

      sensor:
      - platform: dallas
      address: 0x0C000802C9B83B10
      name: "Nilan jäteilma"

      - platform: scd30
      co2:
      name: "CO2-pitoisuus"
      accuracy_decimals: 1
      temperature:
      name: "Lämpötila"
      accuracy_decimals: 1
      humidity:
      name: "Suhteellinen kosteus"
      accuracy_decimals: 1

      1. Hei,

        kiitos! Ongelma selvisi hieman mutkan kautta: minulla oli liian pitkä kaapeli (n. 3,5 metriä ESP32:selta anturille), ja tämä aiheutti sen, ettei sensori toiminut. Kun i2c:n skannaus oli päällä (oletuksena), board meni johonkin perätilaan riippumatta siitä onko sensori kiinni vai ei.
        Ongelman sai kierrettyä sillä, että lisäsi i2c:n alle ”scan: false”.
        Eli vaikuttaa siltä, että i2c:n scanin kanssa board ei toimi jos se ei löydä sensoria.

        Nyt kun on tarpeeksi lyhyt kaapeli (n 1-1,5m), konfiguraatio toimii sekä i2c:n skannilla tai ilman, kunhans sensori toimii.

        Nyt kun

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *