Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Moniteur de qualité de l'air DIY - PM2.5, CO2, VOC, Ozone, Temp &Hum Arduino Meter

Vous êtes-vous déjà interrogé sur la qualité de l'air que vous respirez, ou peut-être pourquoi vous vous sentez parfois somnolent au bureau ou fatigué le matin même après avoir dormi toute la nuit ? Une mauvaise qualité de l'air peut entraîner de nombreux effets négatifs sur la santé, ainsi que de la fatigue, des maux de tête, une perte de concentration, une accélération du rythme cardiaque, etc. La surveillance de la qualité de l'air peut en fait être plus importante que vous ne le pensez. Ainsi, dans ce didacticiel, nous allons apprendre à construire notre propre moniteur de qualité de l'air capable de mesurer les PM2,5, le CO2, les COV, l'ozone, ainsi que la température et l'humidité.

Vous pouvez regarder la vidéo suivante ou lire le didacticiel écrit ci-dessous.

Aperçu

Je vais vous expliquer comment chacun des paramètres de la qualité de l'air nous affecte et comment fonctionnent les capteurs. Le cerveau de ce projet est une carte Arduino Pro Mini qui, en combinaison avec un écran tactile Nextion de 2,8 pouces, fournit une interface utilisateur décente.

Nous pouvons voir les mesures de tous les capteurs en temps réel, et si nous cliquons sur un capteur particulier, nous obtiendrons les valeurs des dernières 24 heures de ce capteur. Il existe également une fonction de gradation grâce à laquelle nous pouvons réduire la luminosité de l'écran ou même l'éteindre complètement. C'est pratique, par exemple, si nous voulons suivre la qualité de l'air dans notre chambre pendant la nuit.

Nous pouvons éteindre l'écran pour la nuit et le lendemain, nous pouvons vérifier les valeurs de chaque capteur individuellement.

Néanmoins, je vais maintenant vous guider tout au long du processus de construction et vous expliquer comment tout fonctionne. À la fin de cette vidéo, vous pourrez en construire un vous-même. Alors, commençons.

Le capteur PM2.5 – PMS5003

Cet appareil comporte quatre composants principaux ou capteurs de qualité de l'air. Nous utilisons le capteur PMS5003 pour mesurer les PM2,5 ou les particules dans l'air d'un diamètre d'environ 2,5 microns. Les particules sont la forme de pollution atmosphérique la plus nocive, car elles peuvent pénétrer profondément dans les poumons, la circulation sanguine et le cerveau, causant de nombreux problèmes de santé.

Ce capteur fonctionne sur le principe de la diffusion laser. Le capteur est doté d'un ventilateur qui crée un flux d'air contrôlé afin que les particules environnementales traversent un faisceau laser focalisé.

Les particules provoquent une diffusion de la lumière qui est détectée par une photodiode puis convertie en concentration de PM à l'aide de son microprocesseur. J'ai trouvé les résultats de ce capteur assez fiables et, le long de PM2,5, il peut également produire des valeurs PM1 et PM10.

Le capteur de CO2 – MH-Z19

Ensuite, nous utilisons le capteur MH-Z19 pour mesurer le CO2 ou le dioxyde de carbone. Comme les gens émettent du dioxyde de carbone en respirant, la concentration intérieure de CO2 peut facilement devenir très élevée. Le CO2 n'est pas seulement dangereux à des concentrations élevées, mais il peut également provoquer de la somnolence, de la fatigue, diminuer notre niveau de productivité, etc.

Le capteur utilise le principe infrarouge non dispersif pour mesurer le CO2 dans l'air. Une source infrarouge dirige la lumière à travers un tube qui est rempli de l'air que nous mesurons. De l'autre côté de la source infrarouge, il y a un filtre optique et un détecteur IR qui mesure la quantité de lumière IR qui la traverse.

Les molécules de gaz CO2 présentes dans l'air que nous mesurons absorbent une bande spécifique de lumière infrarouge tout en laissant passer certaines longueurs d'onde. Ainsi, le niveau de CO2 est calculé en fonction de la différence entre la quantité de lumière émise et la quantité de lumière IR reçue par le détecteur. Les résultats de ce capteur sont également assez précis.

Les capteurs de COV et d'ozone – MP503 et MQ-131

Pour mesurer les COV et l'ozone, nous utilisons les capteurs de gaz MP503 et MQ131. Ce sont des capteurs à oxyde métallique chauffés et leur principe de fonctionnement est basé sur la détection de changement de résistance en présence de gaz ciblés.

