Commande sinusoidale des moteurs sensorless


Un excellent document de Power Electronics Technology sur la commande sinusoidale Field Oriented Control ( FOC ) ou commande vectorielle des moteurs .

http://powerelectronics.com/power_management/motor_power_management/power_sensorless_motor_control/index2.html

Sensorless

Etude sur le controle des moteurs de machine à laver, pilotées par des moteurs synchrones à aimants permanents avec rotor à l’extérieur comme les moteurs de VAE.

http://powerelectronics.com/mag/606PET20.pdf

L’objet de ce document, est d’expliquer l’intérêt de la commande sinusoïdale sur les moteurs synchrones triphasés, et comment elle est la réalisée sur les moteurs sensorless ( sans capteur hall qui indique la position exacte du rotor ).

Parmi les raisons évoquées : un meilleur rendement, la réduction des oscillations de couple, et la réduction du bruit.

Je découvre ce domaine , au fur et à mesure de mes lectures, puisqie je n’ai jamais eu l’occasion de travailler sur des machines synchrones à vitesse variable. et essaye de comprendre pour pouvoir le refaire : ça ne m’interesse pas d’utiliser un logiciel que je ne maitrise pas et un système dont je ne comprend pas les principes.

Une autre représentation de l’algorythme ci dessus, plus proche de la réalisation..

Les diverses boites pourraient être réalisées avec des composants électroniques ( amplis OP ) capables de faire des sommes , des différences et des intégrales et autres fonctions, mais c’est encore plus simple en informatique et il est plus simple de changer les divers paramètres ( gain etc ), et d’ajouter des branches. Mais aussi plus simple pour tester les différents modules ( boites ).
Sur un montage électronique une capa de 22 nf prend moins de place qu ‘une de 63 micro c’est génant pour changer la valeur d’un coeff en numérique ça pren un ou deux mots mémoire, et on fait toute la plage., en occupant la même place et sans rien désouder ni ressouder et on change de valeur en plein vol..

De même pour faire un générateur sinusoïdal triphasé avec une table sinus ou cosinus, qu’avec des capas et des résitances… qui ne fonctionneront bien que pour une fréquence précise.

Pour passer au triphasé, il suffira de se décaler de 120° et 240° dans la table..qui ne fait que 90°, mais on procède par symétrie par rapport à 90° et on inverse la valeur pour les valeurs au dessus de 180 °

Pour les principes de la régul PID ( Proportionnel Intégral Dérivée ) voir un article ( à venir ).

En calcul numérique avec un microproc qui fait de l’échantillonage : mesures à des intervalles réguliers ( mesure discrète ) , c’est le dt des équations intégrales et dérivées.

En math il a une valeur théorique proche de zéro, en numérique ce sera la durée de l’intervalle entre deux mesures.

La dérivée d’un signal, c’est la différence entre deux échantillons de mesure de ce signal.. ( pour cette période d’échantillonnage qu ‘il faut adapter au problème..

L’intégrale est la somme de ces écarts au fur et à mesure. On ajoute l’acart à la somme ( le terme I) précédente.Si l’écart est posotif l’intégrale croit, si l’écat devient négatif , l’intégrale diminue )

Une somme ou une différence se fait très bien à mach 2 en assembleur, alorsque si on écrit l’équation en langage évolué le nombre d’instruction serait énorme, et à grande vitesse le microproc n’aurait pas le temps de faire ses divers calculs..

Puis on peut affecter des coefs à la valeur intégrale proportionnelle et dérivée.

Ces coefs du PID , déterminent la réactivité du système, mais aussi sa stabilité..

il y a trois méthodes pour déterminer ces coefs :

– le calcul pur et dur
– la simulation
– le pifomètre et par tatonnements. :))

Comme les erreurs de calculs sont fréquentes, parfois énormes, la dernière méthode lorsqu’ on peut faire des essais n’est pas à jeter.

Ces coeffs nécessitent l’emploi de mots en double longueur : le premier mot représente ce qui est avant la virgule : chaque bit à un poids de 1, 2, 4, _, etc, en allant vers la gauche ; la partie après la virgule, les poids sont de 1/2 , 1/4, 1/8, etc en se déplaçant vers la droite. Parfois le premier est le bit de signe qui est répété.

