• Aucun résultat trouvé

moteur_pas_a_pas derivs integre tension

Constructeur

91

permettre très facilement l’étude d’un autre moteur ayant des caractéristiques mécaniques et électriques différentes, sans avoir à se replonger dans les détails du code source.

Par ailleurs le programme de simulation permet de traiter par lot de nombreuses simulations pour lesquelles on a choisi la fréquence comme paramètre. Il a donc logiquement fallu introduire la fréquence comme paramètre de la fonction ChoiseOfSystem.

III.4 Section.cpp

Ce fichier contient les différentes fonctions nécessaires à l’interfaçage E/S du programme. On y trouve la fonction section dont le rôle est d’enregistrer dans un fichier les valeurs simulées des courants Iα et Iβ. Cette fonction est facilement modifiable pour sauvegarder par exemple les valeurs de la position et de la vitesse angulaire. A ce jour ces données ne sont pas sauvegardées uniquement pour des questions de taille de fichier, sachant que nous ne les traitons pas pour le moment. Les fichiers ainsi créés sont ensuite analysés à l’aide de programmes écrits sous Matlab.

On trouve également une autre fonction lecture qui permet de relire un fichier au format texte. Ce fichier contient les données de traitement par lots nécessaires à la simulation. Ce fichier peut être modifié ou créé à l’aide de n’importe quel éditeur de texte comme par exemple Notepade sous Windows ou ed ou Emacs sous Unix. On doit trouver dans ce fichier les données numériques suivantes séparées par un espace :

o Nombre de points à simuler par période, o Nombre de périodes à simuler hors transitoire, o Nombre de périodes transitoires à éliminer, o Fréquence initiale de la simulation, o Incrément de fréquence de simulation, o Nombre de fréquences à simuler.

Remarque importante :

Le nombre de points à simuler doit nécessairement être une puissance entière de 2. En effet ce nombre de points sert à déterminer le pas d’intégration 1

NbPoints

h= .

Si NbPoints n’est pas une puissance de 2 alors h ne peut pas être codé de manière exacte en binaire. Le calcul de l’instant d’intégration se faisant en incrémentant à chaque itéré l’instant précédent de h, il se trouve que l’erreur commise provoque très rapidement une divergence de comportement de notre système. Aucune précaution particulière n’est prévue dans le code source pour contrôler le choix convenable du nombre de points à simuler par période.

92

IV Résultats

Les résultats obtenus peuvent être synthétisés par le diagramme de bifurcation de la figure suivante. Le programme fonctionne parfaitement et surtout il nous fournit des résultats avec des temps acceptables, puisqu’il faut environ une heure pour simuler un tel diagramme là où il faudrait compter avec Matlab plus de 600 heures.

Figure : Diagramme de bifurcation simulé par pas de 0,1 Hz. Pour chaque fréquence il a été retenu 250 périodes à partir de la 5000ième.

Une rapide analyse de ce diagramme de bifurcation nous permet d’observer pour des fréquences de commande inférieures à 53Hz environ, une dynamique périodique classique bien connue, de période égale à la fréquence d’alimentation. C'est le domaine classique d’utilisation du moteur pas à pas.

Par contre, lorsque la fréquence de commande augmente, nous voyons apparaître des dynamiques complexes avec, par exemple, des périodicités élevées comme c’est le cas aux alentours de 54Hz ou de 60Hz.

Nous voyons également apparaître sur ce même diagramme des zones denses comme par exemple autour de 55Hz. Ces zones peuvent suivant les cas correspondre à des dynamiques quasi périodiques ou chaotiques.

L’analyse systématique qui sera effectuée dans le chapitre 5 permettra de préciser quelle est la nature exacte de cette dynamique.

Cependant, ces premiers résultats de simulation nous conduisent d’ores et déjà à une conclusion très importante. Les dynamiques étranges et complexes que l’on observe expérimentalement sur le moteur pas à pas

93

ne constituent pas la manifestation d’épiphénomènes mal identifiés ou négligés. En effet, même en simulant un modèle volontairement simplifié à l’extrême, comme celui établi au chapitre 2, on constate le même type de comportements atypiques. On peut donc en conclure que ces dynamiques chaotiques constituent une propriété intrinsèque du moteur pas à pas.

Cela présente de lourdes conséquences pour la suite de notre étude, essentiellement constituée d’une approche expérimentale. En effet, si l’on admet la remarque précédente, le moteur pas à pas présentant une dynamique chaotique, en présentera également toutes les propriétés. Parmi celles-ci, notons la forte sensibilité aux conditions initiales ainsi que la forte sensibilité au bruit. En conséquence, il nous semble vain de chercher à faire correspondre rigoureusement les observations expérimentales et les résultats de simulation, de même qu’il serait également vain d’essayer de raffiner à l’extrême le modèle dans l’espoir d’y parvenir. On ne peut attendre des simulations que des tendances et c’est en ce sens que nous les utiliserons dans la suite

V Conclusion

Dans un premier temps, nous avons exposé dans ce chapitre les raisons essentielles qui nous ont conduits à éviter les logiciels de calcul numérique classiques tels que Matlab pour effectuer les simulations de la dynamique du moteur pas à pas, et ce malgré leurs atouts incontestables (simplicité, prototypage rapide, etc, …).

Nous avons ensuite présenté les nombreuses difficultés auxquelles on se heurte lorsque l’on veut simuler une dynamique chaotique (erreur d’arrondi, de troncature, format de représentation des nombres, conditions initiales, temps de calcul, conformation du modèle, etc…) ainsi que les solutions retenues.

Les résultats obtenus sont tout à fait probants puisque nous sommes maintenant en mesure de simuler le fonctionnement sur des durées très importantes, sans divergence notable de la dynamique et surtout avec des temps de calcul très raisonnables. Il faut environ 48 heures sur un PC pour simuler le fonctionnement du moteur sur la plage de 40 Hz à 80 Hz par pas de fréquence de 0,01 Hz, en calculant 256 pas par période et 20000 points par fréquence, soit un peu plus de 20.109 intégrations. En comparaison, une simulation du même type réalisée avec Matlab pour l’étude de la même plage de fréquence au pas de 0,1 Hz, en ne calculant que 2000 périodes par fréquence et 100 pas par période demande un peu moins de 600 heures sur une machine de même puissance.

En disposant d’un outil de simulation écrit en langage de haut niveau comme le C++, nous avons également pu utiliser d’autres plateformes de calcul que les architectures PC. Nous avons en particulier profité des ressources informatiques du CRIHAN qui grâce à son calculateur vectoriel nous a permis d’effectuer des calculs massifs et de valider plus rapidement nos algorithmes.

C’est ce moteur de simulation rapide et fiable que nous avons utilisé dans le chapitre 6, pour tester quelques algorithmes de contrôle de la dynamique chaotique du moteur pas à pas.

Enfin puisque ce programme simulant le modèle « simple » du moteur pas à pas établi au chapitre 2 laisse apparaître des dynamiques chaotiques suivant les plages de fréquence de commande, nous pouvons valider l’affirmation suivant laquelle ces dynamiques chaotiques constituent bien des propriétés intrinsèques du moteur et non pas les manifestations imprévisibles d’épiphénomènes négligés ou mal modélisés.

94

95