Un courant électrique spécifique traverse un substrat métallique et la résistance change en fonction de la quantité de gaz présent.

Le gaz cible du capteur MQ131 est simplement l'ozone, qui, dans un foyer normal, peut être généré par des produits tels que certains purificateurs d'air, vaporisateurs faciaux, lampes germicides qui produisent de la lumière ultraviolette, etc.

D'autre part, le capteur MP503 a plusieurs gaz cibles, notamment l'alcool, la fumée, l'iso-butane, le méthanal et autres. COV signifie composés organiques volatils et ce sont des émissions organiques provenant de produits que nous utilisons quotidiennement comme les détergents à lessive, les nettoyants, les désodorisants, la peinture, le maquillage, etc. Les COV peuvent avoir de nombreux effets négatifs sur la santé, notamment des maux de tête, une irritation des yeux, des réactions cutanées, des étourdissements, etc.

Moniteur de qualité de l'air Arduino DIY - Schéma de circuit

Néanmoins, regardons maintenant le schéma de circuit et expliquons comment tout doit être connecté.

Vous pouvez obtenir les composants nécessaires pour ce moniteur de qualité de l'air Arduino à partir des liens ci-dessous :

  • Capteur PM PMS5003 …………………….
  • Capteur de CO2 MH-Z19 ……………………..
  • Capteur d'ozone MQ-131 …………………..
  • Capteur COV MP503 ……………………….
  • Capteur de température et de bourdonnement DHT22………….
  • Écran Nextion 2.8″ ……………………..
  • DS3231 RTC ………………………………….
  • Arduino Pro Mini………………..…….…..
  • Distance / Entretoise Écrous M3 ……………
  • Connecteur Mini USB ………………….
  • En-têtes de broches ……………………………….
  • Interrupteur 2 positions …………………………
  • Valeurs des condensateurs :0,1 uF céramique et 10 uF électrolytique
  • Transistors – 2N3904
  • Changer

Divulgation :il s'agit de liens d'affiliation. En tant qu'associé Amazon, je gagne des achats éligibles.

Valeurs correctes des résistances :  R1 =1K, R2 =2K, R6=100K ou 1M, R7=1K

Le capteur PM2.5 communique avec l'Arduino via une interface série. Il fonctionne à 5V, mais le niveau logique de réception RX fonctionne à 3,3v, nous avons donc besoin d'un diviseur de tension pour cela. Le capteur de CO2 et l'écran Nextion utilisent également la communication série. Pour lire les capteurs COV et Ozone, nous utilisons les entrées analogiques de l'Arduino, tandis que le capteur de température et d'humidité DHT22 utilise une broche numérique à cette fin.

Les deux transistors sont utilisés pour activer les éléments chauffants des capteurs. Nous utilisons également un module d'horloge en temps réel pour suivre l'heure lors du stockage des valeurs des capteurs, et il utilise la communication I2C. L'ensemble de l'appareil est alimenté en 5V via un connecteur Mini USB.

Voir aussi : Les 8 meilleurs kits de démarrage Arduino [Mise à jour 2021]

Maintenant, si nous essayons de tout connecter ensemble, nous aurons un sacré bordel à cause des nombreuses connexions.

Donc, nous avons définitivement besoin d'un PCB pour ce projet.

Création d'un circuit imprimé pour le moniteur de qualité de l'air Arduino

Pour créer un PCB pour ce projet, je vais utiliser Altium Designer qui est en fait le sponsor de cette vidéo.

Altium Designer représente des décennies d'innovation et de développement dédiées à la création d'un environnement de conception véritablement unifié. En trouvant l'équilibre parfait entre puissance et facilité d'utilisation, Altium Designer s'est imposé comme la solution de conception de circuits imprimés la plus utilisée sur le marché.

Je vais maintenant vous montrer comment j'ai conçu le PCB pour ce projet à l'aide d'Altium Designer. J'ai commencé par faire le schéma du projet. Altium Designer dispose de bibliothèques intégrées avec des composants électroniques de base, mais mieux encore, vous pouvez rechercher des composants directement auprès des fabricants, ce qui rend l'approvisionnement en composants pour votre projet très pratique.

À titre d'exemple, j'ai trouvé le connecteur Mini USB à l'aide de cette fonction de recherche de pièces du fabricant. De là, vous pouvez également accéder facilement aux données relatives aux composants, telles que les modèles 3D, les empreintes, les dimensions, etc.

