Joseph Hamel
Joseph HAMEL
Joseph Hamel Joseph HAMEL Joseph Hamel Joseph HAMEL Joseph Hamel Joseph HAMEL Joseph Hamel Joseph HAMEL
Joseph Hamel

Les chapitres

Prélude
Introduction
Plan

I Lexique (PDF 6,1 Mo)


II Description de mes orgues
L'Univers des petits orgues

Orgue n° 1
Orgue n° 2
Orgue n° 3
Orgue n° 4
Orgue n° 5
Claviorganum ou Clavecin organisé

III Fabrication
Tuyaux
Sommiers
Claviers
Transmission
Soufflerie
Soufflet à membrane
Réflexions sur ces instruments
Tailles et dimensions

IV Éléments techniques pour la mise en œuvre d'un "ventilateur intelligent"
1. Moteurs et contrôleurs
2. 1er circuit de test
3. Utilisation d'un capteur de distance
4. Régulation proportionnelle
5. Régulation P.I.D.
6. Téléchargement des programmes

Audio
Contact
Quelques liens

 

 

3. Un second montage qui fonctionne avec la réserve d’air et permet :
- Le Démarrage automatique du moteur du ventilateur
- La mesure de la hauteur de la réserve d’air
- Une réaction sur la vitesse du moteur pour contrôler la hauteur de la réserve d’air.

Yves Monfort

 

Joseph HamelJoseph Hamel3.1 Second programme : fichier CommandeNo1.txt.

Joseph HamelJoseph Hamel3.2 Test de la réalisation.

Joseph HamelIl apparaît déjà dans cette réalisation un début de régulation de la hauteur de la réserve d’air. Bien que cette régulation soit des plus élémentaires, dans l’environnement d’un orgue de « petite dimension », elle a déjà donné satisfaction.
Joseph HamelLe point qui diffère principalement de la réalisation précédente est la tension utilisée pour commander la vitesse de rotation du moteur du ventilateur. On utilisait un potentiomètre, maintenant on utilise un capteur optique de distance.

 

Joseph Hamel

 

Joseph HamelComme le potentiomètre, il reçoit une connection de 3 fils : la tension basse de 0 volt et la tension haute de 5 volts font son alimentation. Il fournit en sortie une tension analogique. Le capteur que l’on utilise est le modèle Sharp GP2Y0A41SK0F. Il fonctionne dans l’infrarouge. Lorsqu’un obstacle est placé devant lui, sa tension de sortie varie de quelques dixièmes de volts à grande distance jusqu’ à 3 volts environ pour de faible distance. La grande distance pour ce capteur est de l’ordre d’une trentaine de centimètres, et la tension de sortie maximale apparaît à 3 centimètres environ. Ces distances conviennent bien à l’application envisagée, bien que la variation de tension de sortie ne soit pas linéaire en fonction de la distance.

Joseph HamelDans cette application le capteur est donc connecté au module Arduino à la place du potentiomètre de l’application précédente. Sa tension de sortie est mesurée par la broche A0. Il faut envisager deux possibilités :

Joseph Hamel- Premier cas : le capteur optique est placé sur le côté de la réserve d’air. Par l’intermédiaire d’un levier, un obstacle (par exemple, une petite plaquette blanche mat) se lève en même temps que la réserve d’air se gonfle, et s’éloigne du capteur. C’est le cas de la photographie que présente Joseph Hamel quand il présente la soufflerie de son orgue. La tension de sortie du capteur est forte quand la réserve est basse, plus faible quand elle se gonfle. Le module Arduino doit alors commander une forte puissance au moteur quand la tension de sortie du capteur est forte pour que la réserve se gonfle. Il doit diminuer cette puissance au fur et à mesure que la tension du capteur diminue, et la hauteur de la réserve d’air devrait se stabiliser.

Joseph Hamel- Second cas : le capteur optique est placé au-dessus de la réserve d’air, comme le représente la photographie d’un dispositif qui permet d’expérimenter les réalisations décrites ici. Alors la tension de sortie du capteur augmente quand la réserve d’air se gonfle. Pour que le niveau de la réserve puisse se stabiliser, il faut cette fois que le module Arduino inverse le sens de sa commande du moteur : forte puissance moteur pour une faible tension de sortie du capteur, puissance qui diminue quand cette tension augmente.
Le programme implanté dans la mémoire de l’Arduino en tiendra compte.

