AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Capteur de qualité de l'air MQ135

Description détaillée

Ce module permet de gérer des capteurs MQ135 permettant de mesurer la qualité de l'air.

Graphe de collaboration de Capteur de qualité de l'air MQ135:

Structures de données

struct  xMq135Calibration
 

Fonctions

static void dMq135AtmoCO2 (xAdcSensor *pSensor)
 Lecture de la teneur en CO² d'étalonnage. Plus de détails...
 
double dMq135CalibrateRZero (xAdcSensor *pSensor)
 Mesure de la résistance Ro. Plus de détails...
 
double dMq135CorrectionFactor (double dTemp, double dHum)
 Calcul du facteur de correction de la résistance. Plus de détails...
 
static void dMq135Humidity (xAdcSensor *pSensor)
 Lecture de l'humidité utilisée pour la correction interne de la mesure. Plus de détails...
 
double dMq135RawToCorrectedPPM (xAdcSensor *pSensor, uint16_t usRaw, double dTemp, double dHum)
 Convertit une valeur ADC en teneur en gaz en ppm avec correction. Plus de détails...
 
double dMq135RawToCorrectedResistance (xAdcSensor *pSensor, uint16_t usRaw, double dTemp, double dHum)
 Convertit une valeur ADC en résistance Rs avec correction. Plus de détails...
 
double dMq135RawToPPM (xAdcSensor *pSensor, uint16_t usRaw)
 Convertit une valeur ADC en teneur en gaz en ppm. Plus de détails...
 
double dMq135RawToResistance (xAdcSensor *pSensor, uint16_t usRaw)
 Convertit une valeur ADC en résistance Rs. Plus de détails...
 
static void dMq135RLoad (xAdcSensor *pSensor)
 Lecture de la résistance de charge. Plus de détails...
 
static void dMq135RZero (xAdcSensor *pSensor)
 Lecture de la résistance d'étalonnage. Plus de détails...
 
static void dMq135Temp (xAdcSensor *pSensor)
 Lecture de la température utilisée pour la correction interne de la mesure. Plus de détails...
 
static void vMq135Init (xAdcSensorSetting *pSetting, xMq135Calibration *pCalibration)
 Initialise le capteur à partir de l'étalonnage. Plus de détails...
 
static void vMq135SetCorrection (xAdcSensor *pSensor, double dTemp, double dHum)
 Modifie la température et l'humidité utilisée pour la correction interne de la mesure. Plus de détails...
 
static void vMq135SetHumidity (xAdcSensor *pSensor, double dHum)
 Modifie l'humidité utilisée pour la correction interne de la mesure. Plus de détails...
 
static void vMq135SetTemp (xAdcSensor *pSensor, double dTemp)
 Modifie la température utilisée pour la correction interne de la mesure. Plus de détails...
 

Macros

#define MQ135_CALIBRATION(rload, rzero, atmoco2)
 Initialisation d'un repère d'étalonnage d'un capteur MQ135. Plus de détails...
 

Définitions de type

typedef struct xMq135Calibration xMq135Calibration
 

Documentation des macros

#define MQ135_CALIBRATION (   rload,
  rzero,
  atmoco2 
)

Initialisation d'un repère d'étalonnage d'un capteur MQ135.