L’avantage de la double longueur est qu ‘on peut faire les opérations d’addition en double longueur en utilisant les registres.. Tous les processeurs n’ont pas la virgiule flottante, une autre façon d’écrire les nombres reels.

Celà permet de faire des calculs très précis, avec des coefficients qui valent 0, 0057 par exemple, ou 3,14159 😉

La transformée directe et inverse de Clak, on a les équations :

On passe d’un système triphasé ( trois vecteurs ) à un système monophasé ( un vecteur : le champ tournant ).

A la fin des calculs , le résultat est sorti sur un seul mot de 16 bits : un arrondi au bit de poids faible.

Si la mesure est sur une plage de seize bits, l’erreur sera moindre que si la mesure occupe une plage de 6 bits.

Dans cet exemple il expliquent que pour la précision ( puisqu ‘on travaille avec des différences très faibles entre mesure et consigne de vitesse pour piloter le système, il faut coder la consigne et la mesure de vitesse sur seize bits. Ca ne signifie pas qu’on va rouler à 32 000 km/h ou faire tourner le moteur à 32 000 tours minutes.


Implementation Issues
Designers must face several practical considerations when
implementing the control algorithm in fixed-point hardware.

    fixed-point par opposition à la virgule flottante

The most important decision is the selection of control-vari-
able scaling, which must allow a good dynamic signal range
while avoiding calculation overfl ow
. The resolution of the
digital-to-analog interface circuits could define the control-
variable scaling, but this does not ensure numerical stability
of the control-loop functions.

    Fixed control-variable scaling
    simplifies the design of the control-loop functions with the
    minor additional complexity of the feedback-gain scaling

.
Since velocity is a user input, its scaling requires the
highest resolution
. To define the velocity scaling for a 16-
bit platform, the maximum operating drive speed is set to
equal +16383(~214
), which allows 1 bit of headroom in case
of overshoot.
The velocity value that the rotor-angle estimator calcu-
lates is the change in rotor-angle count in every control-loop
cycle. The scaling of this value depends on the loop sample
rate, the number of motor poles and the maximum rotor-angle count
.

The feedback-gain scaling is then the ratio
of 16384 to the angle-estimator output at the maximum
operating speed.

Similarly, the current-variable scaling is defined by setting
the name-plate-rated motor current equal to +4095 (~212
)
counts.
This allows sufficient headroom for the current
controller to operate the motor in short-term overload
.

The gain of the current-feedback circuits depends on the cur-
rent-sense resistor values, the buffer amplifi ers’ gains, and
the ADC’s input range and resolution. The current-sense
resistor is also useful for protection.
The value selected should trip the power inverter before
the motor current reaches its demagnetization limit. The
buffer amplifier’s gain defi nes the operating range of cur-
rent-control loop since the ADC will saturate when the input
signal is out of range. The resolution of the vector-rotation
block, which requires all inputs to be in the 11-bit-plus sign
range, sets the voltage scaling in the case of this hardware
implementation.

The actual voltage scaling is a function of the maximum
voltage count and the dc-bus voltage. However, the dc-bus
voltage can change with either input ac voltage or the load,
and so a bus-voltage measurement contributes to the scal-
ing calculation.

Rien de compliqué, c’est classique. mais si en langage évolué , le complilateur travaille avec des nombres géants, en assembleur, mais aussi à caude du hard il faut définir sur combien de bits on travaille et ne pas faire déborder les résultats des calculs.. Parfois il suffit de modifier l’ordre des calculs pour que le résultat tienne dans le registre 16 bits.. Comme il suffit d’un mauvais choix pour faire déborder les résultats intermédiaires..

Powers Electronics propose des outils logiciels pour mesurer les caractéristiques des moteurs et déterminer les coefficents du système de controle.

Ce qui signifie que le contrôleur est adapté à un moteur, et ne convient pas pour un autre..

Ici on donne une consigne de vitesse et on en déduit le couple pour accélérer progressivement jusqu ‘ à cette vitesse.

Dans le cas d’un VTT qui doit franchir des pentes raides, le schéma général de régulation de vitesse est à adapter. Cette régul PI ( proportionnelle intégrale ) avec asservissement sur la vitesse sera trop lente..

Dans la branche du couple , il faut ajouter la pente à gravir qui nécessite un couple supplémentaire directement proportionnel à cette pente.. Le couple pour « équilibrer le poids du vélo et du cycliste dans une pente. sinon le PI mettra trop de temps pour compenser l’effet de la pente, et pour réduire le couple lorsque la pente diminuera..

Pente facile à mesurer avec un gyroscope, qui coûte une vingtaine d’euros.

Un problème qui n’existe pas sur les machines à laver..

Rappel sur le couple dans les moteurs synchrones :

Pour comprendre la nécessité de connaitre la position du rotor par rapport au champ stator ( angle interne « téta ») , afin de poser notre sinusoïde sur la bonne position par rapport au rotor, pour conserver le couple maximum. Et en tenant compte de l’effet de l’inductance L du bobinage qui entraine un déphasage entre le U stator et le I stator ( Phi ) à ne pas confondre avec l’angle interne ).

