Wiki PHY404_Instrumentation_Physique_Grenoble
S'inscrire
Advertisement

But du Projet

Le but de ce projet est de mesurer la vitesse du vent et sa direction afin de stopper les pales d'une éolienne, si celui-ci est trop fort on bloque les pales. La direction du vent permet d'orienter l'éolienne pour un rendement maximum.


Présentation du projet

Pour mesurer la vitesse du vent on va utiliser un tachymètre optique, une roue trouée entraînée par le vent tourne entre une photodiode et une DEL, pour obtenir le nombre de tours par minute de cette roue et donc la vitesse du vent on comptabilise les changements d'état de la photodiode avec l'arduino.

Pour mesurer la direction du vent on utilise une girouette attachée à un potentiomètre, en calculant la tension entre la borne d'entrée et la sortie du potentiomètre on peut en conclure la direction dans laquelle celle-ci est.

Cahier des charges

Un Arduino fournira une tension de 5 V au tachymètre et au capteur de direction du vent ainsi qu'aux deux servomoteurs.

Le tachymètre sera composé d'une DEL IR qui enverra un signal à une photodiode de l'autre coté de la roue, cette dernière trouée à intervalle régulière permettra donc lors de sa rotation la transmission ou non du signal de la DEL à la photodiode. En acquérant la tension avec l'arduino à la sortie de la photodiode nous saurons dans quel état cette dernière est: état haut pour réception du signal, état pas pour signal bloqué par la roue. Il est alors possible de travailler ce signal reçu et de le traduire en RPM, soit en mesurant la largeur d'une crête, soit en comptabilisant le nombre de changement d'états sur un temps donné. Si la vitesse de la roue est alors trop importante un servomoteur est actionné afin de stopper les pales de l'éolienne. Tant que cette vitesse est trop forte (donc vent trop fort) le servo continu de bloquer les pales, quand elle redescend dans un seuil tolérable le servo arrête de bloquer.

Le capteur de direction est composé d'un potentiomètre de 10kΩ fixé à la girouette, en lisant la tension à l'aide de l'arduino à la sortie (broche du milieu) on pourra connaitre la direction du vent, en effet si 0Ω correspond à 0° et 10kΩ correspond à 180°, par la linéarité du potentiomètre, si on lit une tension correspondante à une résistance de 5kΩ on sait que l'on sera à 90°. Afin d'éviter tout court circuit il faudra donc placer des résistances entre la broche à la masse et la masse de l'arduino. Une fois la direction de la girouette connue on actionne le servo pour diriger l'éolienne dans le sens du vent.

Capteurs nécessaires

La mesure de la vitesse du vent se fera par un tachymètre optique composée d'une DEL IR et d'une photodiode. La mesure de la direction du vent sera effectuée par une girouette attachée à un potentiomètre, en lisant la résistance directement avec l'arduino il est possible de savoir dans quelle direction la girouette est mais surtout dans quel sens et donc de fait on peut savoir dans quel sens "souffle" le vent.

Transducteurs nécessaires

Aucun transducteur n'est nécessaire, la tension que fourni l'arduino est suffisante pour alimenter les deux servo-moteur, le tachymètre optique et le capteur de direction.

Pour des soucis de fonctionnement le vent sera modélisé par un moteur donc on fera varier la tension d'entrée à l'aide d'un potentiomètre et d'un générateur externe. La roue permettant l'acquisition de la vitesse ne sera donc pas rattachée à l'hélice de l'anémomètre mais directement au moteur car in fine ce n'est pas l'hélice qui est importante mais l'acquisition de la vitesse. Il suffit juste de changer une ligne du programme pour passer d'un nombre de tours par minute à la vitesse du vent mais contrairement à l'acquisition des données, pour obtenir le RPM de la roue, ce n'est pas le but principal.

Besoins électriques

Le capteur optique a besoin d'une tension de 5V pour fonctionner, ce que peut fournir l'arduino, de plus les deux servomoteurs fonctionnent entre 3 et 7.2V donc l'arduino peut aussi leur fournir les tensions nécessaires.

Circuit final

Amplificateur opérationnel

Nous avions du faire face lors de l'acquisition du RPM à un problème de rebond qui influençait le nombre d'interruptions, ce problème a été réglé par l'ajout entre la sortie du capteur et la pin de l'arduino d'un amplificateur opérationnel: le LM393. Il s'agit d'un comparateur de basse tension que nous avons couplé avec une résistance et un condensateur, afin de créer un "retard" lors de la montée du signal (ou de la descente).   

AmpliOp

