L’asservissement du moteur

7 octobre 2012

 Asservissement en couple

L’idée :

En contrôlant précisément le couple d’un moteur, il est possible d’atteindre plus rapidement la vitesse désirée. On se souvient aussi que le courant qui traverse le moteur est globalement proportionnel au courant qui le traverse. Le microcontrôleur pouvant mesurer une tension mais pas directement un courant, une faible résistance est installée en série avec le moteur, entre la sortie du pont en H et la masse.

 Première mesure

On mesure le courant toutes les millisecondes. Les valeurs ne sont pas encourageantes... Alors que le voltmètre annonce une tension stable, nos mesures à basse vitesse donnent un courant quasiment tout le temps nul mais avec des pics irréguliers à 1 ampère.

 Avec l’oscilloscope

Le courant est périodique, mais il présente une forme plutôt perturbée. On aperçoit un premier hachage du au signal de commande. En augmentant la fréquence du hacheur, on pourrait espérer que la bobine du moteur lisse cette perturbation. Malheureusement, notre hacheur ne supporte pas de fréquence de hachage supérieure à 40 kHz.


Courant perturbé par le hacheur (1,25 A par carreau en vertical, 50 µs par carreau en horizontal)

Notre PIC envoie un signal à modulation de largeur d’impulsion dont la fréquence est de 11 kHz. Si c’est le hacheur qui nous perturbe, on devrait voir une perturbation toutes les 90 µs. Et c’est le cas !

L’autre perturbation vient du moteur. Il semble qu’on observe un pic de courant à chaque fois que le rotor change de paire de pôle qui l’alimente.


Perturbations liées aux poles (0,25 A / 2 ms)

On observe une perturbation toutes les 2 millisecondes. D’un point de vue électrique, 2 millisecondes est un temps relativement grand, surtout pour une perturbation. Nous cherchons donc une explication qui viendrait du côté de la mécanique.

Nous utilisons un codeurs couplé à l’axe du moteur. Ce codeur renvoie 200 impulsions par tour. Entre deux perturbations, nous comptons 33 impulsions du codeur. Nous avons donc une perturbation tous les 1/6e de tour.

D’après la fiche technique du moteur, ce moteur possède 3 paires de pôles. On a donc 6 changements d’alimentation du rotor par tour de moteur. Ce sont donc les passages d’une paire de pôle à l’autre qui perturbe le courant de notre moteur.

 Conclusion

Le courant est trop irrégulier pour que l’on puisse s’en servir pour asservir le moteur en couple.
D’autre part, la rapidité avec laquelle le courant évolue indique qu’il faudrait grandement augmenter la fréquence des mesures et des calculs pour espérer obtenir un gain dans le temps de réponse du moteur. Il n’est pas dit que notre microcontrôleur soit assez rapide.
Cependant, nous devrions être capable de surveiller le courant et détecter un courant trop important, synonyme de dysfonctionnement.

 Asservissement en vitesse

Depuis les premiers tests de la cartes, nous transmettons au PC le nombre d’impulsions reçue par milliseconde.

En faisant un premier test d’asservissement en vitesse, moteur à vide, avec un simple gain entre l’erreur et la commande, nous obtenons de très bons résultats. L’erreur est suffisamment faible pour ne pas être mesurable (rappelons que notre précision en vitesse - en échantillonnant à 1 ms - n’est pas terrible).

 Asservissement en position

Vu que l’asservissement en vitesse semble fonctionnel, nous pouvons l’utiliser pour réaliser un asservissement en position.

Nous calculons l’erreur de position, la multiplions par un gain et l’injectons comme consigne de vitesse.

Nous demandons au moteur de faire un demi tour en avant, d’attendre, puis de faire un demi tour en arrière.

Les résultats sont presque là. Le moteur fait exactement ce qui lui ai demandé, mais en le laissant tourner plusieurs minutes, on s’aperçoit qu’il se décale légèrement.

Est-ce un problème de l’asservissement ou de la partie mesure de la position ? En demandant à la carte de renvoyer la position du moteur, nous observons que le moteur est vu à la bonne place. C’est donc dans la partie de mesure du déplacement que nous avons un problème.

Commentaires

PF, le 21/11/2014

Bonjour,

Je m’intéresse au contrôle de moteur en couple par asservissement du courant.
Dans votre article "
L’asservissement du moteur
Asservissement en couple", vous écrivez :

"On observe une perturbation toutes les 2 millisecondes et on relève 17 impulsions par millisecondes. "

Voulez vous dire que la perturbation est composée de 17 impulsions ?

Pensez vous que cela serait possible de filtrer le signal de perturbation à la période de 2 ms, et de tenter un asservissement en courant malgré tout ?

Bien cordialement,

Paul-François Doubliez

Keuronde, le 22/11/2014

Bonjour,

Je m’aperçois que ce passage n’est vraiment pas clair, je vais tenter de le ré-écrire.

Pour répondes à vos questions, dans cet article, j’appelle perturbation un pic de tension aux bornes de la résistance qui permet d’estimer l’intensité traversant le moteur. J’observais un pic de tension toute les 2 millisecondes.
Afin de déterminer à quoi étaient dues ces perturbations, j’ai regardé les informations renvoyées par un codeur incrémental fixé sur le moteur. Je relevais 17 impulsions du codeurs par seconde. Un chiffre qui colle parfaitement avec les 200 impulsions par tour que renvoie le codeur et les 3 paires de pôles du moteur.

Concernant l’opportunité de filtrer le signal, je ne me suis pas aventuré dans cette voie. Le but de l’asservissement en couple était d’améliorer les performances de l’asservissement en vitesse qui allait être implémenté au dessus. Le temps de réponse du filtre aurait du être de l’ordre de 20 ms (10x le temps de la perturbation la plus lente) au minimum. Mon asservissement en vitesse tournait toutes les 1 ms (ou 10 ms).

Bref, l’observation de ces perturbations a suffit à arrêter mon projet. Ceci ne veut pas dire qu’un filtre et un asservissement en couple ne se justifient pas dans d’autres conditions.

Bien cordialement,

Keuronde

Ajouter un commentaire

Pseudo :
Mail :

Texte :

Copyright "POIVRON" 2011-2023, tous droits réservés
Administration du site