Christophe Nowicki

December 8, 2009

Capteur de dioxyde de carbone pour réseau 1-wire

Après la lecture de plusieurs livres de Jean-Marc Jancovici (merci Nicolas ;-) ),
je me suis intéressé à la concentration de dioxyde de carbone dans l’air.
En effet, cette concentration afflue directement sur le climat de la planète.
Je me suis donc mis à la recherche d’un capteur de CO2 abordable pour ma station météo.

La recherche du capteur

co2 sensor Mes critères pour le capteur de dioxyde de carbone de ma station météo étaient les suivants :

  • communicant avec le pc à l’aide d’un protocole standard ;
  • fonctionnant sous Debian GNU/Linux ;
  • petit budget, moins de 150 euros.

Après plusieurs jours recherche, je me suis retrouvé le bec dans l’eau.

En effet, ce genre de capteur est visiblement réservé aux équipements scientifiques et la plupart des devis que j’ai réussi à obtenir sont bien au dessus de mon budget.
Mais dernièrement, j’ai trouvé un revendeur de matériel 1-wire en Suède : m.nu.
Celui-ci propose un capteur de CO2 abordable : CO2-meter.
Ce capteur est basé sur le capteur K30 de chez SenseAir et un DS2450.
Ce capteur peut être utilisé en intérieur ou bien à l’extérieur.
Par contre dans le cas d’une utilisation extérieur, il faut le protéger des précipitations.

Matériel

Pour faire fonctionner le capteur vous avez besoin des composants suivants :

Produit Prix
CO2-meter 139,93€
5V Power injectors 19,96€
Alimentation 5V 14,95€

Exploitation du capteur

Avec OWFS

Une fois le capteur branché sur le réseau 1-wire, il est vu par owfs :

$ tree /mnt/owfs/20.C17E0D000000
/mnt/owfs/20.C17E0D000000
|-- PIO.A
|-- PIO.ALL
|-- PIO.B
|-- PIO.C
|-- PIO.D
|-- address
...
|-- type
|-- volt.A
|-- volt.ALL
|-- volt.B
|-- volt.C
|-- volt.D
|-- volt2.A
|-- volt2.ALL
|-- volt2.B
|-- volt2.C
`-- volt2.D
3 directories, 74 files
$ cat /mnt/owfs/20.C17E0D000000/type
DS2450%

Les informations intéressantes se trouvent dans les fichiers :

  • volt.A : sortie du capteur de CO^2, donne la concentration de CO2 en ppm. Il faut multiplier la valeur par 1000. Ex: 0.772277 * 1000 = 772 ppm ;
  • volt.B : statut du capteur de CO^2, le voltage doit être au alentour de 3.2V ;
  • volt.D : voltage du DS2450S, doit être aux alentours de 5V ;

Avec Munin

Pour faire un graphique de la concentration de dioxyde de carbone, j’utilise munin et un petit plugin fait maison :

$ svn co http://svn.csquad.org/owcarbondioxide
A owcarbondioxide/owcarbondioxide
...
$ chmod a+x owcarbondioxide/owcarbondioxide
# mv owcarbondioxide/owcarbondioxide /usr/share/munin/plugins/
# ln -s /usr/share/munin/plugins/owcarbondioxide /etc/munin/plugins/owcarbondioxide
$ /etc/munin/plugins/owcarbondioxide config
graph_title Carbon dioxide 1-wire sensor
graph_args --base 1000 --lower-limit 0 --upper-limit 5000
graph_vlabel Carbon dioxide in ppm
graph_category sensors
graph_info This graph shows the Carbon dioxide on the one-wire network.
Chambre.label Chambre
$ /etc/munin/plugins/owcarbondioxide get
Chambre.value 786.184

Vous devriez obtenir ce type de graphique :
meuh.csquad.lan-owcarbondioxide-day

Références

Voici quelques références intéressantes sur le sujet :

Filed under: Home automation — Tags:, , , — cscm @ 20:09

4 responses to “Capteur de dioxyde de carbone pour réseau 1-wire”

  1. gdo says:

    Bonjour,

    en baladant dans ton blog, j’ai découvert les solutions PHIDGETS (que tu utilise pour le RFID) ils ont des cartes permettant de de faire de acquisition de données et sur le site de go tronic on trouve des capteur de CO2 et meme un capteur de pollution (http://www.gotronic.fr/catalog/capteurs/capteursframe.htm) pour environ 10€ en y ajoutant des capteurs de tension (http://www.gotronic.fr/catalog/micro/phidgets_capteurs.htm#25479) et la carte d’acquisition
    (http://www.gotronic.fr/catalog/micro/phidgets.htm#25443). on se retrouve avec une solution identique niveau prix à la solution suédoise mais capable de beaucoup plus de chose. Par contre c’est de l’USB et la portée va être moindre mais couplé à un NSLU2 il doit être possible de construire une superbe station météo interrogeable via ethernet ou wifi.

    Cordialement

  2. cscm says:

    Bonjour,

    J’ai loupé ce capteur de CO2 !

    J’ai bien fait le tour des magasins d’électronique, mais dans la plupart des cas j’ai trouvé des capteurs de CO, CH4, etc … mais pas de CO2.

    J’ai demandé le datasheet du “Détecteur de pollution HS135” à GoTronic, il est disponible ici :

    http://www.selectronic.fr/includes_selectronic/pdf/Sencera/HS135E.PDF

    Ce détecteur est bien moins cher, mais il semblerait que celui-ci soit :
    – sensible aux variations de température ;
    – capable de mesurer plusieurs gaz en même temps ;
    – nécessite une calibration.

    C’est bien plus complexe à exploiter.

    J’admets que j’ai choisi la solution de température nue par fainéantise. Tu branches et cela marche directement en 1-wire ;-)

    Il est clair que pour s’amuser un peu plus dans le domaine, il est nécessaire de faire ses capteurs soit même ;-)

    C’est pour cela que je suis les expérimentations du /tmp/lab :

    http://www.tmplab.org/wiki/index.php/Toxic_Gas_Sensor

    Et que je vais probablement me faire une station “AIRPARIF” avec des cartes Arduino en ZigBee :

    http://www.libelium.com/tienda/catalog/product_info.php?products_id=92

    Voilà, mes 0.02ppm

  3. Paul Alfille says:

    As the author of OWFS I am very impressed by your work. Should I include direct support of the CO2 monitor in OWFS?

  4. cscm says:

    @Paul Alfille :

    Hi Paul,

    At first, I would like to thank you for owfs. This software really rocks ;-)

    I am not the author of the CO2 Meter. I’am only just an user sharing my interest in this field.

    You can contact Erik Freiholtz from http://www.temperatur.nu if you want more information about this product.

    I don’t think that OWFS need direct support for the CO2-meter the DS2450 is suffisant.

    Best Regards,

Powered by WordPress