Vous pouvez également créer vos propres bibliothèques de composants. J'ai créé moi-même la plupart des composants de ce projet, car je voulais créer mes propres empreintes 3D pour chaque pièce afin qu'à la fin, j'obtienne l'ensemble du PCB en 3D. Pour créer des modèles 3D pour les empreintes de PCB, vous pouvez utiliser n'importe quel logiciel de CAO, enregistrer les fichiers en tant que fichiers .STEP et les importer dans Altium Designer.

Une fois le schéma terminé, j'ai généré le PCB. J'ai organisé les composants comme je le souhaitais et, d'un simple clic à l'aide de la fonction de routage automatique, le logiciel a généré toutes les traces automatiquement.

Si nécessaire, nous pouvons les créer ou les ajuster manuellement. En outre, nous pouvons définir des règles de conception sur la manière dont le routage automatique créera les traces, définir des largeurs différentes pour chaque filet, etc. À ce stade, nous voyons également le PCB en 3D et exportons un fichier 3D de l'ensemble du PCB qui sera utilisé pour concevoir un boîtier plus tard.

Néanmoins, je tiens à remercier Altium pour le parrainage de contenus éducatifs comme celui-ci. Si vous souhaitez en savoir plus sur ce logiciel et également l'essayer, vous pouvez consulter les liens ci-dessous. Vous pouvez également essayer le visualiseur Web Altium 365 pour les aperçus de projet et les fichiers.

Essai gratuit d'Altium Designer – https://www.altium.com/yt/howtomechatronics
Visionneuse Altium 365 :https://www.altium.com/viewer

Voici les fichiers du projet Altium Designer :

Fichiers Altium Designer comprenant le fichier de projet, les bibliothèques et les fichiers .STEP des modèles 3D des composants électroniques :

Fichier PCB Gerber :

Ok, donc une fois que j'ai terminé le PCB, j'ai généré les fichiers Gerber et NC Drill, les ai mis dans un seul fichier zip, et j'étais donc prêt à commander le PCB à fabriquer.

J'ai commandé le PCB de JCLPCB. Ici, nous pouvons simplement faire glisser et déposer le fichier zip et une fois téléchargé, nous obtiendrons toutes les informations visuelles sur notre PCB.

Ensuite, nous pouvons sélectionner les propriétés que nous voulons et commander notre PCB à un prix raisonnable.

Assemblage du PCB

Après plusieurs jours, les PCB sont arrivés. La qualité du PCB est excellente et tout est exactement comme dans la conception.

Nous sommes donc maintenant prêts à commencer à assembler le PCB. J'ai commencé par insérer et souder d'abord les plus petits composants, les résistances et les deux transistors.

Ensuite, nous pouvons souder la carte Arduino Pro Mini en place. Cependant, nous devons d'abord y souder les en-têtes de broches. Veuillez noter que nous n'avons pas besoin de toutes ses broches, mais assurez-vous de ne pas manquer celle dont nous avons besoin comme les broches A4, A5 et DTR. Assurez-vous également que vous avez exactement la même carte Arduino Pro Mini avec cette disposition de broches, car elles peuvent parfois être différentes.

Ensuite, nous pouvons insérer le capteur DHT22 en place. Pour cela, nous devons d'abord plier ses broches à 90 degrés. Parfois, j'utilise aussi l'adhésif Blu-tack pour maintenir les composants en place lors de la soudure.

Les deux condensateurs utilisés dans ce projet servent à stabiliser l'alimentation. L'alimentation de la carte proviendra d'un connecteur mini-USB auquel nous pourrons connecter 5V.

Juste au-dessus du connecteur d'alimentation, nous devons souder les deux interrupteurs. L'un sert à allumer et éteindre l'appareil, et l'autre est utilisé lorsque nous voulons télécharger un croquis sur la carte Arduino. Ensuite, nous pouvons insérer les en-têtes de broches pour l'interface USB vers UART, l'affichage et le capteur PM2.5, ainsi que les capteurs VOC, Ozone et CO2 en place.

Ensuite, pour souder à nouveau le module d'horloge en temps réel DS3231, nous devons d'abord plier les broches à 90 degrés. Une fois soudé, nous pouvons insérer la batterie qui garde une trace de l'heure même lorsque le circuit imprimé principal perd de l'alimentation. Avec cela, le PCB est réellement terminé, et il ne reste plus qu'à préparer les câbles que nous utiliserons pour connecter le capteur PM2.5 et l'écran au PCB. J'ai soudé des en-têtes de broches mâles au câble fourni avec le capteur, et j'ai donc pu le connecter facilement au PCB. Pour connecter l'écran au PCB, j'ai soudé quatre fils à l'arrière du connecteur d'affichage, puis je les ai connectés au PCB.

