Les projets‎ > ‎Imprimante‎ > ‎Imprimante pilotée‎ > ‎Utilisation‎ > ‎

Pilotage par une interface graphique

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 :
            • connexion au port série : le module Serial disponible dans le gestionnaire d’Atoms est utilisé pour dialogué avec l’imprimante (via le port USB), il est donc indispensable d'installer au préalable ce module (cf. lien suivant pour l'installation). Après avoir choisi l’environnement de travail (windows ou linux), il est nécessaire de définir le port de dialogue entre l’ordinateur et l’imprimante ainsi que la vitesse en bauds si nécessaire (115200 est la valeur utilisée dans le programme). Pour trouver le bon port, il suffit d’entrer un chiffre de 1 à 9 après avoir connecté et branché l’imprimante puis cliquer sur le bouton ‘Connexion’. Si la connexion est possible, un message indique que la connexion est réussi, sinon il faut essayer un autre port .

            • boucle fermée / boucle ouverte : ces sous-parties sont exclusives, il faut donc cocher l’une ou l’autre des commandes et renseigner les paramètres de consignes (en mm/s pour la BF et en Volts pour la BO) ainsi que les paramètres du correcteur pour la commande en BF. Par défaut, la tête d'impression réalise des aller-retours en commande en BF. Le choix des paramètres du correcteur n’est pas simple car le système est très rapidement instable si le gain proportionnel est trop grand et il ne bouge pas si le gain est trop faible. C’est pourquoi il est préférable de mettre un gain intégral assez important et un gain proportionnel faible (KP=20, KI=500, KD=0). Une modélisation sous Xcos permettra de vérifier que le correcteur est pertinent. La consigne en boucle ouverte est limitée de 0 à 12V (tension d’alimentation du moteur maximale à 12V avec l’alimentation retenue).
  • la dernière partie permet d’entrer la durée de l’acquisition. En cliquant sur ce bouton, l’imprimante s’initialise (retour en position droite) puis en fonction du type de commande (BO ou BF) se met en mouvement jusqu’à ce que la durée de mesure soit atteinte. 

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 ouverte

La 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ée

Le 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 !

Comments