Joseph HamelUne question importante se pose : à quel niveau le haut de la réserve d’air va-t-il se stabiliser ? On peut répondre que c’est presque imprévisible tant que des essais en situation n’ont pas été effectués.

Joseph Hamel

À nouveau deux choix sont envisagés :
Joseph Hamel- Premier choix, le programme reste le même que celui de la réalisation précédente et le capteur optique remplace directement le potentiomètre. Il faut évidemment une modification du sens de la commande vers le moteur si le capteur produit une tension de sortie qui augmente quand la réserve se gonfle. En réalisant l’expérience, la réserve d’air devrait se stabiliser à une certaine hauteur. Si la hauteur de convient pas, il faut monter ou descendre la position du capteur par rapport à l’obstacle dont il mesure la distance. La hauteur de la réserve d’air devrait suivre, si le ventilateur est assez puissant, jusqu’à ce que le réalisateur soit satisfait.

Joseph Hamel- Second choix, la position du capteur est fixée d’avance. Il est probable que la hauteur de stabilisation de la réserve d’air ne soit pas celle qu’on espérait. On peut alors prévoir dans le programme de commande de l’Arduino un décalage dans la commande de puissance du moteur pour amener la hauteur de la réserve d’air à la hauteur désirée, sans devoir modifier la position du capteur. (Il vaut mieux tout de même que la distance obtenue finalement reste dans le domaine de bonne sensibilité du capteur optique Sharp choisi, c’est-à-dire entre 8 et 12 centimètres environ).

C’est ce second choix qui est fait dans la description de cette réalisation. Le schéma électrique du montage est présenté ici.

Joseph Hamel

 

Joseph HamelPour que le décalage sur la commande de puissance soit accessible facilement, c’est par l’intermédiaire d’un potentiomètre que l’on fait varier ce paramètre. Le point milieu du potentiomètre est relié à l’entrée analogique A1. Le programme de l’Arduino vient aussi mesurer cette tension et il décale en plus ou en moins la tension du capteur optique mesurée sur l’entrée analogique A0.

C’est ce simple ajout qui apparaît sur le schéma de montage et sur la platine d’essai de cette réalisation no1.

Joseph Hamel

Il y a aussi un condensateur de quelques dizaines de nanofarads (ici 33 nF) qui est apparu sur la broche de tension de sortie du capteur optique. On l’a ajouté par précaution car le fil de liaison entre la platine d’essai et le capteur optique est de plusieurs dizaines de centimètres et véhicule quelques parasites électriques venant de l’environnement. Le condensateur est destiné à les atténuer.

 

Joseph Hamel3.1 Second programme : fichier CommandeNo1.txt.

On retrouve la fonction appelée mesures() qui se charge de mesurer la tension du capteur de distance et lui associe la variable distance. Elle mesure la tension provenant du potentiomètre de hauteur et lui associe la variable offset. La plage de valeur de la variable est celle du convertisseur analogique numérique : de 0 à 1023. On la recentre sur le milieu de la plage en faisant l’opération (offset – 512) et finalement on obtient la variable distance_utile = distance+offset qui prend en compte la mesure du capteur de distance et le décalage que l’on demande. C’est la valeur de distance_utile qui est transmise à la fonction faire_pulse() qui a le rôle de générer l’impulsion de 1 à 2 millisecondes transmise au contrôleur du moteur.

A la fin de la fonction mesures() il faut trouver les lignes qui se présentent de la façon suivante :

/************************************************/
/************************************************/
dist_utile = 1023 - dist_utile;
/************************************************/
/************************************************/

 

Ainsi présentée la régulation fait diminuer la puissance du moteur quand l’obstacle entrainé par la hauteur de la réserve d’air s’approche du capteur optique. C’est cette configuration qui présentée sur la photographie précédente.