En réalité c’est le L oméga, et ce qu ‘on applelel la réaction d’induit. Autrement dit ça change selon la vitesse, d’où la complexité de ces calculs pour la commande FOC d’un moteur sans capteur Hall.

cas 1 : moteur fonctionnant à fréquence fixe alimenté par le secteur :

( synoptique à venir )

cas 2 : moteur à fréquence variable.

Analyse du synoptique :

1 Boucle fermée de controle de vitesse

En entrée on a la consigne de vitesse : Target speed donnée par la position de la poignée ( dans le cas d’un VAE )

ici c’est une machine à laver et pour l’essorage on ne passe par une rampe, pour monter progressivement en vitesse. Pour l’instant on va oublier la rampe, mais on pourrait en mettre une pour ne pas mettre le moteur au taquet, pour les nerveux de la poignée de gaz.

Mais on aurait pu faire une rampe à deux pentes pour avoir une palge de vitesse réduite sur la première partie de la poignée , pour mieux doser la vitesse dans les situations délicates ( 0 à 5km/hh ) sur la première plage 30 % et les 70 % pour 5 à 40 km/h.

Ce n’est pas un moteur de bagnole où on commande le papillon des gaz, c’est une consigne de vitesse et le couple va s’adapter pour atteindre cette vitesse, sauf si ça dépasse les limites du moteur.

La consigne rentre sur l’entrée + d’un opérateur ( le rond gris avec la croix blanche )

Sur l’entrée du sommateur on ramène la « vitesse estimée » ( estimée car elle est reconcstituée par calculs, on a pas de capteur mécanique de vitesse ).

Lorsque la vitesse est égale à la consigne on à 0 à sa sortie qu’on appelle l’écart , et donc à l’entrée du régulateur PI ( ici on a pas besoin de D la dérivée, reservée à la régul de grandeurs qui varient très lentement comme la température ).

La sortie du PID ne varie pas.

Si on augmente la consigne , le vélo va mettre un certain temps à atteindre la valeur de la consigne, et on aura en sortie de l’opérateur un signal positif.

La sortie du PI va augmenter

Inversement si on réduit la consigne de vitesse, on aura une valeur négative.

La sortie du PI va diminuer.

Vachement compliqué le sommateur.

Deux instructions machine pour charger un registre avec la valeur mémoire de la consigne de vitesse, et soustraire la mesure de vitesse.

La sortie de PI c’est la consigne de couple.

Pour augmenter la vitesse, il faut accélérer et augmenter le couple pour compenser les forces résitantes, mais surtout pour accélérer ( augmenter la vitesse de la masse à tirer )

Lorsque la vitesse augmente un peu , l’écart diminue. et à l’égaliteé l’écart est de zéro, ça ne peut pas être la consigne de couple.

Voir le topic sur les PID ( qui va arriver ssur les écrans :)) )

Le PI fait la somme des deux termes P et I.

