
De Winsen MH-Z19C is een compacte, uiterst nauwkeurige koolstofdioxidesensor (CO₂) die werkt volgens het niet-dispersieve infraroodprincipe (NDIR). Het is de geoptimaliseerde opvolger van de populaire MH-Z19B, met verbeterde stabiliteit, een lager stroomverbruik en een kortere opwarmtijd van slechts 1 minuut.
Belangrijkste technische specificaties:
- Bedrijfsspanning: 5,0 V DC (±0,1 V)
- Stroomverbruik: < 40 mA gemiddeld, 125 mA piek
- Interfaceniveau: 3,3 V TTL (compatibel met 5 V)
- Meetbereik: 400 tot 5.000 ppm (aanpasbaar tot 10.000 ppm)
- Nauwkeurigheid: ±(50 ppm + 5% van de meetwaarde)
- Uitgangssignalen: UART (serieel) en PWM
- Levensduur: > 5 tot 10 jaar
Belangrijkste pinbenamingen:
De sensor heeft doorgaans een 2,54 mm pinheader of een Molex-connector met de volgende primaire aansluitingen:
- Vin: 5 V voedingsingang
- GND: Massa
- TXD: UART-gegevensoverdracht (3,3 V niveau)
- RXD: UART-gegevensontvangst (3,3 V niveau)
- PWM: Pulsbreedtemodulatie-uitgang
- HD: Hardware-nulpuntkalibratiepin
Kalibratiemethoden
De MH-Z19C streeft naar een basislijn CO₂-niveau van 400 ppm in de buitenlucht met behulp van twee hoofdmethoden:
- Automatische basislijncorrectie (ABC): De sensor kalibreert automatisch de laagste meetwaarde elke 24 uur opnieuw naar 400 ppm. Deze functie moet worden uitgeschakeld als de sensor wordt gebruikt in omgevingen waar het CO₂-niveau nooit daalt tot het buitenniveau (bijv. kassen).
- Handmatige kalibratie: U kunt handmatig een nulpuntkalibratie uitvoeren door de HD-pin gedurende minimaal 7 seconden naar een laag niveau (0V/GND) te trekken. De sensor moet minimaal 20 minuten stabiel functioneren in een omgeving met frisse buitenlucht (ongeveer 400 ppm) voordat u dit uitvoert.
Datasheet: MH-Z19C-DZ-terminal type CO2 Manual(Ver1.21)-202103
Pinout MH-Z19c molex
| PIN | Type terminalaansluiting |
| Pin 4 | Vin voeding |
| Pin 3 | GND |
| Pin 2 | Gereserveerd |
| Pin 7 | PWM |
| Pin 1 | HD (nulpuntskalibratie, laag niveau duurt langer dan 7 seconden is effectief) |
| Pin 5 | UART (RXD) TTL-niveaugegevensinvoer |
| Pin 6 | UART (TXD) TTL-niveaugegevensuitvoer |


Uitgang
| PWM-uitgang | |
| Neem bijvoorbeeld 400~2000 ppm | |
| CO2-uitgangsbereik | 400~2000 ppm |
| Cyclus | 1004 ms ± 5% |
| Cyclusstart hoog niveau-uitgang | 2 ms (theoretisch) waarde) |
| Midden in de cyclus | 1000ms±5% |
Aanmaken in Home Assistant met ASP Home
- Klik in ESPHome Device Builder op: + Apparaat aanmaken
- Klik op: geavanceerd
- Klik op: Importeren vanuit bestand
- Selecteer de onderstaande code op je computer
- Download de .yaml code: https://colandino.nl/wp-content/uploads/sketchbook/CO2-ESP32-Zero-Mini.yaml
- De rest wijst zich vanzelf…..
De .yaml code voor de MH-Z19C en een ESP32-C3 in Home Assistant
esphome:
name: co2-esp32-zero-mini
friendly_name: CO2-ESP32-Zero-Mini
esp32:
variant: ESP32C3
framework:
type: arduino
web_server:
port: 80
auth:
username: !secret web_server_username
password: !secret web_server_password
#
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_username
password: !secret mqtt_password
#
# ap:
# ssid: ${upper_devicename} Fallback Hotspot
# password: !secret fallback_password
#
captive_portal:
id: CO2
compression: gzip
#
# Enable logging
logger:
#
# Enable Home Assistant API
api:
encryption:
key: !secret api_encryption_key
#
ota:
- platform: esphome
password: !secret ota_password
#
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: CO2-ESP32-Zero- Fallback Hotspot
password: !secret ap_password
#
# Serielle Schnittstelle definieren
uart:
rx_pin: GPIO20
tx_pin: GPIO21
baud_rate: 9600
#
# Sensor konfigurieren
sensor:
- platform: mhz19
co2:
id: co2val
name: MH-Z19 Temperature
icon: "mdi:molecule-co2"
update_interval: 60s
automatic_baseline_calibration: false
id: sens1
temperature:
name: Temperature
icon: "mdi:temperature-celsius"
#
switch:
- platform: restart
name: ${upper_devicename} Restart
icon: "mdi:restart"
device_class: switch
Ondersteun mijn website’s, kanaal en inhoud en mijn voortdurende inspanningen via Patreon:
https://patreon.com/Colani
Suc6
Terry van Erp







