Comment mesurer le niveau d'un réservoir d'eau avec un microcontrôleur?
Comment mesurer le niveau d'un réservoir d'eau avec un microcontrôleur?
Réponses:
Eh bien, en supposant que vous opérez ici sur terre (plutôt qu'en orbite), vous pouvez utiliser un capteur à flotteur que vous mesurez en utilisant le micro. La question est: avez-vous besoin de connaître le niveau exact, ou avez-vous simplement besoin d'une sorte de voyage quand il atteint le niveau haut / bas?
Sur le thème `` voyage à un niveau spécifique '', vous pouvez obtenir des commutateurs comme celui-ci - généralement, le flotteur contient une sorte de commutateur de détection d'attitude. Lorsque le niveau d'eau est plus bas, le flotteur se retrouve sur le côté et l'interrupteur est sur «off», tandis que l'élévation du niveau force le flotteur à la verticale, et donc «on». Ils sont souvent utilisés pour les pompes de puisard. Ils sont assez fiables et très faciles à manipuler, mais vous devez faire attention à les ancrer correctement, et vous devez être sûr que rien ne gêne le flotteur.
Si vous avez besoin de connaître le niveau réel, vous avez beaucoup de choix, mais c'est moins simple. Vous pouvez aller avec quelque chose comme un capteur à ultrasons (faisceau d'ultrasons tirant du haut du réservoir pour réfléchir le niveau de l'eau).
Ces gars-là semblent faire des indicateurs de niveau pour les gros réservoirs qui se composent d'un flotteur et d'un poids externe câblés ensemble. Lorsque le flotteur monte et descend sur le fluide, l'indicateur externe se déplace de manière appropriée. Vous pourriez construire quelque chose de similaire, sans rien de plus compliqué que des cellules photoélectriques pour lire le niveau (si c'est un grand réservoir, ou si vous voulez beaucoup de granularité, vous auriez besoin de beaucoup de cellules photoélectriques).
Alternativement, en prenant l'idée du flotteur câblé, vous pouvez mettre une roue folle qui se déplace chaque fois que le câble se déplace, puis y attacher un encodeur. Cela vous permettrait de suivre le niveau avec une précision assez élevée.
Je sais que le livre à paraître prochainement Practical Arduino comprend un projet de capteur de profondeur de réservoir d'eau , qui utilise un transducteur de pression différentielle pour mesurer la pression de l'eau au fond du réservoir, et à partir de cela pour calculer le niveau de remplissage du réservoir.
Les schémas sont sur le lien ci-dessus, avec un lien vers le code source sur github.
(Divulgation complète: je n'ai aucun lien avec le livre, mais j'ai rencontré l'un des auteurs à quelques reprises dans nos hackerspaces locaux.)
Une méthode que j'aime, mais que je n'ai pas essayée, c'est de mettre deux plaques isolantes dans le liquide. Aucune condution, électrolose, contanimation ....... Ils forment les plaques d'un bonnet. et sont utilisés dans une sorte d'oscillateur (à vous de choisir) Parce que l'eau est une bonne dialectique, la fréquence dépend fortement de la quantité d'eau entre les plaques. Mesurez la fréquence pour obtenir la profondeur.
Vous pourriez être en mesure d'obtenir un résultat similaire en appliquant un signal alternatif et en mesurant le courant à travers le capuchon.
Plus de détails aideraient, mais je pense que la méthode par ultrasons est probablement la plus simple, conceptuellement, de toute façon (d'où le besoin de plus de détails: -]). J'ai jeté ensemble un capteur de niveau pour le réservoir de mazout dans mon sous-sol à l'aide d'un transducteur à ultrasons MaxSonar. Je passe à un capteur Parallax Ping, dès que je peux en mettre un sur mes mains. L'unité MaxSonar s'est avérée quelque peu pénible; se révèle qu'il n'a qu'une résolution d'un pouce (2,54 cm), ce qui équivaut à près de 7 gallons dans mon réservoir. J'ai mis l'unité MaxSonar dans un capuchon en PVC en haut du réservoir pointant vers le bas (hors de portée du liquide).
Une façon de le faire est de placer une led en bas du réservoir pointant vers le haut et une photodiode en haut du réservoir, face à la LED. La LED sera atténuée par l'eau dans le réservoir, vous devrez expérimenter pour déterminer combien. En outre, il est préférable de prendre une série de mesures rapides et de les calculer en moyenne lorsque vous utilisez cette méthode.
Il existe un nombre surprenant de façons de vérifier le niveau. Il existe des capteurs qui utilisent la RF, envoyant une impulsion dans un guide d'onde et détectant la réflexion sur la surface du liquide dans le réservoir. Il y a des ultrasons, des flotteurs, des tubes à bulles, des prises de pression ... La méthode utilisée dépend de la taille du réservoir, du contenu, de l'environnement ambiant et d'autres facteurs.
Je suis surpris de toutes les solutions électroniques compliquées ici, j'utiliserais un simple potentiomètre. La plupart des micro-contrôleurs ont un i / p analogique de base.
+V
-----
|
|
/
\
/<----------> to analog i/p
\
|
|
-----
GND
Utilisez un flotteur de valve de réservoir d'eau standard (il peut déjà y en avoir un). Le problème restant est de coupler le flotteur au pot pour obtenir un swing maximum (vous pouvez également utiliser un pot coulissant).
|-|
| |
|o| <--------Slider pot.
|||
|||
|
| <--------Coupling.
|
____ |
(float)----------o-----o <--Anchor point of float.
----
Approche la plus simple
Placez un petit tube dans un coin du réservoir qui est légèrement plus grand en diamètre qu'une balle de ping-pong.
Placez une LED infrarouge sur un côté du tube et une photorésistance à l'opposé de la LED (en perçant un trou dans le tube de c'est opaque ou en le plaçant à l'extérieur si c'est transparent). Collez à chaud les pièces électriques pour les imperméabiliser et déposez la balle de ping-pong dans le tube.
Lorsque le niveau d'eau monte ou descend au point que la balle de ping-pong brise le faisceau infrarouge, vous saurez qu'elle atteint le niveau souhaité. Cela fonctionne si vous avez juste besoin d'un indicateur de niveau discret (marche / arrêt).
Ce système est également utilisé dans les pistolets de paintball conçus pour vous empêcher de couper des balles en garantissant que la balle entière est dans la chambre de tir avant de permettre à la gâchette électronique d'armer le solénoïde de tir.
C'est simple, efficace et nécessite peu ou pas d'étalonnage.
Mes deux cents: http://www.circuitstoday.com/simple-water-level-idicator
Une approche plus intelligente: Profitez de la plus grande conductivité thermique de l'eau (fluide). L'idée est d'avoir un capteur de température et de mesurer la différence de son auto-échauffement lorsqu'il est immergé et lorsqu'il est à l'air libre.
Une autre solution (sans jeu de mots);
Utilisez un potentiomètre comme suggéré ci-dessus. La plage de rotation normale est de 270 degrés. Fixez un flotteur au potentiomètre à l'aide d'un bras de flèche. (longueur = 1 unité)
Entre plein et vide, le bras de la flèche se déplacera de 90 degrés.
L'ADC sur un PIC est de 256 ou 1024 étapes (oui, zéro est une étape).
Je vais utiliser 256 étapes pour plus de clarté.
270 degrés = 256 étapes ADC. 270/90 = 3 (un tiers de la plage du potentiomètre)
255/3 = 85 étapes ADC
Programmer un code pour marquer le point 0 degré (réservoir vide) lorsqu'un bouton est enfoncé.
Cela stocke un point de décalage dans l'eeprom PIC. Maintenant, le potentiomètre n'a pas besoin d'être exactement à zéro car ce point d'étalonnage peut être réglé.
À l'aide de la trigométrie, calculez une table de recherche (indice: script php) pour correspondre à chaque étape de l'ADC.
Astuce: chaque étape ADC correspond à 90/85 = 1,0588 degrés.
Oui, vous auriez dû faire plus attention en cours de mathématiques. stupide perte de temps à l'époque, indescriptible maintenant. engager le cerveau. apprendre la trigonométrie. enseigner aux autres.
Acronyme: le vieil arabe portait un lourd sac de foin.
L'hyponténuse est la longueur du bras de la flèche. Faites-en 1 unité de long. Le tableau de recherche fournit ensuite le pourcentage de la profondeur du réservoir. (multiplier par 100 bien sûr)
Veuillez vérifier le lien suivant:
http://www.edgefxkits.com/contactless-liquid-level-controller
Je pense que cela peut vous être utile.