En résumé le terme proportionnel du régulateur P ( écart x coeff P ) sera nul, mais tant que cet écart subsitait le teme intégral I du régulateur PI aura augmenté peu à peu ( selon la valeur du coef I ) et donnera une consigne de couple.

On se fout un peu de la valeur de cette variable calculée : est ce des Nm ou des Nm x 195 pour utiliser toute la plage , le système étant rebouclé ça s’équilibrera

Le terme P agit immédiatement, et le terme P qui agit dans le temps vient compenser leterme P qui s’annule lorsque l’écart entre la consigne et la valeur de la vitesse est nul.

En sortie du PI on a un système de limitation, parec que si on arrive pas à monter à la vitesse de la consigne , : une cote à 50 % parce que le moteur n’est pas assez puisant, l’écart ne sera jamais nu et le PI va continuer à monter..

En numérique quand on dépasse la valeur maxi du seize bits signé, la valeur passe brutalement à 0, puis continuera à évoluer si l’écart persiste..

Donc on limitera pour éviter ces dépassements de la sortie du PI.
comme il faut limiter le terme I à l’interieur du PI.

Par contre on pourra ajuster la limitation du couple à une valeur qui correspond à la réalité physique, et ne pas dépasser une certaine intensité dans le moteur.

On a notre consigne de couple Iqref ( le couple est proportionnel au courant ) .

2 Boucle fermée de controle de couple.

On a besoin d’une certaine valeur de couple pour arriver à la vitesse désiréee.

Mais on va mesurer le couple , et mettre un autre régulateur, car on ne maitrise pas complètement la valeur du couple, même avec la courant sinusoidal, car l’angle interne entre en scène : pour la mëme valeur de courant on a pas la même valeur de couple, selon la position du rotor par rapport au champ stator.

Ca ne sert à rien d’envoyer du courant lorsqu’on est mal positionné par rapport au rotor, et que son effet sur le couple est nul. On gaspille la batterie c’est tout.

idem on a un autre régulaateur PI, suivi d’une limitation

Sur l’entrée + de l’opérateur arrive la consigne de couple ( ou courant ) Iqref sortie de la boucle de vitesse.

Sur l’entrée arrive une autre valeur, calculée par une boite magique pour l’instant et qui est censée représenter une image du couple.

On décortiquera cette boite plus tard.

La sortie du PI de la boucle de couple Vq va augmenter et agir sur une grandeur, jusqu ‘à ce que Iq soit égal à Iqref.

Idem , en sortie on a une limitation de Vq.

3 Boucle de flux

à suivre…

Je pense qu ‘en décortiquant par morceaux , je vais arriver à capter l’astuce pour remplacer les sensors.. Ce schéma de regul signifiant qqchose pour moi..

Puis si on a un moteur avec sensors, c’est plus simple mais il y a des principes communs.;

Transformations des systèmes triphasés :

voir wikipedia , mais aussi..

http://stielec.ac-aix-marseille.fr/cours/didier/tst.htm

Les systèmes triphasés me rappellent un stage à Lyon en 78, avec un jeune prof un peu timide ( je cherche son nom…) mais qui maitrisait le sujet à donf. Un stage où on a vachement rigolé, malgré le coté prise de chou des systémes triphasés. Tous les soirs ou presque, on était en virée nocturne.

Mais je n’ai pas eu l’occasion de m’en servir dans les années qui ont suivi, aussi mes souvenirs dans ce domaine sont un peu vagues.

Super document sur la théorie des moteurs synchrones et de leur pilotage vectoriel.

Bien sur c’est un peu ardu, on ne capte pas tout à la première lecture, mais il y a tout, y compris la modélisation d’un moteur, ( celle des commandes aussi).

Là j’ai compris direct le passage triphasé monophasé.

Les courants des trois phases stator ( dont les enroulements sont décalé de 120 ° ) créent un champ tournant.

Comme l’aurait fait un un système diphasé ( avec des enroulements décalés de 90 °. )

Il s’agit de retrouver ce système monophasé qui donnerait la même valeur de champ et la même vitesse de rotation ( avec deux bobines décalées de 90 ° ).

