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.
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.
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.
3 thoughts on “Sensirion SCD30 – Tarkempaa CO2-mittausta ilmanvaihtokoneeseen”
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).
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
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