Lois de commande d’un translateur Pierre Laguillaumie Philippe Vulliez Objectifs • Comparer deux lois de commande : – Loi trapèze 1/3-1/3-1/3 – Loi à accélération continue • Calculer le couple moteur entrainant un axe linéaire 2 • Déterminer les caractéristiques du mouvement : vitesse max, couple max, couple efficace. Travail à effectuer / à rendre • PARTIE 1 – À partir des positions de départ et d’arrivée et de la durée du mouvement et d’un vecteur de temps, créer un script scilab / matlab permettant de calculer l’accélération, la vitesse et la position pour les deux lois étudiées. – Créer une fonction par loi. • PARTIE 2 Réaliser l’étude dynamique de l’axe. Déterminez les grandeurs caractéristiques du cycle de fonctionnement en fonction de la loi de commande retenue. • Documents à rendre : 3 – Scripts des fonctions de génération des lois + documentation – Script d’utilisation des fonctions + graphes positions / vitesses /accélérations – Script d’étude mécanique paramétrique + document de synthèse Description partie opérative Système d’entrainement Bosch-Rexroth : « module pont BKK » qui associe 4 – Un guidage linéaire par billes sur rails – Un entraînement par vis à billes 5 Exemple d’utilisation Application : manutention Cycle de fonctionnement dimensionnant : Prise de pièce : 0,5s Déplacement : 0,5m en 1s Dépose pièce : 0,5s Retour en position de départ en 1s 6 – – – – Lois de commande • Générer des lois de commande en vitesse réalisant un déplacement entre une position « origine » et une position finale « posFinale » en une durée « T » de la forme : – Trapèze en vitesse avec temps d’accélération = temps de déplacement à vitesse constante = temps de freinage – Loi polynômiale avec départ et arrivée à accélération et vitesse nulles 7 • Données : vecteur temps, durée du mouvement, origine, posFinale • Grandeurs à calculer : sSet : position instantanée, vFeed : vitesse instantanée, aFeed : acc. instantanée Scilab / Matlab • Génération d’un vecteur de points régulièrement espacés : t = linspace(0, T, nbPoints) t = [0:pas:T] • Remplissage d’un vecteur terme à terme 8 sSet = zeros(t) for i=1:max(size(t)) if t(i) < t1 then sSet(i) = v * t(i) else sSet(i) = - v * (t(i) – t1) + s1 end end Scilab / Matlab • Remplissage d’un vecteur à partir d’une fonction sSet2 = cos(t) //sSet2 de même taille que t sSet3 = t.^2 // .^, .*, ./ : opérateurs terme à terme • Tracé de courbes plot2d(t, [sSet; sSet2]’) plot(t, [sSet; sSet2]’) //id. Matlab • Gestion figures (Scilab) 9 scf(5) //sélection / création fenêtre n°5 clf() //effacement fenêtre active 10 Cycle dimensionnant 11 Comparaison des lois Etude dynamique • Données : – Relation vitesse de rotation moteur / vitesse d’avance du chariot : avec , « pas réduit » – Pas de la vis : 10mm – Inertie du système d’entraînement : JS = 316.E6kg.m2 – Inertie de la charge utile ramenée sur l’arbre , m masse de la charge moteur : 2 – fv : coef. de frottement visqueux, MR : couple de frottement sec; fv = 10.0N/(m/s), MR = 0.8Nm • Equation de mouvement 12 ? Etude dynamique Pour les deux lois de mouvement, déterminez : La vitesse moteur max La variation de couple Le couple maximum Le couple efficace calculé sur la durée du cycle dimensionnant. 13 – – – –