Pourquoi ?

Le champ tournant du rotor est un système monophasé, qui crée un champ tournant B à la vitesse wt

On prend les deux composantes d ( directe : réelle : horizontale ) et q ( imaginaire : verticale

On représente ça en statique, car on se moque que les systèmes tournent , puis qu’ on ne considère que le décalage rotor stator, qui tournent à la même vitesse avec un certain décalage l’angle interne..

http://electrotechnique-couffignal.site2.ac-strasbourg.fr/site-php/cours2007/moteur-synchrone-autocommute.pdf

Synoptique réorganisé ( à terminer )

https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0ByLNmgk3UzV6YmU3ODI4MDMtNzAxYi00OGI3LTg2MGQtODVmNGRlNmIyMGU5&hl=en&authkey=CJTk34gJ

Avant d’aller plus loin dans l’étude des blocs , il faut un peu de théorie sur les moteurs synchrones et la transformation en système monophasé ( direct et transverse ), et la mesure du couple et du flux..

Voir article  » système triphasé ».

un autre doc : « Multon »

Publicités
Cet article a été publié dans Pilotage moteurs synchrones triphasés. Ajoutez ce permalien à vos favoris.

2 commentaires pour Commande sinusoidale des moteurs sensorless

  1. Julien dit :

    Bonjour,
    Je trouve ton article plutot interessant cependant quelques incompréhensions persistent. Pourrai-tu me renseigner sur comment détermine t’on la consigne Idref (est t-elle toujours nulle?) et sur la génération des signaux de commande des transistors en fonction de Valpha, Vbeta et la porteurse?
    Je te remercie d’avance.
    Julien

  2. jacqueline73 dit :

    Bonjour Julien

    Désolée de ne pas pouvoir répondre à ta question précise , je n’ai pas poursuivi mon incursion dans le domaine de la cde sinusoïdale.

    Par contre j’ai mieux capté ses avantages, on doit avoir un couple supérieur de 20 % à une cde trapézoïdale pour le même courant moyen. et réduire les ondulations de couple, qui favorisent le décrochage du moteur et sont une source de vibrations importantes.

    Les fabricants de Microprocs proposent chacun leur solution avec des kits de développement, et les logiciels de développement et des librairies..

    Je ne le sens pas de partir à l’aventure avec un microprocesseur et la théorie, plus la réalisation d’un circuit imprimé prototype, aussi je préfère passer par la case kit de développement.

    J’ai longtemps hésité entre Microchip et Texas Instruments.

    Texas annonce la sortie prochaine d’une carte 60 V 60 A, pour moteur triphasé.

    Il ne suffit pas de remplacer les MosFETS , par des plus puissants, la puissance de cde n’est pas toujours adaptée.

    Leurs cartes ont des dimensions réduites, ce qui permet de les utiliser directement comme contrôleur, même si c’est un peu plus large qu’un contrôleur basique ( mais ça finira probablement dans un top case avec la batterie ).

    La carte précédente qui fait l’objet d’un article sur le blog, manquait de puissance pour un VAE, aussi je préfère attendre la prochaine.

    L’autre avantage est que le processeur et leurs logiciels permettent de faire du monitoring sur le PC , ce qui évite de passer par la réalisation d’un oscilloscope et achat d’appareils de mesure divers et variés..

    La carte fera les trois types de commandes sur les PMSM :

    – trapez sensorless
    – trapez sensored
    – FOC

    et permettra donc d’évaluer les perfs de ces diverses commandes.

    J’attends donc la sortie de la prochaine carte de Ti et de toute sa doc , pour finir de plonger dans le chapitre « commande FOC sinusoïdale ».

    Entre temps, je me suis aperçue que les moteurs Outrunners, n’étaient pas tous aptes à une cde sinusoïdale, ils ont des schémas de bobinage assez curieux, pour élargir les possibilités de vitesse avec un stator donné, pour les adapter aux diverses hélices. Le nombre de pas rotor ne correspond pas toujours au nombre de pas stator ( règle de 2 aimants pour 3 bobines stator ) .

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s