Paramètres
rloadRésistance de charge en sortie en kilo ohms
rzeroRésistance correspondant à la teneur de CO² standard en kilo Ohms
atmoco2Teneur en CO² standard (à actualiser sur http://www.esrl.noaa.gov/gmd/ccgg/trends/global.html)
Exemples:
sensor/mq135/demo/demo_sensor_mq135.c.

Définition à la ligne 157 du fichier mq135.h.

Documentation des définitions de type

Repère d'étalonnage d'un capteur MQ135

Documentation des fonctions

static void dMq135AtmoCO2 ( xAdcSensor pSensor)
inlinestatic

Lecture de la teneur en CO² d'étalonnage.

Cette valeur correspond à la teneur définie lors de l'étalonnage

Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
Teneur en CO² en ppm
double dMq135CalibrateRZero ( xAdcSensor pSensor)

Mesure de la résistance Ro.

Cette fonction permet de calculer la résistance d'étalonnage correspondant à la teneur en CO² standard.
Pour effectuer l'étalonnage:

  • la teneur en CO² standard doit être actualisée sur http://www.esrl.noaa.gov/gmd/ccgg/trends/global.html
  • le capteur doit être démarré depuis au moins 24 heures
  • le capteur doit mis à l'air libre pendant au moins 1 heure (température 20°C, humidité 65%).
Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
Résistance Ro associée à dAtmoCO2
double dMq135CorrectionFactor ( double  dTemp,
double  dHum 
)

Calcul du facteur de correction de la résistance.

Paramètres
dTemptempérature en °C
dHumhumidité relative en %
Renvoie
Facteur de correction de la résistance du capteur (Rcor=Rs/Cor)
static void dMq135Humidity ( xAdcSensor pSensor)
inlinestatic

Lecture de l'humidité utilisée pour la correction interne de la mesure.

Cette valeur est à NaN par défaut après l'initialisation.

Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
humidité relative en %
double dMq135RawToCorrectedPPM ( xAdcSensor pSensor,
uint16_t  usRaw,
double  dTemp,
double  dHum 
)

Convertit une valeur ADC en teneur en gaz en ppm avec correction.

Cette fonction invalide la correction interne à dMq135RawToPPM() en mettant les paramètres du capteur à NAN et renvoie une valeur corrigée avec les paramètres dTemp et dHum fournis.

Paramètres
pSensorpointeur sur le capteur à utiliser
usRawvaleur de l'ADC correspodant à la grandeur
dTemptempérature en °C
dHumhumidité relative en %
Renvoie
Teneur en ppm associée à usRaw
Exemples:
sensor/mq135/demo/demo_sensor_mq135.c.
double dMq135RawToCorrectedResistance ( xAdcSensor pSensor,
uint16_t  usRaw,
double  dTemp,
double  dHum 
)

Convertit une valeur ADC en résistance Rs avec correction.

Cette fonction invalide la correction interne à dMq135RawToPPM() en mettant les paramètres du capteur à NAN et renvoie une valeur corrigée avec les paramètres dTemp et dHum fournis.

Paramètres
pSensorpointeur sur le capteur à utiliser
usRawvaleur de l'ADC correspodant à la grandeur
dTemptempérature en °C
dHumhumidité relative en %
Renvoie
Résistance Rs associée à usRaw
double dMq135RawToPPM ( xAdcSensor pSensor,
uint16_t  usRaw 
)

Convertit une valeur ADC en teneur en gaz en ppm.

Si les paramètres température et humidité ont été réglés avec vMq135SetTemp(), vMq135SetHumidity() ou vMq135SetCorrection() la valeur renvoyée est corrigée. Pour invalider la correction, il faut remettre les 2 paramètres à NAN.

Paramètres
pSensorpointeur sur le capteur à utiliser
usRawvaleur de l'ADC correspodant à la grandeur
Renvoie
Teneur en ppm associée à usRaw
Exemples:
sensor/mq135/demo/demo_sensor_mq135.c.
double dMq135RawToResistance ( xAdcSensor pSensor,
uint16_t  usRaw 
)

Convertit une valeur ADC en résistance Rs.

Si les paramètres température et humidité ont été réglés avec vMq135SetTemp(), vMq135SetHumidity() ou vMq135SetCorrection() la valeur renvoyée est corrigée. Pour invalider la correction, il faut remettre les 2 paramètres à NAN.

Paramètres
pSensorpointeur sur le capteur à utiliser
usRawvaleur de l'ADC correspodant à la grandeur
Renvoie
Résistance Rs associée à usRaw
static void dMq135RLoad ( xAdcSensor pSensor)
inlinestatic

Lecture de la résistance de charge.

Cette valeur correspond à la résistance branchée en sortie du capteur.

Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
résistance RL en kilo Ohms
static void dMq135RZero ( xAdcSensor pSensor)
inlinestatic

Lecture de la résistance d'étalonnage.

Cette valeur correspond à la résistance calculée lors de l'étalonnage à la teneur de CO² standard

Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
résistance Ro en kilo Ohms
static void dMq135Temp ( xAdcSensor pSensor)
inlinestatic

Lecture de la température utilisée pour la correction interne de la mesure.

Cette valeur est à NaN par défaut après l'initialisation.

Paramètres
pSensorpointeur sur le capteur à utiliser
Renvoie
température en °C
static void vMq135Init ( xAdcSensorSetting pSetting,
xMq135Calibration pCalibration 
)
inlinestatic

Initialise le capteur à partir de l'étalonnage.

dAdcSensorGetValue() est initialisée pour fournir une valeur de teneur en gaz en ppm

Paramètres
pSettingpointeur sur le réglage du cpateur
pCalibrationpointeur sur l'étalonnage
Exemples:
sensor/mq135/demo/demo_sensor_mq135.c.
static void vMq135SetCorrection ( xAdcSensor pSensor,
double  dTemp,
double  dHum 
)
inlinestatic

Modifie la température et l'humidité utilisée pour la correction interne de la mesure.

Si une température et une humidité est fournie, la mesure est corrigée avec ces valeurs, sinon aucune correction n'est effctuée.

Paramètres
pSensorpointeur sur le capteur à utiliser
dTemptempérature en °C
dHumhumidité relative en %
static void vMq135SetHumidity ( xAdcSensor pSensor,
double  dHum 
)
inlinestatic

Modifie l'humidité utilisée pour la correction interne de la mesure.

Si une température et une humidité est fournie, la mesure est corrigée avec ces valeurs, sinon aucune correction n'est effctuée.

Paramètres
pSensorpointeur sur le capteur à utiliser
dHumhumidité relative en %
static void vMq135SetTemp ( xAdcSensor pSensor,
double  dTemp 
)
inlinestatic

Modifie la température utilisée pour la correction interne de la mesure.

Si une température et une humidité est fournie, la mesure est corrigée avec ces valeurs, sinon aucune correction n'est effctuée.

Paramètres
pSensorpointeur sur le capteur à utiliser
dTemptempérature en °C