Si le dispositif utilisé entraine un obstacle qui s’éloigne du capteur quand elle se gonfle il faut annuler cette ligne en la mettant en commentaire (ajout de //) sous la forme suivante :

/************************************************/
/************************************************/
// dist_utile = 1023 - dist_utile;
/************************************************/
/************************************************/

 

Joseph HamelAvant d’entrer dans la phase de régulation, le programme passe par 2 phases de démarrage automatique du moteur.
Joseph HamelLa première phase permet de passer la sécurité présente sur la plupart des contrôleurs de moteurs brushless pour modèles réduits. Pendant cette phase caractérisée par la variable flag_demarre = 1, le programme envoi pendant 6 secondes des impulsions de durée minimale au contrôleur pour lui laisser le temps de faire sa phase d’initialisation. Le contrôleur émet normalement un signal sonore pendant la durée de cette phase.
En entrant dans la seconde phase, avec encore la variable flag_demarre = 1, le programme envoie progressivement des impulsions de plus en plus longue au contrôleur pour assurer un démarrage progressif du moteur. En même temps il mesure les tensions de sortie du capteur de distance et du potentiomètre de décalage. Quand la valeur de la durée des impulsions atteint celle qui est associée à la mesure, la valeur de flag_demarre = 0, et le programme passe dans la phase de fonctionnement normal. C’est une boucle de durée infinie où le module Arduino qui commande le contrôleur demande une puissance qui augmente si la réserve d’air se dégonfle et, à l’inverse une puissance qui diminue si la réserve d’air est trop haute. Ceci permet d’obtenir une certaine régulation du niveau de la réserve d’air.

 

Joseph Hamel3.2 Test de la réalisation.

Joseph HamelEn suivant la méthode déjà expliquée, on implante dans le module Arduino le programme de cette réalisation à partir de l’un des deux fichiers : CommandeNo1.txt ou CommandeNo1_bref.txt. Le premier contient beaucoup de commentaires, le second très peu, mais le programme implanté dans le microcontrôleur est le même.

Joseph HamelSi nécessaire, ne pas oublier de modifier la ligne qui détermine le sens de la régulation avant d’effectuer la programmation.
La platine de test peut être réalisée comme elle est présentée sur la photographie. Après avoir débranché la connection USB de programmation,le capteur de distance et la liaison « 3 fils » du contrôleur du moteur y sont connectés.
Joseph HamelPour le premier essai, par précaution, il vaut mieux tourner le potentiomètre de décalage de hauteur pour que son point milieu soit du côté 0V.
Joseph Hamel
Ce qui correspond au niveau le plus bas de la régulation de hauteur de la réserve d’air. Maintenant on branche l’alimentation de puissance : la batterie de 12 volts dans le test présenté. On patiente 6 secondes pendant lesquelles le contrôleur doit émettre son signal sonore si tout est correct.
Joseph HamelEnsuite on attend encore quelques secondes. Le moteur peut démarrer lentement, ou même pas du tout. Alors on tourne doucement le potentiomètre de décalage de niveau vers le côté +5V. Le moteur doit accélérer et le niveau de la réserve d’air augmenter progressivement. On laisse le potentiomètre à la position qui correspond à celle que l’on désire. Le réglage est terminé.
Joseph HamelSi l’alimentation est coupée tout s’arrête. Au prochain branchement il n’y a plus rien à faire. L’initialisation du contrôleur, la phase de démarrage progressif du moteur sont automatiques, et le niveau de la réserve d’air augmente pour s’arrêter au niveau qui a été réglé.
C’est le comportement obtenu dans les tests réalisés. La photographie précédente montre en fonctionnement la réserve d’air utilisée pour la mise au point. Pour prendre cette photographie, la platine de test est posée sur la réserve d’air, mais ce n’est évidemment pas une position recommandée !

Joseph HamelOn peut s’arrêter à ce niveau si le résultat est satisfaisant. Cependant, dans bien des cas, il ne l’est pas. C’est dû au fait que ce programme n’introduit aucun gain dans la boucle de régulation (c’est-à-dire, aucun facteur multiplicatif sur l’écart entre la position réelle de la réserve d’air et la position désirée).
Joseph HamelCeci peut se caractériser par une mise en puissance trop faible du moteur quand l’appel d’air de l’orgue est important. La réserve d’air diminue beaucoup et la pression aussi : le gain de la boucle de régulation est trop petit. Inversement le gain de la boucle de régulation peut être trop fort. Il se manifeste alors une oscillation du niveau de la réserve d’air, accompagnée de la même variation périodique de la vitesse du moteur.
Joseph HamelCes comportements ne sont pas acceptables. Une troisième réalisation va être présentée qui permettra d’ajuster le gain de boucle afin d’obtenir une régulation dite « régulation proportionnelle ».

Cliquez ici pour lire la suite.

 

Joseph Hamel

Joseph Hamel

• www.lartdunfacteurdorguesamateur.fr • 

Joseph Hamel