Et voilà, notre moniteur de qualité de l'air est terminé. Bien sûr, ce que nous devons faire maintenant, c'est fabriquer une sorte de boîte ou d'étui pour cela. Comme nous avons le modèle 3D de l'ensemble du circuit imprimé d'Altium Designer, nous pouvons l'importer dans un logiciel de CAO et concevoir un boîtier pour celui-ci.

J'ai utilisé SOLIDWORKS à cette fin et j'ai créé le cas le plus simple possible composé de seulement deux pièces et de quelques boulons et écrous. J'ai décidé de fabriquer le boîtier en acrylique transparent parce que j'aime la façon dont le PCB et les composants semblent exposés et c'est aussi un excellent moyen de montrer votre projet de bricolage.

Vous pouvez télécharger ce modèle 3D de moniteur de qualité de l'air DYI, ainsi que l'explorer dans votre navigateur sur Thangs.

Téléchargez le modèle 3D sur Thangs.

Préconiser le moniteur de qualité de l'air

L'acrylique que j'utiliserai est une tique de 4 mm qui s'adapte parfaitement à l'écran. Comme je n'ai pas de machine CNC pour le moment, j'ai découpé les formes manuellement à l'aide d'une simple scie à métaux en métal.

Pour faire l'ouverture pour l'affichage, j'ai d'abord fait deux trous avec une perceuse. Ensuite, je suis passé à travers une lame d'une mini scie à métaux et j'ai soigneusement découpé la forme. À l'aide d'une simple râpe, j'ai lissé la forme. Ensuite, à l'aide d'une perceuse de 3 mm, j'ai fait tous les trous pour fixer les PCB et connecter les deux plaques acryliques ensemble.

À ce stade, j'ai retiré la feuille de protection de l'acrylique, ce qui, et pour être honnête, est un processus assez satisfaisant. Pour fixer le PCB à la plaque de base, j'ai utilisé des boulons et des écrous M3. Pour fixer le capteur PM2,5 à la plaque, nous avons besoin de boulons M2.

Ensuite, en utilisant des écrous d'écartement, nous pouvons joindre les deux plaques ensemble. En utilisant un écrou de distance femelle et un mâle, j'ai pu facilement obtenir la distance souhaitée entre les deux plaques.

Personnellement, j'aime beaucoup la façon dont ce boîtier s'est avéré, en plus, il est fonctionnel car l'air peut facilement circuler autour des capteurs.

Programmation

Très bien, nous pouvons maintenant allumer l'appareil et télécharger le programme. Nous pouvons alimenter le moniteur de qualité de l'air via le connecteur Mini USB et nous pouvons obtenir les 5 volts d'un adaptateur USB 5V, d'un chargeur de téléphone 5V ou d'une banque d'alimentation.

Pour télécharger le programme sur la carte Arduino Pro Mini, nous avons besoin d'une interface USB vers UART série qui peut être connectée à l'en-tête de programmation. Avant de le connecter à l'ordinateur USB, nous devons d'abord allumer l'alimentation principale de l'appareil, car sinon l'alimentation provenant de l'ordinateur USB qui n'est que de 500mA pourrait ne pas être suffisante pour fonctionner correctement. Lors du téléchargement de l'esquisse Arduino, nous devons également basculer le commutateur de téléchargement sur le PCB.

Ici, vous pouvez télécharger le code Arduino et le programme d'affichage Nextion :

Pour télécharger un croquis sur une carte Arduino Pro Mini, dans l'IDE Arduino, nous devons d'abord sélectionner cette carte, sélectionner la version appropriée du processeur, sélectionner le port et sélectionner la méthode de programmation sur "USBasp".

Une fois que nous avons téléchargé le code sur l'Arduino, nous devons également télécharger un code sur l'écran Nextion. Les écrans Nextion disposent d'un contrôleur ARM intégré qui contrôle l'écran par lui-même.

Tous les graphiques tels que les boutons, le texte, les images, les variables, etc. sont générés et contrôlés par l'affichage lui-même. L'affichage Nextion dispose d'un éditeur Nextion dédié où nous pouvons créer tous ces éléments. L'affichage et la communication Arduino avec seulement deux fils utilisant la communication série. L'Arduino envoie simplement les valeurs du capteur à l'écran et vice versa, l'écran envoie des données à l'Arduino en cas de besoin.

Pour télécharger le programme d'affichage, nous avons besoin d'une carte microSD sur laquelle nous pouvons enregistrer le fichier de sortie .TFT à partir de l'éditeur Nextion.

