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

Connectez un capteur à votre Raspberry Pi pour vous avertir de la présence de gaz nocifs !

Pour détecter un pet avec le Raspberry Pi, nous devons utiliser un capteur sensible à un ou plusieurs des composés sulfuriques volatils qui constituent 1% des flatulences (c'est-à-dire les composés qui font sentir les pets). Essentiellement, nous devons donner un nez au Raspberry Pi. Le capteur recommandé pour ce projet est le Figaro TGS2600. Lorsque l'air pénètre dans le capteur, il est alimenté par un petit élément chauffant qui permet de mesurer sa résistance électrique. Cela se fait en faisant passer un faible niveau d'électricité à travers un petit espace d'air sous tension. Plus l'air est contaminé, moins il a de résistance et mieux il conduira l'électricité (comme une résistance variable). La sortie du capteur est donc une tension analogique qui monte et descend en fonction de la pollution de l'air. Plus il y a de contaminants, plus la tension de sortie est élevée.

Analogique vs numérique

Nous devons également comprendre que le capteur de qualité de l'air nous donne un signal analogique et la différence entre un signal analogique et un signal numérique. Les signaux numériques sont essentiellement binaires :1 ou 0; Allumé ou éteint. Les signaux analogiques, d'autre part, ont toute la plage entre activé et désactivé. Pensez à un volant de voiture :le volant est analogique car il y a une gamme complète de direction disponible pour le conducteur. Vous pouvez diriger très doucement dans un long virage, vous pouvez tourner le volant à fond ou n'importe où entre les deux. Si vous vouliez diriger une voiture numériquement, vous auriez essentiellement un verrouillage complet à gauche et un verrouillage complet à droite uniquement.

Lecture d'un signal analogique avec un appareil numérique

Le défi auquel nous sommes confrontés est de pouvoir lire un signal analogique sur un ordinateur numérique. Les broches GPIO du Raspberry Pi peuvent être utilisées comme entrées ou sorties. Le mode de sortie est utilisé lorsque vous souhaitez fournir une tension à quelque chose comme une LED ou un buzzer. Si nous utilisons le mode d'entrée, une broche GPIO a une valeur que nous pouvons lire dans notre code. Si la broche est alimentée en tension, la lecture sera 1 (ÉLEVÉ ); si la broche était connectée directement à la terre (pas de tension), la lecture serait 0 (FAIBLE ). Les broches sont donc numériques, n'autorisant que 1 ou 0 .

comment pouvons nous résoudre ceci? Une façon serait d'utiliser une puce ADC (convertisseur analogique-numérique), qui convertirait la tension analogique du capteur en un nombre numérique dans notre code. Cependant, vous n'auriez besoin d'utiliser un ADC que si une lecture vraiment précise du capteur Était demandé. En pratique, on veut juste déclencher une alarme lorsqu'un pet est détecté, pour que tout le monde puisse courir ! Donc si vous y réfléchissez, ceci est une détection numérique. Il est un pet ou il n'y a pas pet :activé ou désactivé, binaire 1 ou 0. Nous n'avons pas à nous soucier de la fidélité analogique provenant du capteur de qualité de l'air.

Nous savons déjà que le capteur est comme une résistance variable :plus la qualité de l'air est mauvaise, plus la résistance est faible et plus la tension est élevée. Logiquement, lorsque le capteur entre en contact avec un pet, la tension de sortie devrait augmenter. Par conséquent, nous avons juste besoin de détecter ces pics de tension et cela peut être fait numériquement. Nous pouvons faire en sorte que lorsqu'un pic se produit, une broche GPIO passe de BAS à HAUT ; nous pouvons alors détecter ce changement dans notre code et jouer un fichier sonore d'alarme !

Le seuil haut et bas

Comment le Raspberry Pi sait-il si une broche GPIO est HAUT ou BAS ?

La réponse à cette question fait en fait partie de notre solution. Les broches GPIO fonctionnent à 3,3 volts. Donc, si vous définissez une broche sur HAUT en mode de sortie, cette broche donnera/fournit 3,3 volts. Si vous le réglez sur la sortie LOW, cependant, il sera connecté à la terre mais pourrait former le chemin de retour pour terminer un circuit.

En mode d'entrée, les choses fonctionnent légèrement différemment. Vous pouvez supposer que la lecture de la broche serait HAUTE si elle était connectée à 3,3 volts et BAS si elle était connectée à la terre. Il existe en fait un seuil de tension qui se situe quelque part autour de 1,1 à 1,4 volts. Au-dessous du seuil est FAIBLE et au-dessus, il est ÉLEVÉ ; ainsi, par exemple, 1,0 volt indiquerait LOW, bien qu'il y ait réellement une tension là-bas, tandis que 1,6 volt indiquerait HIGH, bien que cela soit bien inférieur à 3,3.

Si nous utilisons des résistances pour amener la tension de sortie du capteur de qualité de l'air à juste en dessous ce seuil, alors le pic causé par un pet le fera basculer de BAS à HAUT, et nous avons notre détection de pet numérique.

Câbler le capteur de qualité de l'air

Il s'agit de la vue de dessous du capteur de qualité de l'air. Les numéros de broche ont les fonctions suivantes :

  1. Chauffage (-)
  2. Électrode de capteur (-)
  3. Électrode de capteur (+)
  4. Chauffage (+)

Il y a donc deux circuits distincts que nous devons adapter. Le premier est le chauffage (broches 1 et 4) qui sert à dynamiser l'air, et l'autre est le capteur lui-même (broches 2 et 3). Le côté sortie (-) du capteur est l'endroit où nous connecterons nos résistances. Prenez la planche à pain et poussez les quatre broches du capteur à l'intérieur, de sorte qu'il chevauche l'espace central comme indiqué ci-dessous. Vous devrez peut-être plier un peu les broches, mais cela n'endommagera pas le capteur. Assurez-vous que la petite languette est dans la même orientation que celle illustrée.

important s'il vous plaît lire
Le schéma ci-dessus montre un Raspberry Pi modèle B, si vous utilisez un B+ ou le nouveau Pi 2, les 26 premières broches GPIO sont les mêmes sur toutes. Vous pouvez donc utiliser les mêmes broches comme indiqué par les schémas.

Le capteur peut fonctionner sur 5 volts, mais nous allons le faire fonctionner sur 3,3 volts ici, car il est plus sûr de l'utiliser avec une entrée GPIO. Utilisez les cavaliers pour effectuer les connexions orange illustrées ci-dessus ; cela fournira 3,3 volts aux broches 3 et 4 du capteur (les deux électrodes positives). La couleur du fil que vous utilisez n'a pas d'importance. Ensuite, connectez la borne négative (-) du radiateur directement à la terre comme indiqué ci-dessus par les fils noirs.

Nous devons encore faire quelque chose avec le côté négatif du capteur, rangée 1 dans le coin supérieur droit de la maquette.

Câbler la goupille de déclenchement

Arrêtez le Raspberry Pi, s'il n'est pas déjà éteint, en entrant ce qui suit :

sudo halt 

Débranchez l'alimentation pour l'instant ; nous le rebrancherons plus tard.

Ensuite, connectons la sortie du capteur à l'une des broches GPIO :ce sera la broche de déclenchement que nous surveillerons dans notre code pour voir si un pet s'est produit. Utilisez GPIO 4 pour cela. Prenez un cavalier et effectuez la connexion blanche illustrée ci-dessous.

Ensuite, prenez une résistance de 47 kΩ (les résistances sont codées par couleur pour vous aider à les identifier) ​​et connectez-la entre la sortie du capteur et la terre comme indiqué ci-dessus. Cela siphonnera une partie de la tension provenant de la sortie du capteur, pour aider à la ramener à la région de 1,1 à 1,4 volt du seuil GPIO pour notre broche de déclenchement. Cette résistance unique ne sera cependant pas suffisante pour faire le travail, alors lisez la suite.

Construire un DAC à échelle de résistances

Le problème que nous avons maintenant est que malgré l'ajout de la résistance de 47 kΩ, le capteur de qualité de l'air a une plage de tension de sortie assez large. 0 volt serait ce que nous trouverions dans le vide, tandis que le maximum 3,3 serait ce que nous verrions d'un terrible pet silencieux mais mortel. Selon la qualité de fond de l'air, la tension de sortie du capteur peut se situer n'importe où dans cette plage. Nous avons donc besoin d'un moyen fiable pour toujours ramener cette tension juste en dessous du seuil GPIO, dans différentes conditions de qualité de l'air.

Pour ce faire, nous avons besoin d'un autre résistance variable, afin que nous puissions faire varier la quantité de tension que nous siphonons à la terre. Nous pourrions utiliser un potentiomètre pour cela, mais vous auriez toujours besoin de le régler manuellement sur l'air ambiant avant de pouvoir l'utiliser. Ce n'est pas idéal si vous voulez tendre le piège et attendre une victime sans méfiance. La qualité de l'air ambiant peut changer naturellement entre-temps et déclencher l'alarme sans un pet. Gênant.

Ce serait beaucoup mieux d'avoir le contrôle de cela depuis notre code. Ensuite, nous pouvons le programmer pour continuer à s'adapter à la qualité de l'air de fond, et le piège n'aura pas besoin d'intervention manuelle si la qualité de l'air change.

Une astuce astucieuse que nous pouvons utiliser ici est l'échelle de résistance. C'est là que nous avons un ensemble de résistances répétitives que nous pouvons activer et désactiver indépendamment dans notre code. Si chaque résistance a une valeur différente en ohms, nous pouvons en utiliser différentes combinaisons pour nous donner quelque chose se rapprochant du comportement d'une résistance/potentiomètre variable.

La théorie

Cette prochaine section peut sembler un peu ennuyeuse, mais les sujets abordés vous aideront énormément à comprendre le projet, je vous conseille donc de ne pas la sauter !

Le schéma ci-dessous schéma montre comment une échelle de résistances serait connectée au capteur de qualité de l'air TGS2600. La tension de sortie du capteur sort du numéro de broche 2 , et celui-ci est connecté au GPIO 4. Cependant, entre cela, nous avons plusieurs endroits où nous pouvons siphonner la tension pour amener la tension au seuil de la broche GPIO selon les besoins.

Jusqu'à présent, seuls les 47kΩ R0 est présent sur votre maquette, qui est câblée directement à la terre. Les autres résistances (R1 à R4 ) sont chacun connectés en parallèle à une broche GPIO différente. Cela nous donne un contrôle numérique sur l'activation ou la désactivation de chaque résistance. Si nous configurons la broche GPIO pour utiliser INPUT ce mode désactive la résistance, car la broche GPIO n'est connectée en interne à rien. Cependant, si nous le définissons pour utiliser OUTPUT mode, puis pilotez la broche LOW, cela connectera la résistance à la terre et une certaine tension sera siphonnée à travers elle.

Une note sur les résistances parallèles. La résistance totale de l'échelle n'est pas la somme de toutes les résistances qui sont allumées. Ce serait le cas si vous câblez les résistances en série, cependant ; c'est parce que la tension devrait traverser chaque résistance à tour de rôle. En parallèle, le flux de tension se divisera également entre chaque résistance et l'effet est que la résistance totale est inférieure . Ainsi, plus nous activons de résistances, plus la résistance totale sera faible et plus la tension sera siphonnée à la terre.

Étant donné que l'échelle est contrôlée numériquement en allumant et en éteignant les résistances, mais affecte une tension analogique du capteur, le circuit peut être appelé un convertisseur numérique-analogique ou DAC pour faire court. C'est le contraire de l'ADC mentionné précédemment.

Idéalement, nous devons faire varier la résistance de manière linéaire et disposer d'un bon nombre de combinaisons marche/arrêt possibles qui s'adapteront à la plage de tension de sortie du capteur de qualité de l'air. Considérez ce qui se passerait si toutes les résistances avaient la même valeur en ohms ; combien d'uniques possibles des combinaisons de valeurs de résistance pourraient-elles exister ?

Pour plus de détails :Connectez un capteur à votre Raspberry Pi pour vous avertir lorsqu'il y a des gaz nocifs !


Processus de fabrication

  1. Enregistreur de température Raspberry Pi
  2. Station météo Raspberry Pi
  3. Capteur à ultrasons (HC-SR04) + Raspberry Pi
  4. Capteur de mouvement utilisant Raspberry Pi
  5. Capteur d'humidité du sol Raspberry Pi
  6. Transformez votre Raspberry Pi en un moniteur d'activité pour hamster
  7. Capteur de température et de luminosité Raspberry Pi
  8. Contrôle du capteur et de l'actionneur Raspberry Pi
  9. Comment connecter un capteur à ultrasons Lego Mindstorms NXT au Raspberry Pi