Capteur CO2 Neko

nekoplusplusSuite à la pandémie du COVID19, afin de mesurer la qualité de l'air et les besoins de ventilation à l'intérieur des salles, tout un mouvement s'est créé afin de réfléchir à la fabrication de capteurs de CO2 et de partager ces projets.Module Sensirion SCD30
Site de référence : http://nousaerons.fr/makersco2/
Site originel du boîtier Neko : http://lafabrique.centralesupelec.fr/neko/

Après m'être renseigné et en fonction des coûts des composants, je me suis orienté vers une solution à base de capteur Sensirion SCD30 trouvé à 32€ sur AliExpress.

Disposant d'un microcontrôleur Noname de type  ESP32 Wemos Lite dans mon stock, je suis parti sur le modèle simple Neko++ de FelixMTP : https://github.com/FelixMTP/Neko-CO2.Module ESP32
On trouve tout ce dont à besoin sur le site : fichiers .stl pour l'impression 3D du boîtier, étiquette de la façade, pdf de montage et de notice d'utilisation. Un grand merci à lui pour le partage !!!


Il existe plusieurs variantes de ce boîtier mais je suis resté sur une version simple (sans batterie) avec un buzzer (de type YL-44) et 2 interrupteurs. Il faut 4 LED de couleurs différentes de 5 mm.
Par contre, comme ma carte ESP32 à un connecteur mini-USB déporté par rapport au modèle originel du projet, j'ai dû élargir l'ouverture dans la partie basse permettant la connexion. J'ai dû aussi modifier la carte PCB recevant le microcontrôleur en resserrant les rangées des plots (voir au bas de l'article, les fichiers joints).

Impression du boîtier

J'ai imprimé les 3 pièces constituant le boîtier en PETG, ce qui a pris 10 heures tout de même (7h30 pour la partie la plus grande)... J'ai aussi imprimé l'étiquette à coller sur la façade avant (utiliser une perforatrice papier pour l'emplacement des 4 diodes).

Boitier Neko PETG

 

Programmation avec Arduino IDE

ATTENTION : TOUJOURS PENSER À PRENDRE UN CÂBLE USB ENTIÈREMENT CÂBLÉ !!!

Ayant installé Ubuntu 20.04 dernièrement, il a fallu que j'installe le programme Arduino IDE avec la commande : sudo snap install arduino

Il faut installer Arduino IDE directement à partir du site Arduino https://www.arduino.cc/en/software sinon les ports ne sont pas reconnus !!!

Il faut aussi rajouter ces paquets avec les 2 commandes suivantes :

sudo apt install python-is-python3
pip install pyserial

Ensuite il a fallu rajouter l'utilisateur principal dans le groupe "dialout" et "tty" afin de pouvoir programmer via le port USB (puis redémarrer) :

sudo usermod -a -G dialout thierry
sudo usermod -a -G tty thierry

Réglage du module ESP32 dans Arduino IDE :

Arduino IDE ESP32 reglages

Pour pouvoir flasher le programme dans Arduino IDE, il faut appuyer sur le bouton RST du module ESP32 avant de le brancher, brancher et le relâcher.

Remarque : Mon module ESP32 n'ayant pas de broche 21, je l'ai remplacée par la broche 23 dans le programme .ino. À TESTER sur platine d'essais.

Montage à tester :

Neko branchements

 

Montage sur plaque d'essais pour tester

Montage Plaque EssaisUne fois que tout est prêt (module ESP32 flashé), on teste sur plaque d'essais. Dans l'image ci-contre, on devine la diode verte allumée.

Pour le calibrage, on peut télécharger l'application sur ordiphone Android, Sensirion My Ambience : https://play.google.com/store/apps/details?id=com.sensirion.myam&hl=fr&gl=US

Cette application permet d'afficher les informations qu'envoie notre montage. Il est nécessaire d'activer le Bluetooth ainsi que la localisation (on se demande bien pourquoi...).

Dans le paramétrage de l'application (Gadget Settings), on peut modifier le nom du module, ainsi que l'intervalle des mesures qui sont par défaut de 10 minutes.

 

 

Montage final et tests

Une fois les tests concluants, on peut se lancer dans le montage final.

La première chose à faire c'est d'enficher les modules ESP32 et Sensirion sur la plaque imprimée.

Ensuite on soude les composants en n'oubliant pas d'insérer les morceaux de gaines thermorétractables pour l'isolation.

On fixe les 2 interrupteurs en mettant du papier sulfurisé dessus les tétons plastiques et on appuie avec la panne de soudure (au minimum à  150° pour mon matériel) pour les écraser de manière à ce qu'ils fassent office de rivets.
Attention aux sens des interrupteurs afin que les positions ON/OFF correspondent aux indications imprimées en façade.

Après toutes les soudures faites, un dernier test a montré que la LED jaune ne fonctionnait plus. Cela ne venant pas de la broche 18 de l'ESP32 qui envoyait bien 3.3 volts aux taux de concentration en CO2 de la plage jaune, j'ai remplacé la led jaune grillée.

Pour faire varier le taux de concentration en CO2, il suffit de souffler sur le capteur. De cette façon, on peut voir si le boîtier fonctionne correctement. En soufflant dessus, on passe à plus de 4000 ppm de CO2, ce qui fait sonner le boîtier, puis le taux redescend progressivement jusqu'à la diode bleue si on est à l'extérieur (ou dans un endroit très bien ventilé).

Neko Montage final  Neko led bleue  Neko led verte  Neko led jaune  Neko led rouge

 

 

 

 

Conclusion

Le module fonctionne parfaitement. J'ai cependant un doute quand au calibrage qui nécessite un redémarrage. Mais les taux affichés sont cohérents.

C'est un beau petit projet qui m'a demandé pas mal de compétences différentes :

Pièce(s) jointe(s):
Télécharger ce fichier (Boitier_Neko.FCStd)Boitier_Neko.FCStd[Boitier originel au format FreeCAD]6877 Ko
Télécharger ce fichier (Boitier_Neko_facade_2boutons.stl)Boitier_Neko_facade_2boutons.stl[Façade au format imprimable .stl]157 Ko
Télécharger ce fichier (Boitier_Neko_Partie_basse_Ouverture_Large.FCStd)Boitier_Neko_Partie_basse_Ouverture_Large.FCStd[Partie basse au format modifiable FreeCAD]398 Ko
Télécharger ce fichier (Boitier_Neko_Partie_Basse_Ouverture_Large.stl)Boitier_Neko_Partie_Basse_Ouverture_Large.stl[Partie basse au format imprimable .stl]2117 Ko
Télécharger ce fichier (PCB1-Thierry.stl)PCB1-Thierry.stl[Plaque PCB au format imprimable .stl]248 Ko
Télécharger ce fichier (PCB1.FCStd)PCB1.FCStd[Plaque PCB au format FreeCAD]48 Ko
Télécharger ce fichier (schéma_avec batterie_et_calibration.pdf)schéma_avec batterie_et_calibration.pdf[Notice de montage de FelixMTP]5011 Ko