L'écran dispose d'un lecteur de carte où nous pouvons insérer la carte microSD lorsque l'alimentation est coupée. Ensuite, nous pouvons allumer l'appareil et le programme sera téléchargé sur l'écran. Il ne nous reste plus qu'à retirer la carte, rallumer l'alimentation et notre moniteur de qualité de l'air commencera à fonctionner.

Explication du code

Ainsi, nous utilisons des bibliothèques pour chaque capteur et qui peuvent être trouvées sur les liens suivants, MHZ19, PMS, MQ131, DHT, DS3231. Afin de mieux comprendre comment nous lisons les données de chaque capteur, je recommande de lire les documentations des bibliothèques et d'essayer leurs exemples.

Nous utilisons également la bibliothèque SoftwareSerial car les capteurs MH-Z19 et PMS5003 utilisent la communication série. L'Arduino et l'écran Nextion utilisent également le port série pour la communication et dans ce cas, nous utilisons la série matérielle par défaut.

Ainsi, l'Arduino lit les capteurs et envoie ces données à l'écran Nextion. Voici un exemple.

Serial.print("tempV.val=");
Serial.print(temp);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);Code language: Arduino (arduino)

Nous avons donc une variable à l'affichage du nextion appelée "tempV" et pour mettre à jour sa valeur, nous devons envoyer une commande au nextion comme suit "tempV.val=22". Donc, le nom de la variable, puis ".val", puis la valeur, disons 22. Les deux premières lignes du code le font, et pour que l'affichage Nextion accepte cette commande ou en fait n'importe quelle commande, nous devons envoyer les trois uniques commandes "écrire".

Dans le programme d'affichage Nextion, nous avons une minuterie qui s'exécute en boucle, tout comme la boucle de code Arduino, et elle met constamment à jour les chiffres affichés.

Dans cet événement de minuterie, nous avons également un code pour changer la couleur de fond de chaque capteur en fonction de sa valeur.

Sur la deuxième page, nous avons la forme d'onde, qui obtient les valeurs des valeurs stockées de l'Arduino. Veuillez noter que vous pouvez trouver plus d'informations sur le code Arduino lui-même car il y a des explications dans les commentaires du code.

Les heures et les valeurs de l'axe Y obtiennent également leurs valeurs de l'Arduino.

En plus de la forme d'onde, ainsi que des chiffres sur l'écran principal, vous pouvez remarquer que nous avons des objets transparents, appelés "Hotstops" dans l'éditeur Nextion, et ils agissent comme des boutons. Si nous appuyons sur le hotstop sur la forme d'onde, nous pouvons voir dans la section Événement qu'il nous renvoie à la "page 0".

Dans l'ensemble, c'est ainsi que fonctionne le programme de ce moniteur de qualité de l'air Arduino. Bien sûr, pour bien comprendre son fonctionnement, vous devez apprendre et savoir comment chaque capteur fonctionne avec ses bibliothèques, ainsi que le fonctionnement de l'affichage Nextion.

Veuillez noter que pour le capteur COV, nous ne lisons que les données brutes de ce capteur, pas les valeurs ppm ou ppb. Juste des valeurs analogiques de 0 à 1024. Des valeurs plus élevées signifient qu'il y a présence de COV.

En ce qui concerne le capteur d'ozone, afin d'obtenir des sorties plus précises, nous devons définir correctement les valeurs setTimeToRead() et setR0() selon l'exemple d'étalonnage de la bibliothèque. Cependant, plus setTimeToRead signifie que le programme sera bloqué pendant l'échantillonnage et que tout le reste sera gelé. Bien sûr, il existe des moyens de contourner cela. Je suggérerais même de ne pas utiliser du tout le capteur d'ozone, sauf si vous en avez vraiment besoin.

J'espère que cette vidéo vous a plu et que vous avez appris quelque chose de nouveau. Si tel est le cas, envisagez de me soutenir sur Patreon. N'hésitez pas à poser des questions dans la section des commentaires ci-dessous et à consulter ma collection de projets Arduino.


Processus de fabrication

  1. Moniteur DIY Environnement et Qualité de l'Air
  2. Comment mesurer la qualité de l'air sur OpenSensors
  3. Capteur de qualité de l'air à l'hélium
  4. Créer un moniteur Ambilight à l'aide d'Arduino
  5. Surveillance du CO2 avec le capteur K30
  6. Voltmètre DIY utilisant Arduino et Smartphone
  7. Moniteur de fréquence cardiaque utilisant l'IoT
  8. Arduino Temp. Moniteur et horloge en temps réel avec affichage 3.2
  9. Planche à roulettes en réalité virtuelle DIY