Aller au contenu


Photo
- - - - -

Concentration particules en suspension (PM)


15 réponses à ce sujet

#1 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 08 octobre 2019 - 08:41

Bonjour à tous, 

 

Ce sujet est un peu éloigné de la robotique, mais comme il y a des modules et une Arduino Uno, je partage quand même :

 

Contexte : Avec toutes les choses que l'on entend sur la pollution et les particules fines, je me suis dit que j'allais me faire mon kit de mesure de particules (J'habite en Île de France :Alvarin_07: )

 

Du coup j'ai commandé un grove dust  sensor qui mesure les particules en suspension (https://fr.wikipedia...s_en_suspension) , je l'ai branché a l'arduino (5v) et j'ai téléversé un code que l'on trouve sur internet :

 

int pin = 8;unsigned long duration;unsigned long starttime;unsigned long sampletime_ms = 2000;unsigned long lowpulseoccupancy = 0;float ratio = 0;float concentration = 0;void setup() {Serial.begin(9600);pinMode(8,INPUT);starttime = millis();}void loop() {duration = pulseIn(pin, LOW);lowpulseoccupancy = lowpulseoccupancy+duration;if ((millis()-starttime) >= sampletime_ms) //if the sampel time = = 30s{ratio = lowpulseoccupancy/(sampletime_ms*10.0);concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;Serial.print("Concentration = ");Serial.print(concentration);Serial.println(" pcs/0.01cf");Serial.println("\n");lowpulseoccupancy = 0;starttime = millis();}}

 

Voici quelques photos:20191008_211203.jpg

Jolie nappe hein !

 

Résultat après avoir agité une serviette de table au dessus du capteur:

20191008_211617.jpg

 

alors je suis un peu déçu pour le moment car si je regarde les valeurs, il semble ne pas y avoir de concentrations de particulièrement importantes dans la maison car j'ai la valeur de base retournée par le code ( 0.62). On constate une augmentation des valeurs lors d'ouvertures et de fermetures de portes et tout mouvement qui entraîne un déplacement d'air (quand l'aspirateur est en route c'est le carnage).

Vous me direz que c'est normal, mais j'avais en tête que les particules fines restaient en suspension... donc je me dis que soit le code est pas bon, soit le capteur n'est pas suffisamment performant (celui de AirParif  coûte aux alentours de 13k€). Bref je continue mes recherches. Je pense mettre le capteur dans une boite avec un ventilateur pour faire circuler l'air et observer les valeurs.

 

Si vous avez des remarques je suis preneur !

 

PS: J'ai fait un test avec un Raspberry, et la wifi fait augmenter la concentration...

 


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 4 571 messages
  • Gender:Male

Posté 08 octobre 2019 - 09:13

Super projet !
Malheureusement, je ne vais pas pouvoir t'aider.
Mais, il y a des tas de choses sur YouTube. As-tu regardé ?
Ma chaine vidéo YouTube : https://www.youtube....wMz-IzZqyvqEUek

#3 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 08 octobre 2019 - 09:26

Bonsoir,

d'après ce que j'ai compris, ce capteur indique si une particule (>1µm) de diamètre est dans son "faisceau" de détection. Le code calcule alors la proportion de temps pendant lequel on a de telles particules détectées.

Le problème est que les particules fines sont très petites (d'après le lien wikipédia que tu donne, on peut commencer à en parler en dessous de 10µm). Mais si tu regardes le diagramme de droite de ton lien, tu verra que la plupart des types de particules fines sont plus petits que 1µm de diamètre, et ne seront donc pas détectées.

En gros, au lieu de mesurer les particules fines, tu n'en mesure que les plus grosses ainsi que toute la poussière (dust). Du coup, si ton taux de particule fine est faible et ta serviette poussiéreuse, alors le résultat est normal (la poussière retombe assez vite)



#4 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 09 octobre 2019 - 12:37

Bonjour,

 

Merci à tous pour vos commentaires

 

@Oracid, oui je regarde, mais rien de très creusé pour mon cas.

 

@Sandron, si je regarde wiki, j'ai l'impression que ce capteur est capable de détecter les fines mais par les très fines et ultrafines? As-tu la même lecteur? (le capteur peut capter les particules > à 1um (micromètre)

  • PM10 particules en suspension dans l'air, d'un diamètre aérodynamique (ou diamètre aéraulique) inférieur à 10 micromètres
  • PM2.5 dont le diamètre est inférieur à 2,5 micromètres, appelées « particules fines »
  • PM1,0 dont le diamètre est inférieur à 1,0 micromètre, appelées « particules très fines »
  • PM0,1 dont le diamètre est inférieur à 0,1 micromètre, appelées « particules ultrafines »

Du coup sur le wiki à propos de PM2.5 et PM10 on peut lire :

Les particules grossières (fraction des PM10 de taille comprise entre 10 et 2,5 micromètres) retombent lentement. À titre d'exemple, la vitesse de chute d'une particule de diamètre aérodynamique de 10 µm est de 3 mm/s en air calme[, ce qui est faible par rapport à des courants d'air pouvant à tout moment les remettre en suspension. En l'absence de tout mouvement d'air, la durée de séjour dans l'air de ces particules grossières est de l'ordre de 1 jour.

 

Donc je devrais tout le temps voir de l'activité dans le capteur, ce qui n'est pas le cas.

 

Je continue les recherches


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#5 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 09 octobre 2019 - 03:13

J'ai moi aussi compris que les particules fines qui ne sont pas très fines sont détectées. Par contre, tout ce qui est "gros" (poussière, ...) l'est également.

Je n'ai pas ce capteur, mais je suppose que le seul "grove dust sensor" est celui-ci : http://wiki.seeedstudio.com/Grove-Dust_Sensor/ (pour les prochaines fois, pense à mettre un lien vers les capteurs pour lesquels tu cherche de l'aide).

 

J'ai peut-être trouve une explication de ton problème dans le document de reverse-ingenering donné tout en bas du lien précédent : https://github.com/S..._TracyAllen.pdf

 

En gros, une résistance chauffe l'air pour le faire circuler. L'air passe alors à travers un faisceau de lumière infra rouge. Lorsque qu'une particule se trouve dans le faisceau, elle fait dévier la lumière. Si par hasard celle-ci parts dans la direction de la photodiode, alors celle si deviendra plus conductrice, ce qui générera une tension (d'autant plus importante que la particule est grosse je pense).

Cette tension sera ensuite filtrée par 2 passes hautes et 2 passes bas (si je me suis pas trompé, on obtiens un passe bande d'ordre 2 assez sélectif, avec une transmission maximale vers 6Hz, et une bande passante de quelques hertz (vu à quel point les pôles sont proches, il faudrait faire les calculs détaillés pour avoir la bande passante exacte)).

La sortie de ce filtre est alors comparée à un seuil fixe : si elle est supérieure, alors la sortie P1 vaut 0V.

 

Donc si j'ai bien compris, ce que ce capteur mesure vraiment, c'est l'amplitude des variations de la lumière déviée par les particules dans une fréquence proche des 6Hz. Il ne s'agit donc pas d'un comptage de particules tels quels (sinon il s'agirait de compter les pulses au lieu de mesurer des durées puis d'y appliquer un polynôme de degré 3). En particulier, si la lumière déviée est insuffisante (pas assez de particules et/ou particules trop petites), alors rien ne sera détecté car on ne dépassera pas le seuil).

 

 

Si ces hypothèses sont exactes, alors il est possible que les particules fines >1µm ne soient détectées qu'en haute concentration et/ou avec les bons réglages.

 

En regardant les schémas électriques, il semble y avoir 3 moyens d'augmenter la sensitivité (et donc de mieux détecter les particules fines) :

- augmenter la résistance variable VR3 : celà permet d'augmenté la tension produite a ses bornes par les variations de courant de la photodiode

- augmenter la résistance variable VR1 : cela permet d'augmenter le gain du filtre donc l'amplification du signal

- utiliser l'entrée threshold et la sortie P2 au lieu d'utiliser l'entrée P1 : tu peux ainsi déterminer toi même l'amplitude du signal à partir de laquelle tu obtiens une tension de 0V en sortie.

 

Attention : toutes ces méthodes cassent la calibration en usine ; si tu veux des résultats quantitatifs (et pas seulement qualitatifs), alors il faudra recalibrer. Dans ce cas, je te suggérerais de ne pas toucher à VR1 et VR3, et à utiliser le threshold : de cette manière, tu pourra faire la calibration en te basant sur les valeurs données par la sortie P1.

Si tu tiens à jouer avec VR1 et VR3, alors je te conseille de faire de petites marques pour te souvenir de leur position initiale.

 

Pour le threshold, une tension de 1V correspond à ce que tu obtiens pour P1. Par défaut, le threshold est obtenu par un pont de tension entre 2 résistances de 82k, donc vaut 2.5V. Si tu veux le modifier, soit tu peux rajouter une résistance R entre threshold et GND (tu aura alors Vthreshold=5V/(2+82k/R)  ), ou alors tu peux y brancher une alimentation stabilisée à la tension de ton choix (entre 0 et 5V), ou alors tu peux utiliser un diviseur de tension entre le 5V et GND à condition d'utiliser des résistances beaucoup plus petites que 82k (si tu utilises des résistances de moins de 1k, tu devrais être tranquille)



#6 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 14 octobre 2019 - 12:27

Merci Sandro, ton explication est très clair. Je ne pense pas prendre le risque pour le moment de modifier les paramètres. Je vais continuer à faire des observations. Si vraiment les résultats sont aléatoires alors j’essaierais de modifier la sensibilité. Effectivement c'est le http://wiki.seeedstudio.com/Grove-Dust_Sensor/.

 

D'ailleurs je voudrais m'affranchir de mon ordinateur et de batterie pour faire des mesures. Voici ce que j'ai imaginé:

arduino.jpg

 

Compte tenu du fait qu'il n'y a qu'un pin 5V, savez-vous comment je peux alimenter l'écran SCD ?

Et avez vous des recommandations sur le type d'écran? si possible un qui ne consomme pas trop d'énergie.

 

 


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#7 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 14 octobre 2019 - 02:03

Pour la sensibilité, tu peux l'augmenter en utilisant la sortie P2 (à condition créer une tension adaptée sur le pin threshold) : en faisant ça, tu ne modifie en rien le comportement de la sortie P1 (tu peux même utiliser les deux en même temps en adaptant ton code). Si tu veux de l'aide pour implémenter cette méthode, c'est avec plaisir.

 

Pour ce qui est du 5V, ton problème est que tu n'as qu'un seul pin 5V sur l'arduino alors que tu as deux appareils à brancher qui demandent du 5V. C'est bien ça?

Si oui, il y a plusieurs solutions :

- utiliser un des deux autres pins 5V présents sur l'arduino : il y a 2 pins 5V mâles (et non femelle comme le pin 5V "normal") dans les headers ICSP (cf https://www.teachmem...pinout-diagram/ )

- faire un cable en Y : soit tu soude les 3 brins ensemble, soit tu en mets un d'un coté d'un domino et deux de l'autre

- tu mets un cable du 5V de l'arduino vers une breadboard (platine d'essai), et de là tu fais partir 2 fils vers le capteur et vers l'écran



#8 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 105 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 14 octobre 2019 - 02:07

Les solutions proposés par Sandro pour le 5V sont très bien et même préférable par rapport à ce que je vais dire mais juste pour le mentionner , une autre solution possible dans certains cas :  si ton capteur consomme vraiment très peu tu peux l'alimenter via un pin de ta arduino au lieu d'utiliser le pin 5V ce qui laissera le pin 5V libre pour le LCD... 

Si tu veux un écran qui consomme vraiment peu tu as les ecran e paper, le même type de ceux qui sont utilisés pour les liseuses. 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#9 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 14 octobre 2019 - 03:43

Pour le branchement sur une pin d'entrée sortie pour obtenir le 5V, ce n'est PAS possible pour ton capteur (il consomme 90mA en standby, alors qu'une pin d'entrée/sortie de l'arduino supporte au maximum 40mA (il est conseillé de ne pas dépasser 20mA).

 

Sinon, je viens de voir que tu as dessiné une pile bloc 9V en guise de batterie : il faut bien faire attention à prendre une batterie rechargeable 9V et pas une pile. De plus, sauf si tu ajoute un régulateur de charge, il faut aussi t'assurer que la tension de ton panneau solaire ne dépasse JAMAIS la tension maximale de la batterie (qui n'est pas forcément vraiment 9V, à vérifier en fonction de ta batterie)



#10 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 15 octobre 2019 - 11:43

Bonjour, 

 

Merci pour vos contributions. Je vais faire le Y je pense. Pour les écrans, le e paper est un peu cher. Je vais donc partir sur un comme celui ci :

https://www.amazon.f...la-635866555344

 

J'ai regardé dans la boutique Robot Maker, mais ils semblent plus compliqué à mettre en place (je ne saurais pas sur quel PIN se brancher). Et pour la batterie c'est celle la :

https://www.robot-ma...erie&results=39

 

 @Sandro merci pour la proposition pour régler la sensibilité, est-ce que tu crois que le gain de précision pourrait etre important?


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#11 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 15 octobre 2019 - 12:26

Bonjour,

pour l'écran sur amazon, est-ce que tu as trouvé un document indiquant quels octets ils faut envoyer à l'écran pour afficher ce que tu veux? Car une communication I2C, c'est simple pour les branchements, mais c'est quasi impossible de deviner quoi envoyer si tu n'as pas la documentation, un tuto ou une librairie.

 

Pour la batterie, à priori ça m'a l'air correct. En revanche, il faut la charger avec du 5V, donc tu ne peux pas y brancher directement un panneau solaire : soit tu rajoute un régulateur 5V, soit tu prends une power-bank avec panneau solaire, soit tu recharge "à la main" en branchant ta batterie à un chargeur USB ou à un powerbank normal.

 

Pour la sensitivité, difficile à estimer jusqu'où on peut aller (ça dépend du bruit dans le circuit). Si je devais deviner, je dirais qu'on devrai pourvoir détecter une lumière 10 fois plus faible. Après, ça ne coûte pas grand chose de tester (si tu as un starter kit arduino par exemple, je pense que tu devrais déjà avoir ce qu'il te faut)



#12 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 15 octobre 2019 - 12:40

Hello, 

 

Merci pour ta mise en garde, il y un lib sur le site du fabriquant Sunfounder.

Voici un extrait de ce que l'on peut faire:

 

lcd.setCursor ( 0, 0 ); // go to the top left corner
lcd.print(" Hello,world! "); // write this string on the top row
lcd.setCursor ( 0, 1 ); // go to the 2nd row
lcd.print(" IIC/I2C LCD2004 "); // pad string with spaces for centering
lcd.setCursor ( 0, 2 ); // go to the third row
lcd.print(" 20 cols, 4 rows "); // pad with spaces for centering
lcd.setCursor ( 0, 3 ); // go to the fourth row

lcd.print(" www.sunfounder.com ");

 

Donc ca devrait aller.

 

Pour la sensibilité tu m'as convaincu. Je vais mon petit montage et on en reparle !

 

Merci encore pour ton aide


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#13 Sandro

Sandro

    Habitué

  • Membres
  • PipPip
  • 168 messages
  • Gender:Male

Posté 15 octobre 2019 - 12:45

Ok, si tu as une librairie compatible, alors c'est tout bon.

 

Pour la sensitivité, est-ce que tu as une platine d'essais et un jeu de résistances?



#14 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 105 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 15 octobre 2019 - 03:01

Sur la boutique je vends la même chose à un peu moins cher =) 

Module I2C : https://www.robot-ma...le-lcd-i2c.html

Ecran LCD grand : https://www.robot-ma...an-lcd-420.html

 

9.30 € les deux ensemble

 

Et si tu veux moins cher avec un écran plus petit : 

Ecran LCD petit : https://www.robot-ma...an-lcd-420.html

 

Sur demande je peux te souder les deux ensemble sans frais avant de te les envoyer ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#15 Larti

Larti

    Membre occasionnel

  • Membres
  • Pip
  • 115 messages
  • Gender:Male

Posté 15 octobre 2019 - 03:39

Hello,

 

@Sandro il doit m'en rester ! Je vais regarder

@Mike avec plaisir ! C'est commandé !


Ma chaîne sur les Robots: https://www.youtube....75VzrqV_dx0LhgA

Ma chaîne sur des trucs comme ci, comme ca : https://www.youtube....HNUfcQ/featured

Ma chaîne sur les jeuxvideo/zombies : https://www.youtube....ZOPgwqq9NHxlY9Q

 

 


#16 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 105 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté hier, 02:21

Ton colis est bien parti hier avant la levée du courrier =)

 

La librairie que j'utilise pour l'écran LCD : 
Fichier joint  LiquidCrystal_I2C-master.zip   20,09 Ko   1 téléchargement(s)

 

tu prends l'exemple de base fournit avec la lib ça marche directement. 

Pour les branchements tu as que 4 fils à brancher : 

 

Masse et 5V pour alimenter 

et les deux fils SDA et SCL pour la communication I2C.

Pour une uno / nano 

SDA => A4 
SCL => A5 

 

Enjoy ! =)

 

( J'ai testé l'écran avant de te l'envoyer après l'avoir soudé  ;°) )

20191016_115313_021.jpg


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users