La plupart de nos bancs de travaux pratiques du laboratoire disposent d’une interface graphique sur l’ordinateur permettant de tracer des courbes de mesure et modifier certains paramètres de pilotage. Il est possible d’élaborer une telle interface sous scilab assez facilement (voir TP2 Scilab) et nous vous proposons d’exploiter celle que nous avons mis au point. Important Avant de pouvoir exécuter le pilotage sous Scilab, il est nécessaire de programmer le microcontrôleur introduit lors de la phase de montage. Si c'est la première fois que vous utilisez le microcontrôleur, il est nécessaire d'utiliser un programmateur (coût de 100 euros environ) ou bien de demander à l'équipe de Démosciences de le faire pour vous. L'ensemble des programmes utilisés sont disponibles dans la rubrique Téléchargement, fichier Programmes_pic_pilotage_scilab.zip. Lancer le logiciel Scilab et cliquer sur Fichier/Exécuter puis choisir le fichier "pilotage_imprimante.sce" disponible dans la rubrique téléchargement. La fenêtre de l’interface avec l’imprimante s’ouvre et propose 4 sous-parties :
Une fois la mesure terminée, il est possible de visualiser les résultats en cliquant dans le menu Tracé sur la grandeur souhaitée. Penser à cliquer sur Déconnexion ou Quitter dans le menu pour libérer le port série à la fin d’un travail, sinon lors d’un prochain démarrage de l’interface, un message d’erreur apparaîtra. Mesure en boucle ouverteLa mesure en boucle ouverte doit permettre d’identifier expérimentalement le comportement de la chaîne d’action. Elle peut venir en complément d’une modélisation des composants à partir des documentations techniques.Choisir dans l’interface de pilotage de l’imprimante une commande en boucle ouverte de consigne 6 Volts et lancer l’acquisition sur 1s. Visualiser la vitesse. Les mesures permettent ici de modéliser raisonnablement le système par un 1er ordre de gain statique 90 (mm/s/V) et de constante de temps 0.1s. Il est alors possible de tracer la réponse du modèle théorique sous le logiciel Xcos (le module CPGE doit être installé préalablement). Dans scilab, ouvrir outils > Xcos. Placer les composants de façon à obtenir le schéma bloc suivant : Puis lancer la simulation. On constate que les courbes sont tout à fait similaires. ![]() Mesure en boucle ferméeLe modèle permet alors de prédire la réponse en boucle fermée. Compléter le schéma bloc par la boucle fermée et simuler le comportement attendu pour une correction proportionnelle.Les gains de l'adapteur et du codeur sont de 1/0.042 inc/mm. Le gain du hacheur est de 12/2044 V/inc Nous allons maintenant tester le paramètre du correcteur proportionnel sur l’imprimante. Dans l’interface de pilotage, choisir une commande en boucle fermée et entrer une valeur de consigne de 300 (mm/s). Choisir une correction proportionnelle de 20 (mettre le gain KI à 1 et KD à 0). Faire une acqusition sur 1s. On constate que la tête ne se déplace pas. Prendre alors une correction proportionnelle de 200. Le système est à la limite de la stabilité. La correction proportionnelle seule n’est pas suffisante pour assurer la précision et l’insensibilité aux perturbations. Passer à une correction Proportionnelle-Intégrale pour satisfaire les contraintes de précision, de stabilité et de précision. Choisir un gain Kp de 20, KI=500 et Kd=0.
A gauche la courbe obtenue par mesure et à droite la courbe obtenue par simulation (consigne à 300mm/s, correcteur PI : P=20/1000, I=500/1000). [la division par 1000 est implantée dans le code mais on ne rentre que les valeurs 20 et 500 dans l’interface]. Pour améliorer le modèle, on peut ajouter un bloc non-linéaire seuil. Le paragraphe suivant montre comment passer d'un pilotage classique via une interface graphique à un pilotage "hardware in the loop", en intégrant l'imprimante matérielle à une boucle écrite sous Xcos. Cette nouvelle façon de commander le matériel laisse des opportunités inédites ! |