On choisi maintenant les valeurs de la résistance et du condensateur qui vont fixer l'intervalle minimale entre le début de la crête haute et la fin de cette meme crête, on prend comme intervalle de temps max 10ms ( soit une fréquence de 100Hz pour les trous ou 1000 RPM, ce qui est deja beaucoup pour une vitesse d'entrainement dû au vent). Afin d'être sûr que notre système fonctionnera à ces vitesses on prend le dixième de cette valeur, on a RC=1.10^-3, on choisi C=10.10^-9 et R=10.10^3.

Besoins Mécaniques

L'éolienne doit faire face au vent qui peut bouger, il faut donc créer un système qui permet à l'éolienne de faire une rotation sur elle-même, pour cela nous avons créé un système a engrenage directement relié à un servomoteur en prenant soin de garder le rapport d'engrenage afin q'un tour du servomoteur corresponde à un tour de l'éolienne.

Pour stopper les pales de l'éolienne nous avons opté pour l'utilisation d'un servomoteur accroché sur la paroi de l'éolienne, le système de frein est constitué d'une sorte de bielle pour transformer le mouvement circulaire du servomoteur en un mouvement rectiligne.

Arduino

L'Arduino UNO possède plusieurs sorties numériques. Ici la sortie D2 est utilisée pour l'acquisition du nombre de tours par minute, cette pin a été choisie en particulier car elle est une des deux sur le UNO permettant l'utilisation de l'interruption. On utilise ensuite les pin D5 et D9 pour contrôler les servos car ce sont des pin PWM. Enfin on utilise la pin analogique A5 pour récupérer la tension à la sortie du potentiomètre.

Programme Arduino

Capture d’écran 2017-05-11 à 15.26
Capture d’écran 2017-05-11 à 15.27
Capture d’écran 2017-05-11 à 15.28

Algorithme

Algo

Tests

Après test du dispositif de direction nous avons pu déterminer dans quel intervalle nous voulions que le potentiomètre bouge, ce dernier peut effectuer des rotations de -150° à +150°, le servo ne pouvant bouger que de -90° à +90° est dans l'élément qui restreint le mouvement: le potentiomètre ne devra bouger que de -90° à +90° pour permettre au servo de suivre le mouvement.

Nous avons vérifier les valeurs de l'arduino pour le RPM et manuellement celles obtenues avec l'oscilloscope

Mesures

Après test des deux servomoteur nous avons pu constater que ces derniers respectés les valeurs indiquées, de 0 à 180°.

Le potentiomètre peut effectuer une rotation de -120° à +120° contre une rotation de 0 à 180° pour le servomoteur, c'est donc ce dernier qui va limiter la variation maximum de l'éolienne. Lors du mapping il nous faut les coordonnées exacte à la fois du potentiomètre mais aussi du servo, pour cela on positionne le potentiomètre à -90° et on lit la tension reçu par l'arduino sur une de ses pin, on recommence mais avec un angle de +90°. Les valeurs serviront de minimum et de maximum pour l'écriture sur le servo. En tournant le potentiomètre à -90° on remarque que le servo n'est pas à -90° comme il devrait l'être, il a donc fallu le calibrer sur les bon angle comme le montre le programme. Pour calibrer le servo nous avons tout simple augmenter ou diminué manuellement les angles d'écriture jusqu'à obtenir les bonnes valeurs, ce qui nous donne :

Angle du potentiomètre Tension analogue Angle d'écriture
Min ( -90° ) 190 10°
Max ( +90° ) 907 175°

Problèmes rencontrés

Problème au niveau du calcul du RPM, soit la roue a trop de trou soit le programme ne fonctionne pas, à noter cependant qu'on observe des pics de fréquence très élevés quand on trace la tensions de la photodiode en fonction du temps avec des pic non identiques, on pourrait résoudre ce problème si la roue possède moins de trous.

Le problème rencontré à été résolu par l'ajout d'un amplificateur opérationnel en sorti du capteur, juste avant l'acquisition par l'arduino. Il semblerait que le problème vienne d'une oscillation lors de la montée du signal, provoquant plus d'interruption qu'il n'en faut et donc une mauvaise lecture du rpm. L'ampli op utilisé est un LM393, un comparateur de tension qui créé un "retard" lors de la monté du signal, évitant l'oscillation de ce signal.

Conclusion et améliorations

le but initial a été atteint, notre système mesure la fréquence de passage des trous et la direction du vent mais aussi agit en conséquence des acquisitions.

On peut cependant apporter quelques améliorations comme par exemple rendre le système autonome par l'ajout d'une batterie et d'un écran LCD. On pourrait aussi compléter mécaniquement le système en ajoutant une hélice, un frein ainsi qu'une girouette sur le potentiomètre. Enfin on pourrait miniaturiser le projet en utilisant un arduino nano par exemple, ainsi que d'apporter quelques modifications au niveau du programme concernant l'acquisition de la vitesse qui créé un retard de réponse du servomoteur quand le potentiomètre est tourné.

Présentation

Fichier:Présentation projet (3).pdf

Advertisement