48
PROJET ATS : RESOLUTION DE LABYRINTHE PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Edition 3 - 22/02/2018 Lycée Jules Ferry - 06400 Cannes [email protected] 1/48 CHAÎNE D’INFORMATION ACQUERIR TRAITER COMMUNIQUER CHAÎNE D’ENERGIE ALIMENTER DISTRIBUER CONVERTIR TRANSMETTRE ACTION

PROJET ATS : RESOLUTION DE LABYRINTHE

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROJET ATS : RESOLUTION DE LABYRINTHE

PROJET ATS :RESOLUTION DE LABYRINTHE

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 1/48

CHAÎNE D’INFORMATION

ACQUERIR TRAITER COMMUNIQUER

CHAÎNE D’ENERGIE

ALIMENTER DISTRIBUER CONVERTIR TRANSMETTRE

ACTI

ON

Page 2: PROJET ATS : RESOLUTION DE LABYRINTHE

ProblématiqueL’ambition de ce projet est de concevoir 2 robots, qui auront pour finalité

de résoudre un labyrinthe.

Le premier robot doit être entièrement autonome. Placé dans le labyrinthe, un algorithme programmé doit lui permettre de sortir seul du labyrinthe

Le second robot est quant à lui piloté à distance, et hors de portée visuelle de l’opérateur. Une caméra Wifi permettra de retransmettre ses déplacements.

Doté d’une caméra, cette dernière doit suivre les mouvements de la tête de l’opérateur. L’image est restituée dans des lunettes de réalité virtuelle, et le mouvement du robot sera piloté par la rotation du poignet du pilote.

Les points devant donner lieu à compte-rendu sont identifiés en encadré rouge dans le document

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Problématique Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 2/48

Page 3: PROJET ATS : RESOLUTION DE LABYRINTHE

SommaireA. __________________________________________Analyse fonctionnelle et structurelle! 5

A.1.Diagramme des exigences 5

A.2.Diagramme de définition de blocs du robot autonome 6

A.3.Diagramme de définition de blocs du robot piloté 7

A.4.Diagramme de bloc interne du robot piloté 8

B. __________________________________________________Problématiques à résoudre! 9

B.1.Liste des problématiques 9

B.2.Ressources 10

C. __________________________________________________Détail des problématiques! 11

C.1.Problématique 1 : Etude des codeurs incrémentaux à quadrature 11C.1.1. Protocole

C.2.Problématique 2 : identification des caractéristiques d’un MCC 14C.2.1. Tracé des courbes du moteurC.2.2. Tracé de la réponse en boucle ouverte

C.3.Problématique 3 : Asservissement en vitesse des moteurs (roues) 19C.3.1. Schéma bloc de l’asservissement en vitesse du motoréducteur seulC.3.2. Dimensionnement du correcteurC.3.3. Validation expérimentale de l’asservissement

C.4.Problématique 4 : Conception du châssis 23

C.5.Problématique 5 : Comportement dynamique 24C.5.1. DonnéesC.5.2. Vitesse limite de basculementC.5.3. Vitesse limite de dérapageC.5.4. Performances d’accélération

C.6.Problématique 6 : Lois de pilotage des moteurs 27

C.7.Problématique 7 : Mesure de distance 29C.7.1. Principe du capteur SonarC.7.2. Expérimentation du capteurC.7.3. Vérification des performances du capteurC.7.4. Visualisation des signaux sur l’oscilloscope

C.8.Problématique 8 : Développement de l’algorithme de résolution 31C.8.1. Recherche documentaireC.8.2. Elaboration de l’algorithmeC.8.3. Essai sur Robot Lego

C.9.Problématique 9 : Conception du support de caméra 33

C.10.Problématique 10 : Motorisation en élévation 34

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Sommaire Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 3/48

Page 4: PROJET ATS : RESOLUTION DE LABYRINTHE

C.10.1.Principe du servomoteurC.10.2.Câblage et programmation du contrôleur ECIO40PC.10.3.Test de fonctionnement sur contrôleur Arduino (en secours du test précédent)C.10.4.Tests du servomoteur

C.11.Problématique 11 : Mesure des mouvements de la tête 38C.11.1.Recherche documentaireC.11.2.Montage expérimentalC.11.3.Mesure de l’angle et validation avec la réalité

C.12.Problématique 12 : Liaison radio 40C.12.1.Montage expérimentalC.12.2.Vérification de la réception des trames radioC.12.3.Vérification des performances (portée du signal)

C.13.Problématique 13 : Asservissement en azimut de la caméra 42C.13.1.Motorisation par servomoteurC.13.2.Motorisation par motoréducteur DAGU FIT048

C.14.Problématique 14 : Mesure des angles de tangage et roulis de la main 45

C.15.Problématique 15 : Déplacement du robot en fonction des consignes opérateur 46

C.16.Problématique 16 : Asservissement en élévation de la caméra 47

C.17.Problématique 17 : Pilotage du mouvement de la caméra 48

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Sommaire Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 4/48

Page 5: PROJET ATS : RESOLUTION DE LABYRINTHE

A. Analyse fonctionnelle et structurelle

A.1. Diagramme des exigences

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 5/48

Page 6: PROJET ATS : RESOLUTION DE LABYRINTHE

A.2. Diagramme de définition de blocs du robot autonome

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 6/48

Page 7: PROJET ATS : RESOLUTION DE LABYRINTHE

A.3. Diagramme de définition de blocs du robot piloté

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 7/48

Page 8: PROJET ATS : RESOLUTION DE LABYRINTHE

A.4. Diagramme de bloc interne du robot piloté

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 8/48

Page 9: PROJET ATS : RESOLUTION DE LABYRINTHE

B. Problématiques à résoudreB.1. Liste des problématiques

N° Intitulé Détail Ressources et matériel

1 Étude des codeurs incrémentaux à quadrature

Etudier le principe des codeurs Ressource documentaire

1 Étude des codeurs incrémentaux à quadrature Visualiser les signaux des 2 canaux

Acquisition NI-USB 6008 + Labview1 Étude des codeurs

incrémentaux à quadrature Visualiser les signaux des 2 canauxOscilloscope

1 Étude des codeurs incrémentaux à quadrature

Déterminer un algorithme de mesure de l'angle et du sens de rotation

2 Identification des caractéristiques d'un MCC

Tracé des courbes caractéristiques à partir des données constructeur Application Matlab

2 Identification des caractéristiques d'un MCC

Identifier expérimentalement la fonction de transfert en Boucle ouverte du moteur

Montage Arduino + Application Matlab2 Identification des

caractéristiques d'un MCCIdentifier expérimentalement les caractéristiques du moteur (résistance, inductance, frottements, ...)

3Mise en place de l'asservissement en vitesse et en position

Déterminer le schéma bloc des asservissements

3Mise en place de l'asservissement en vitesse et en position

En déduire l'expression des FTBF en fonction de la FTBO du MCC

3Mise en place de l'asservissement en vitesse et en position

Définir les paramètres du correcteur PI ou PID en vue de respecter les exigences du cahier des charges

3Mise en place de l'asservissement en vitesse et en position

Valider les résultats par expérimentations Montage Arduino + Application Matlab

4 Conception du mobileImaginer et dessiner le châssis du mobile, avec les contrôleur, driver et capteurs. Logiciel Solidworks4 Conception du mobileDétermination des éléments de masse et d'inertie

5 Comportement du mobile

Déterminer le schéma bloc de l'ensemble du système

5 Comportement du mobileDéfinir son comportement dynamique (accélération, couple nécessaire, ...)5 Comportement du mobileDéterminer la vitesse maximale en virage pour éviter le basculement

6 Lois de pilotage des moteurs

Déterminer les lois de vitesse de rotation des moteurs en fonction de la vitesse et du rayon de virage demandés6 Lois de pilotage des moteurs

Vérifier expérimentalement ces lois Robot EV3

7 Mesure de distance

Identifier le principe de fonctionnement des capteurs sonar

7 Mesure de distance

Calculer la distance en fonction du temps de retour de l'onde sonore7 Mesure de distanceVérifier expérimentalement la loi précédente Montage Arduino -

Oscilloscope

7 Mesure de distance

Quantifier expérimentalement la précision et la répétabilité

8 Développement de l'algorithme de résolution

Développer l'algorithme basé sur l'algorithme de Pledge

8 Développement de l'algorithme de résolution

Simuler puis tester l'algorithme sur robot Lego EV3 Mindstorm Matlab - Robot Lego EV3

8 Développement de l'algorithme de résolution

Implanter l'algorithme sur controleur Arduino

9 Conception du support de caméra

Imaginer et dessiner le mécanisme d'orientation de la caméra Logiciel Solidworks9 Conception du support de

caméra Détermination des éléments de masse et d'inertie

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 9/48

Page 10: PROJET ATS : RESOLUTION DE LABYRINTHE

N° Intitulé Détail Ressources et matériel

10 Motorisation en élévation

Identifier le principe de fonctionnement d'un servomoteur10 Motorisation en élévation Ecrire et tester le programme de mise en position Arduino10 Motorisation en élévation

Valider les performances annoncées par le constructeur

11 Détection du mouvement de la tête

Identifier le principe de fonctionnement d'un accéléromètre - magnétomètreExprimer la valeur de l'inclinaison de la tête en fonction des valeurs fournies par l'accéléromètreEcrire l'algorithme permettant de mesurer l'orientation de la tête en fonction du magnétomètre, après initialisationValider les résultats par mesures expérimentales

11 Détection du mouvement de la tête

Identifier le principe de fonctionnement d'un accéléromètre - magnétomètreExprimer la valeur de l'inclinaison de la tête en fonction des valeurs fournies par l'accéléromètreEcrire l'algorithme permettant de mesurer l'orientation de la tête en fonction du magnétomètre, après initialisationValider les résultats par mesures expérimentales

Arduino - Boussole

12 Liaison radio

Comprendre le principe du kit émetteur-récepteur 433

12 Liaison radio

Tester l'émission/réception de messages Arduino

12 Liaison radioVérifier les performances de transmission en fonction de l'environnement et de la distance12 Liaison radioEcrire le programme permettant d'envoyer les consignes au robot : orientation tête, déplacement main ou joystick

12 Liaison radio

Tester et valider ce programme

13 Asservissement en azimut de la caméra

Ecrire le schéma bloc de l'asservissement en position du mécanisme

13 Asservissement en azimut de la caméra

Définir les paramètres du correcteur PI ou PID en vue de respecter les exigences du cahier des charges13 Asservissement en azimut de

la caméra

Valider les résultats par expérimentation Montage Arduino + Application Matlab

14Mesure du déplacement de la main (pilotage du déplacement du robot)

Comprendre le principe de mesure d'une distance à partir des données d'un accéléromètre

14Mesure du déplacement de la main (pilotage du déplacement du robot)

Elaborer un algorithme de mesure des angles de la main à partir des valeurs d'accélération14

Mesure du déplacement de la main (pilotage du déplacement du robot)

Implanter l'algorithme dans le contrôleur et valider la précision Montage Arduino

15Déplacement du mobile en fonction des consignes de l'opérateur

Programmer les lois de vitesse des moteurs des roues en fonction des consignes de l'opérateur (Nécessite la résolution de la problématique 6)

Robot assemblé

16 Asservissement en élévation de la caméra

Vérifier que les performances dynamiques du servomoteur sont compatibles avec le mécanisme conçu

17 Programmation du pilotage du mouvement de la caméra

Programmer les consignes servo (élévation) et motoréducteur (azimlut) en fonction des informations de position de la tête

Robot assemblé

B.2. Ressources

L’ensemble des ressources utiles (documentations, protocoles expérimentaux, notices, programmes, ...) est disponible sur le site de la prépa, à l’adresse du projet :

http://tsi.ljf.free.fr/ATS/S2I_Projet2018.html#ressources

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 10/48

Page 11: PROJET ATS : RESOLUTION DE LABYRINTHE

C. Détail des problématiques

C.1. Problématique 1 : Etude des codeurs incrémentaux à quadrature

Objectif : comprendre de quelle façon un tel codeur peut être exploité pour extraire les informations de position et de vitesse d’un moteur

Ressource : «Lecture de 2 signaux analogiques» (Labview)

C.1.1. Protocole

L’objectif est d’utiliser les signaux d’un tel codeur pour mesurer la vitesse angulaire et la rotation d’un arbre moteur

C.1.1.1. Recherche documentaire

Consulter les 2 pages suivantes sur Internet :

Principe du codeur

Exploitation d’un codeur à quadrature

C.1.1.2. Préparation de l’expérimentation

Réaliser le câblage page suivante sur Arduino avec un moteur équipé d’un codeur incrémental à quadrature.

Relier les signaux des codeurs sur les voies A et B de l’oscilloscope

Télécharger et décompresser le programme suivant : Commande_PWM_MCC.ino.zip

Implanter ce programme dans le contrôleur Arduino :

➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé

➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté

➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé

➢ Implanter le programme dans le contrôleur :

➢ Ouvrir la console : .

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 11/48

Page 12: PROJET ATS : RESOLUTION DE LABYRINTHE

C.1.1.3. Mise en oeuvre de l’expérimentation

Faire vérifier le câblage par le professeur avant d’alimenter le hacheur.

La console affiche le sens du moteur et la valeur du rapport cyclique, en fonction de la position du potentiomètre (potentiomètre au centre : moteur à l’arrêt)

Le moteur tourne alors en fonction de la consigne.

Visualiser les signaux issus des 2 codeurs sur l'oscilloscope.C.1.1.4. Exploitation et conclusions

Quelle est la forme des signaux fournis par un codeur incrémental ?

De quelle manière les signaux peuvent-ils renseigner sur le sens de rotation du moteur ?

Comment utiliser ces signaux pour calculer la vitesse de rotation du moteur ?

Comment utiliser ces signaux pour calculer l’angle de rotation du moteur ?

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 12/48

Page 13: PROJET ATS : RESOLUTION DE LABYRINTHE

C.1.1.5. Ecriture du programme permettant de calculer vitesse et angle

Le programme suivant permet de mesurer la vitesse du moteur et l’angle de rotation à partir du comptage et décomptage des impulsions codeur : Mesure_vitesse_MCC.ino

Il faut câbler les codeurs comme suit :

Implanter le programme dans le contrôleur Arduino, et ouvrir la console :

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 13/48

Page 14: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2. Problématique 2 : identification des caractéristiques d’un MCC

Objectifs : 1. tracer les courbes caractéristiques à partir des données constructeur parcellaires

2. identifier expérimentalement la fonction de transfert en boucle ouverte de ce MCC

3 . iden t i fie r expér imenta lement l es pa ramèt res caractéristiques d’un moteur à courant continu

Ressources : «Tracé des courbes caractéristiques d’un MCC» (Matlab)

« Relevé de la réponse indicielle en BO» (Arduino+Matlab)

« Détermination expérimentale des caractéristiques d’un MCC» (Arduino+Scilab)

NB : la méthode décrite ci-dessous s’applique à tous les moteurs du projet. Il faudra mener cette expérimentation pour chaque motoréducteur, afin d’en extraire un modèle de comportement.

C.2.1. Tracé des courbes du moteur

L’objectif est de définir les courbes caractéristiques des points de fonctionnement du moteur

C.2.1.1. Recherche documentaire

Le moteur étudier est le «34:1 Metal Gearmotor 25Dx52L mm HP 6V with 48 CPR Encoder». Le site Internet du fabricant du moteur fournit quelques caractéristiques du moteur.

Consulter la page https://www.pololu.com/product/2273 et en extraire les données suivantes :

• Rapport de réduction• Couple et courant de décrochage• Vitesse et courant consommé à vide• Tension d’alimentation nominale

Les valeurs de couple fournies sont exprimées en oz.in. Chercher sur Internet l’équivalence en Nm

C.2.1.2. Tracé des courbes caractéristiques

A partir des données constructeurs, un programme Matlab permet de construire les courbes caractéristiques de ce moteur

Télécharger le programme Matlab, ainsi que le protocole expérimental

Ouvrir Matlab et lancer l'application téléchargée

Après avoir renseigné les données constructeur, le programme affiche les courbes caractéristiques qu’il faut sauvegarder afin de pouvoir les exploiter ultérieurement, ainsi que la résistance d’induit et la constante de couple du moteur.

Identifier la valeur de la résistance d’induit et la constante de couple

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 14/48

Page 15: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2.2. Tracé de la réponse en boucle ouverte

L’objectif est de déterminer un modèle de comportement sous forme de fonction de transfert du moteur

C.2.2.1. Réalisation du câblage expérimental (moteur équipé d’un codeur à quadrature)

Réaliser le câblage ci-dessous

Appeler le professeur pour la validation du câblage

Afin d’avoir la tension réelle en sortie du hacheur, connecter un multimètre aux bornes du moteur

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 15/48

Page 16: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2.2.2. Réalisation du câblage expérimental (moteur équipé d’un codeur à effet hall)

Réaliser le câblage ci-dessous

Appeler le professeur pour la validation du câblage

Afin d’avoir la tension réelle en sortie du hacheur, connecter un multimètre aux bornes du moteur

C.2.2.3. Préparation logicielle

Les programmes exploités pour le tracé sont au nombre de 2 :

• Arduino pour programmer l’échelon en tension• Matlab pour afficher le résultat

Télécharger les programmes Arduino et Matlab. (les programmes avec l’indice 2 affichent en supplément l’allure de la réponse du courant moteur)

1. Lancer le logiciel Arduino et ouvrir le programme téléchargé précédemment. Aux lignes 52 à 54 de ce programme, sélectionner le type d’échelon à appliquer :

Les // signalent un commentaire, donc une ligne non prise en compte. Dans l’exemple ci-dessus, la vitesse du moteur est réglée à un rapport cyclique du hacheur égal à 70%. Pour une valeur réglable, activer la ligne 53 et pour une entrée sinusoïdale, activer la ligne 54.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 16/48

Page 17: PROJET ATS : RESOLUTION DE LABYRINTHE

2. Renseigner les lignes 15 et 16 du programme Arduino avec les valeurs correctes relatives au motoréducteur (rapport de réduction et résolution du codeur) :

3. Lancer le logiciel Matlab et ouvrir le fichier téléchargé. A la ligne 21 de ce programme, renseigner le nom du port sur lequel est connecté l’Arduino :

Pour connaître le numéro de port, vous pouvez cliquer, dans le logiciel Arduino, sur «Outils > Port» : le numéro de port y est indiqué

Lancer l’application en cliquant sur «Run» :

Pendant l’expérimentation, penser à relever la tension aux bornes du moteur.

A l’issue de l’expérimentation, Matlab affiche la réponse à l’échelon de tension :

C.2.2.4. Exploitation des résultats et conclusion

Relever la courbe de réponse indicielle.

A partir de cette réponse en boucle ouverte, déduire le modèle de comportement du moteur, en définissant :

* l’ordre probable de la fonction de transfert du moteur Hmoteur (p)=Ω(p)U(p)

* les caractéristiques de cette fonction de transfert (gain, constante de temps ou pulsation propre et amortissement)

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 17/48

Page 18: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2.2.5. Comparaison entre le modèle et le réel

A l’issue de la modélisation, l’application Matlab propose de comparer le résultat expérimental avec le modèle de comportement :

Validez le modèle, et éventuellement affinez-le

Pensez à écrire sur votre compte-rendu la fonction de transfert ainsi identifiée, qui sera utile pour les asservissements du moteur.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 18/48

Page 19: PROJET ATS : RESOLUTION DE LABYRINTHE

C.3. Problématique 3 : Asservissement en vitesse des moteurs (roues)

Objectifs : 1. Définir le schéma bloc de l’asservissement, et donner l’expression de la FTBF de l’asservissement à partir de la FTBO du moteur

2. Déterminer les paramètres du correcteur PI ou PID

3. Tester et valider les résultats

Ressources : «Asservissement numérique sur contrôleur» (Documentaire)

« Relevé de la réponse en BF de l’asservissement en vitesse» (Arduino+Matlab)

C.3.1. Schéma bloc de l’asservissement en vitesse du motoréducteur seul

L’objectif est de tracer le schéma de l’asservissement afin d’évaluer ses performances

La problématique 2 précédente a permis d’extraire la fonction de transfert en boucle ouverte du motoréducteur seul. Il s’agit à présent de concevoir l’asservissement en vitesse de ce motoréducteur, destiné à propulser le robot.

Construire le schéma de l’asservissement en vitesse, la mesure de cette dernière étant obtenue à partir de l’exploitation d’un codeur incrémental dont les caractéristiques sont fournies sur la documentation du moteur

A partir de la FTBO déterminée à la problématique 2, donner l’expression de la FTBF initialement non corrigée.

Construire le modèle de cet asservissement sous Xcos (Scilab) ou Simulink (Matlab), et évaluer ses performances (rapidité, précision, stabilité)

Nota : Si les expérimentations de la problématique 2 ne sont pas encore achevées, on pourra mener l’analyse avec cette fonction de transfert proposée :

Hmoteur (p)=4,82

1+0,2p+8.10−3 p2

Tracer le schéma de l’asservissement de vitesse

Relever les performances de l’asservissement non corrigé : temps de réponse, précision, stabilité

C.3.2. Dimensionnement du correcteur

L’objectif est de définir les paramètres optimum de l’asservissement, de façon à respecter le cahier des charges

On cherche à avoir un erreur statique nulle, une marge de phase de 45°, et un temps de réponse de 100ms. Par ailleurs, on tolère un dépassement maximum égal à 10%.

Le correcteur envisagé est de type PID, d’expression C(p)= KP +KI

p+KDp1+Np

(N désigne la constante de

temps du filtre de l’action dérivée. On prendra N=10-4)

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 19/48

Page 20: PROJET ATS : RESOLUTION DE LABYRINTHE

Insérer ce correcteur dans le schéma bloc de l’asservissement continu :

A partir du diagramme de Bode du système non corrigé, déterminer graphiquement les gains Kp, Ki et Kd de la correction proportionnelle tels que :

• la pulsation de cassure du correcteur PI soit située une demi-décade avant la pulsation de coupure de la FTBO non corrigée (avec Kp=1)

• la pulsation de cassure du correcteur PD soit située à la pulsation de coupure de la FTBO non corrigée

• enfin, le dépassement ou le temps de réponse seront réglés avec la valeur de Kp

C.3.3. Validation expérimentale de l’asservissement

L’objectif est d’implanter le correcteur continu précédent sous la forme d’un correcteur numérique échantillonné, et de valider le comportement réel du moteur

Réaliser le câblage page suivante, qui permet d’afficher la réponse du moteur asservi en vitesse à un échelon de tension. Dans ce montage, les valeurs des coefficients Kp, Ki et Kd, ainsi que la consigne, sont réglables à l’aide de potentiomètres.

Télécharger le programme Arduino correspondant à cette expérimentation. Ouvrir ce programme dans le logiciel Arduino.

En fonction du hacheur utilisé (Arduino ou DFRobot), mettre à jour les lignes 40 à 42.

De même, si le hacheur retenu est le DFRobot, mettre en commentaire la ligne 138 (la faire précéder de //)

Télécharger ensuite le programme Matlab qui servira à afficher la réponse indicielle. Décompresser l’archive et ouvrir le programme Lecture_serial_Asservissement_vitesse.m, ainsi que le modèle Comparaison_expe_modele.slx

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 20/48

Page 21: PROJET ATS : RESOLUTION DE LABYRINTHE

C.3.3.1. Essai du système asservi sans correction

1. Saisir dans Arduino en lignes 26 à 28 les valeurs Kp=1, Ki=0 et Kd=0

2. Implanter le programme dans le contrôleur Arduino

3. Lancer le programme Matlab : Lecture_serial_Asservissement_vitesse.m. La réponse du système s’affiche

4. Mettre à jour les éléments du modèle Simulink (fonction de transfert, correcteur, saturation, Cr=0) et lancer la simulation afin de comparer le modèle à la réalité

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 21/48

Page 22: PROJET ATS : RESOLUTION DE LABYRINTHE

Observe-t-on des écarts ? Si oui, la présence d’un couple résistant Cr peut-elle justifier cet écart ? Justifier

C.3.3.2. Essai du système asservi avec correction

Estimer les valeurs des coefficients sachant que la fréquence d’échantillonnage de l’asservissement est égale à 40 Hz

Expérimenter l’asservissement en vitesse du moteur, et déterminer expérimentalement les coefficients du correcteur qui permettent de satisfaire le cahier des charges.

On commencera par régler le gain proportionnel à la limite de l’instabilité. Puis viendra le réglage de l’action intégrale de façon à assurer la précision souhaitée, en respectant le critère de dépassement relatif.

Si nécessaire, régler enfin le gain de l’action dérivée.

Conclure sur les valeurs du correcteur PID

Calculer les pulsations de cassure du correcteur, et conclure par rapport à l’étude analytique du correcteur.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 22/48

Page 23: PROJET ATS : RESOLUTION DE LABYRINTHE

C.4. Problématique 4 : Conception du châssis

Objectifs : 1. Concevoir la structure qui supportera l’ensemble de la chaîne d’énergie

2. Imprimer ces châssis à l’imprimante 3D

Ressources : documentation constructeur dimensionnelle des composants

Les châssis des deux robots doivent permettre le montage des motoréducteurs des roues et de la roue libre, des micro contrôleurs (Arduino et ECIO40 pour le robot piloté), des capteurs, des driver moteur, de la caméra et de l’alimentation.

La structure sera la plus simple possible

Certains éléments modulaires sont disponibles en téléchargement :

• Contrôleurs : Arduino Mega2560 - Arduino Nano - Arduino Uno• Drivers moteur : Arduino Motor Shield - Driver DFR-19• Moteurs : Pas à pas RS-191-8299 - Pas à pas T2129 - Servomoteur - Motoréducteur RB-Dfr-667• Interface communication : Module 433 MHz - Caméra JF01• Capteurs : Accéléromètre LSM6DS3 - Magnétomètre LSM303D - Sonar HC-SRO4• Divers : Ball Caster - Kit Moteur-Roues - Tourelle servomoteurs - Support capteur Sonar

Présenter la conception retenue pour les 2 robots

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 23/48

Page 24: PROJET ATS : RESOLUTION DE LABYRINTHE

C.5. Problématique 5 : Comportement dynamique

Objectifs : 1. Déterminer les performances d’accélération du robot

2. Estimer les risques de basculement en virage

Le paramétrage du robot est proposé ci-dessous :

Le robot (1) est constitué de deux roues arrières de diamètre d, dont les points de contact avec le sol (0) sont notés G et D. Il repose sur une roulette avant, dont le point de contact est noté A. Son centre de gravité est noté CG

On note M sa masse

+ CG

+ D

+ A

+ G

+ D

e

+ D

+ G

+ A

e

λ

l

+ A

h

C.5.1. Données

Données sur les actions mécaniques

A l’aide de la figure page suivante, recenser l’ensemble des actions mécaniques extérieures agissant sur le robot, supposé en virage de rayon ρ à vitesse V constante.

Les roues arrière (Rd) et (Rg) sont soumises à l’effort normal

!N , ainsi qu’à un effort tangentiel

!T lié à l’adhérence

des roues, qui empêche le dérapage en virage.

L’effort de transmission FT!"!

sur ces roues arrières sont liées au couple moteur qui s’applique.

La roulette avant (Ra) n’est pas motrice et roule sans glisser sur le sol

Données sur la cinématique

L’étude du basculement se fait en virage, défini par un rayon ρ . La vitesse,

notée VCG∈1/0! "!!!!!

sera supposée constante : !ω1/0 = 0

On notera V = VCG∈1/0! "!!!!!

et ω =ω1/0

+CG

VCG∈1/0! "!!!!!

+I1/0

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 24/48

Page 25: PROJET ATS : RESOLUTION DE LABYRINTHE

C.5.2. Vitesse limite de basculement

+A

+D

+G

+ CG

NA

! "!!

ND

! "!! NG

! "!!

!u

!v

!z

ρ

TD! "!

TG! "!

FTD! "!!

FTG! "!!

P!"

VCG∈1/0! "!!!!!

L’objectif est de définir une vitesse limite en virage au-delà de laquelle le robot risque de basculer.

C.5.2.1. Bilan des actions mécaniques

Isoler le robot (1) et faire le bilan des actions mécaniques extérieures agissant sur celui-ci.

Ecrire les relations issues des lois de Coulomb (on se placera en limite d’adhérence des roues arrière).

On se place à la limite du basculement : quelle est la conséquence sur certaines des actions mécaniques ?

C.5.2.2. Dynamique du système

Déterminer l’expression du vecteur accélération ΓCG∈1/0

! "!!!!!

En notant ICG ,1 la matrice d’inertie en CG du robot (1), écrire l’expression du torseur dynamique D1/0{ }

C.5.2.3. Vitesse limite de basculement

Par application du Principe Fondamental de la Dynamique au centre de gravité, extraire les équations liant les actions mécaniques et la dynamique du robot.

Simplifier ces équations dans le cas limite du basculement, et en déduire la vitesse limite correspondant à la limite du basculement, ainsi que le rayon de virage minimum pour un déplacement à la vitesse maximale, à calculer d’après les caractéristiques de la motorisation retenue (vitesse de rotation du motoréducteur)

Pour les applications numériques, on retiendra d=42 mm ; h=40 mm ; l=140 mm ; λ = 50 mm ; e=60 mm ; M=0,5 kg

Présenter la démarche de résolution et les résultats obtenus

Conclure sur le risque de basculement du robot

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 25/48

Page 26: PROJET ATS : RESOLUTION DE LABYRINTHE

C.5.3. Vitesse limite de dérapage

L’objectif est de définir une vitesse limite en virage au-delà de laquelle le robot risque de déraper.

On note f le coefficient d’adhérence du contact roue/sol.

Chercher la valeur du coefficient d’adhérence dans le cas d’un contact caoutchouc/béton

Ecrire la condition de non glissement des roues arrières.

A partir des équations issues du Principe Fondamental de la dynamique, écrire la condition sur la vitesse en fonction du rayon de virage pour assurer le non glissement des roues arrière.

A la vitesse maximale possible, calculer le rayon minimal de virage pour éviter le dérapage.

Présenter la démarche de résolution et les résultats obtenus

Conclure sur le risque de dérapage du robot

C.5.4. Performances d’accélération

L’objectif est de simuler le comportement du robot soumis à un échelon de tension

C.5.4.1. Inertie équivalente ramenée aux arbres moteur

Les masses mobiles sont les 2 arbres moteur, les 2 roues (rotation) et le robot (translation)

Déterminer l’inertie équivalente Jeq ramenée aux arbres moteur de l’ensemble du robot

C.5.4.2. Résistance au roulement

Mettre au point un protocole expérimental permettant d’évaluer le coefficient de résistance au roulement δ . On pourra à cette fin s’aider du châssis de voiture radio-commandée présente dans le laboratoire.

La mesure de δ se fera soit par mesure de l’effort nécessaire au déplacement, soit par mesure de la déformation de la roue.

C.5.4.3. Schéma bloc du robot

Les deux moteurs, identiques, peuvent être modélisés par un seul moteur caractérisé par la même constante électrique KE et une constante de couple égale à 2KC

Construire le schéma bloc de la motorisation en :

• modélisant le moteur électrique• remplaçant la valeur de l’inertie par la valeur de l’inertie équivalente que vous avez déterminée• insérant un couple résistant qui traduit la résistance au roulement.

Evaluer les performances du robot en réponse à une consigne de tension de 6V sur les moteurs.

En déduire la valeur moyenne de l’accélération γ1/0

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 26/48

Page 27: PROJET ATS : RESOLUTION DE LABYRINTHE

C.6. Problématique 6 : Lois de pilotage des moteurs

Objectifs : Définir les vitesses de rotation des moteurs en fonction de la vitesse souhaitée et du rayon de virage

Paramétrage

On note G le centre de la roue arrière gauche du robot (1), D celui de la roue arrière droite et M l’entraxe des roues.

Les données du déplacement sont la vitesse souhaitée

V = VM∈1/0

! "!!!! et le rayon de

virage ρ = I1/0M

Le torseur cinématique du mouvement du robot (1) par rapport au sol (0) est noté :

C1/0{ } = Ω1/0

! "!!=ω1/0

"zV"u

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪M

ω1/0 > 0 dans le cas d’un virage gauche

ω1/0 < 0 dans le cas d’un virage droite

C.6.1.Expression des vitesses VD∈1/0! "!!!!

et VG∈1/0! "!!!!

I1/0 est le centre de rotation. Par conséquent, VI1/0∈1/0! "!!!!!

="0 . En déduire l’expression de ω1/0 en fonction de V et

r.

On pose désormais r>0 en cas de virage gauche, et r<0 en cas de virage droite. Ecrire l’expression des vecteurs vitesse VD∈1/0

! "!!!!et VG∈1/0! "!!!!

en fonction de V, r et e.

C.6.2.Expression des vitesses moteur ωD et ωG

On note ID le point de contact entre la roue droite (Rd) et le sol (0), et ωRd /1 la vitesse de rotation de cette roue par rapport au châssis du robot.

La roue de diamètre d est supposée rouler sans glisser sur le sol.

Exprimer la condition de roulement sans glissement de la roue droite avec le sol

En déduire l’expression de VID∈Rd /1! "!!!!!!

, puis ωRd /1 en fonction de V, r, e et

d

Procéder de même avec la roue gauche.

+M

VM∈1/0

! "!!!!

+I1/0

+D

+G

VG∈1/0! "!!!!

VD∈1/0! "!!!!r

!x

!y

!v

!u

I1/0M! "!!!!

= ρ"v

MG! "!!!

= e"v

MD! "!!

= −e"v avec e = 60 mm

+ ID

VD∈1/0! "!!!!+

D

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 27/48

Page 28: PROJET ATS : RESOLUTION DE LABYRINTHE

C.6.3.Cas particuliers

Que se passe-t-’il si le rayon de virage est égal à r=2e (centre de rotation au point de contact IG) ?

Que se passe-t-il si le rayon de virage est inférieur à 2e (centre de rotation entre les 2 roues ?

Que se passe-t-il si r=0 (rotation du robot sur lui-même) ?

Présenter la démarche de résolution.

Donner l’expression des lois de pilotage en fonction des consignes de vitesse et de rayon

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 28/48

Page 29: PROJET ATS : RESOLUTION DE LABYRINTHE

C.7. Problématique 7 : Mesure de distance

Objectifs : Définir le principe de mesure de distance. Quantifier les performances des capteurs

Ressources : Recherche documentaire

Documentation constructeur

C.7.1. Principe du capteur Sonar

Le capteur retenu pour la mesure de distance est le capteur sonar HC-SR04

Chercher sur Internet le principe de ce capteur sonar. La documentation technique est disponible sur ce site ou celui-ci (en français).

Quelles sont les performances annoncées par le fournisseur ? (résolution, amplitude de mesure, ...)

C.7.2. Expérimentation du capteur

ATTENTION : il est impératif pour ce capteur de réaliser le câblage hors tension. Le contrôleur ne doit pas être alimenté

Réaliser le câblage ci-contre.

Télécharger le programme Arduino de test.

Implanter ce programme dans le contrôleur Arduino :

➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé

➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté

➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé

➢ Implanter le programme dans le contrôleur :

Ouvrir la console Arduino : .

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 29/48

Page 30: PROJET ATS : RESOLUTION DE LABYRINTHE

C.7.3. Vérification des performances du capteur

Modifier le programme Arduino de façon à afficher la distance en mm (il suffit de changer le type de la variable duration)

1. Vérifier l’étendue de mesure annoncée par le fournisseur

2. Calculer l’erreur de mesure en fonction de la distance

3. Déterminer l’angle maximal entre le faisceau ultrason et la normale de l’objet à détecter au-delà duquel la mesure n’est plus fiable

C.7.4. Visualisation des signaux sur l’oscilloscope

Déconnecter l’Arduino de façon à couper son alimentation

Relier le signal «Trigger» sur la voie A de l’oscilloscope, et le signal «Echo» sur la voie B.

Régler les voies de l’oscilloscope, sachant que :

• l’amplitude des signaux est égale à 5V• la largeur des signaux est fournie grâce à l’extrait de la documentation ci-dessous

Connecter l’Arduino, et visualiser les signaux en procédant à plusieurs mesures de distance.

Etablir un graphe traçant la largeur de l’écho en fonction de la distance réelle

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 30/48

Page 31: PROJET ATS : RESOLUTION DE LABYRINTHE

C.8. Problématique 8 : Développement de l’algorithme de résolution

Objectifs : Ecrire l’algorithme, puis le programme, permettant au robot de sortir du labyrinthe

Ressources : Recherche documentaire

C.8.1. Recherche documentaire

L’algorithme de Pledge, du nom de son inventeur (Jon Pledge d’Exeter, un garçon de 12 ans), permet de sortir de tout labyrinthe quelle que soit sa configuration.

Le principe de cet algorithme est décrit sur ce site.

Prendre connaissance de ce principe

C.8.2. Elaboration de l’algorithme

Le robot est muni de 3 capteurs, détectant la présence de parois :

• un capteur g, détectant la présence de parois à gauche du robot (dans le sens de marche)

• un capteur d, pour les parois à droite du robot• un capteur a, pour les parois en avant du robot

Outre les variables g, d et a des capteurs, on utilisera les variables suivantes pour décrire les mouvements du robot :• AV : marche avant du robot• RD : rotation d’un 1/4 de tour vers la droite• RG : rotation d’un 1/4 de tour vers la droite

Créer un algorithme basé sur l’algorithme de Pledge qui permet au robot de sortir d’un labyrinthe

Traduire ensuite cet algorithme sous forme de graphe d’état

g d

a

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 31/48

Page 32: PROJET ATS : RESOLUTION DE LABYRINTHE

C.8.3. Essai sur Robot Lego

L’objectif est de tester le graphe d’état précédent dans un robot Lego EV3

Le graphe d’état précédent doit maintenant être implanté dans un robot EV3 à des fins de test.

Avant tout, il faut calculer l’angle de rotation des roues correspondant à un pivotement d’1/4 de tour du robot sur lui-même. Pour cela :

1.Mesurer la distance entre les deux roues arrières, et en déduire la longueur que doivent parcourir chacune des roues lors d’une rotation de 90°

2. Après avoir mesuré le diamètre des roues, en déduire enfin l’angle ce rotation correspondant à cette longueur à parcourir

Le fichier Simulink à implanter dans la brique EV3 est ébauché. Télécharger ce modèle.

En double-cliquant dans le graphe d’état «Algorithme de Pledge», on fait apparaître 2 états composites parallèle :

* Pledge, dans lequel doit être implanté le graphe précédemment élaboré

* Rotation_Moteurs, qui gère la rotation des moteurs en fonction des consignes de marche avant, rotation droite, rotation gauche.

Saisir le graphe d’état dans l’état Pledge, et transférer le programme dans la brique EV3

Tester le comportement du robot, et valider l’algorithme.

+

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 32/48

Page 33: PROJET ATS : RESOLUTION DE LABYRINTHE

C.9. Problématique 9 : Conception du support de caméra

Objectifs : Concevoir la liaison entre la caméra et le châssis, en intégrant le servomoteur et le motoréducteur

Ressources : Documentation constructeur

Cette partie doit se faire en concertation avec le groupe responsable de la problématique 4 (conception du châssis).

A partir des données du module 2 axes prévu pour le support de caméra, il faut prévoir son installation sur le châssis, en tenant compte des dimensions du servo moteur retenu.

La rotation en azimut de la caméra se faisant par motoréducteur, il faudra également concevoir la liaison entre l’arbre moteur de ce motoréducteur et le support de caméra.

L’assemblage Solidworks de la tourelle équipée du servomoteur d’élévation est disponible au téléchargement, ainsi qu’un modèle de la caméra utilisée.

Emplacement de la caméra

Plateau à entraîner par le moteur

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 33/48

Page 34: PROJET ATS : RESOLUTION DE LABYRINTHE

C.10. Problématique 10 : Motorisation en élévation

Objectifs : Piloter le servomoteur de la mise en élévation de la caméra

Ressources : Recherche documentaire

Données constructeur

Un servomoteur est un actionneur électrique constitué d’un moteur à courant continu, capable de maintenir une consigne angulaire. Il s’agit d’un actionneur asservir en position.

C.10.1.Principe du servomoteur

Ce site permet de prendre connaissance de la composition d’un servomoteur, et de son mode de pilotage.

A la suite de sa lecture :

Quelle est la composition d’un servomoteur ?

Comment s’effectue le pilotage d’un servomoteur ?

Les servomoteurs retenus sont les Hitec HS-422, dont les données constructeurs sont disponibles sur cette page.

Déduire de la lecture de ces données :

• Le couple maximum• La vitesse de rotation à vide• Les largeurs d’impulsion de pilotage (position neutre et pleins débattements)

C.10.2.Câblage et programmation du contrôleur ECIO40P

Réaliser le câblage ci-dessous, qui permettra de tester le positionnement du servomoteur en fonction de la largeur d’impulsion.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 34/48

Page 35: PROJET ATS : RESOLUTION DE LABYRINTHE

Appeler le professeur pour la validation du câblage, et pour le lancement du tracé de l’algorithme sous FlowCode

Ouvrir le logiciel FlowCode, et tracer l’algorithme page suivante, qui permet d’envoyer au servomoteur une impulsion de largeur variable entre 700 et 2300 ms en fonction de la position du potentiomètre.

Cet algorithme :

• initialise le contrôleur de servomoteur• dans une structure «While 1» (donc une boucle permanente) lit la valeur du potentiomètre sous forme

d’octet, et injecte cette valeur dans le contrôleur de servomoteur.

Bandeau hor izontal permettant d’ insérer un potentiomètre (Input), un controleur de servo et un servo (Mechatronics) :

Bandeau vertical permettant d’insérer les éléments de l’algorithme :

Tableau de bord du montage :

C.10.3. Test de fonctionnement sur contrôleur Arduino (en secours du test précédent)

Réaliser le câblage ci-dessous, qui permettra de tester le positionnement du servomoteur en fonction de la largeur d’impulsion.

Appeler le professeur pour la validation du câblage

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 35/48

Page 36: PROJET ATS : RESOLUTION DE LABYRINTHE

Télécharger le programme Arduino, qui permet d’envoyer au servomoteur une impulsion de largeur variable entre 0 et 3000 ms en fonction de la position du potentiomètre.

Implanter ce programme dans le contrôleur Arduino :

➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé

➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté

➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé

➢ Implanter le programme dans le contrôleur :

C.10.4.Tests du servomoteur

1. Observer le comportement du servomoteur en fonction de la largeur d’impulsion théorique.

2. Mesurer l’angle du servomoteur en fonction de cette largeur d’impulsion

3. Mesurer la vitesse angulaire : utiliser pour cela le logiciel «Tracker Video» :

(I) Prendre une vidéo du servo moteur vu de dessus avec le téléphone portable. Afin de faciliter l’analyse à suivre, on aura intérêt à identifier clairement un point mobile, par exemple avec une vis ou une LED

(II) Récupérer la vidéo sur l’ordinateur

(III) Lancer le logiciel «Tracker» et ouvrir cette vidéo

(IV) Définir les limites utiles de la vidéo :

(V) Calibrer la vidéo (afin de renseigner l’échelle pour les mesures de distance) en sélectionnant 2 points dont on connaît la distance

(VI) Un axe se positionne automatiquement. Déplacer l’origine de cet axe sur le centre du servomoteur

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 36/48

Page 37: PROJET ATS : RESOLUTION DE LABYRINTHE

(VII) Demander le repérage automatique du point identifiable, et sélectionner ce point. Cliquer sur «Chercher» et vérifier que la trajectoire proposée est correcte. Si la proposition est incorrecte, il faudra saisir manuellement les points par «Créer une masse ponctuelle».

(VIII) Afficher alors le graphique ω = f (t)

4. Observer à l’oscilloscope la largeur réelle d’impulsion

5. Mesurer le couple de maintien maximum

Présenter les résultats de ces 5 tests

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 37/48

Page 38: PROJET ATS : RESOLUTION DE LABYRINTHE

C.11. Problématique 11 : Mesure des mouvements de la tête

Objectifs : Définir les vitesses de rotation des moteurs en fonction de la vitesse souhaitée et du rayon de virage

Ressources : Recherche documentaire

Données constructeur

Les angles de la tête sont mesurés à partir d’un magnétomètre pour l’azimut, et à partir d’un accéléromètre pour l’élévation.

Ce capteur détecte les flux magnétiques,et, en l'absence de champs magnétique perturbateur, détermine la position du Nord magnétique. Il fournit une indication de cap par rapport à ce Nord magnétique.

Il dispose également de 3 accéléromètres dans les 3 directions x, y et z.

C.11.1.Recherche documentaire

Chercher sur Internet comment, à partir de la connaissance des valeurs des accélérations en x, y et z mesurées par un accéléromètre, il est possible d’en déduire l’angle de ce capteur autour des axes x et y.

En particulier, le document à cette adresse dresse une étude de l'exploitation des accéléromètres.

Donner l’expression des angles autour de x et y de l’accéléromètre en fonction des accélérations mesurées Ax, Ay et Az

C.11.2.Montage expérimental

Le capteur LSM303D doit être relié aux broches suivantes d’un contrôleur Arduino :

• Broche «Vin» du capteur sur broche «3.3V» de l’Arduino (pas 5V)• Broche «GND» du capteur sur broche «GND» de l’Arduino• Broche «SDA» du capteur sur broche «A4» de l’Arduino Uno, ou «20» de l’Arduino Mega• Broche «SCL» du capteur sur broche «A5» de l’Arduino Uno, ou «21» de l’Arduino Mega

Faire vérifier le câblage par le professeur avant de connecter l’Arduino au port USB.

Télécharger et décompresser le programme suivant : Test_LSM303D.ino.zip

Implanter ce programme dans le contrôleur Arduino :

➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé

➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté

➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé

➢ Implanter le programme dans le contrôleur :

➢ Ouvrir la console : .

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 38/48

Page 39: PROJET ATS : RESOLUTION DE LABYRINTHE

En manipulant le capteur, observer les indications de cap et d’accélération mesurées.

Quelles sont les amplitudes de mesure dans les 3 directions ? Que peut-on en conclure sur le nombre de bits de codage des informations d’accélération ?

C.11.3.Mesure de l’angle et validation avec la réalité

On précise que la fonction angleX = atan AB⎛

⎝⎜

⎠⎟ s’écrit en langage Arduino sous la forme :

float angleX=atan2(A,B);Implanter un programme d’essai permettant de mesurer la position de la tête dans les 3 directions. En s’aidant

des résultats de la partie C.11.1, i faudra pour cela modifier le programme Arduino, en demandant le calcul de angleX et angleY

Afficher ces valeurs dans la console en modifiant les instructions Serial.print

Valider ce programme par comparaison entre les angles réels et les angles mesurés par le programme

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 39/48

Page 40: PROJET ATS : RESOLUTION DE LABYRINTHE

C.12. Problématique 12 : Liaison radio

Objectifs : Ecrire le protocole de communication entre la base et le robot par liaison radio 433 MHz

Ressources : Tutoriel d’explication

Notice bibliothèque VirtialWire

C.12.1.Montage expérimental

Il s’agit de tester l’émission et la réception d’informations par voie hertzienne, sur la fréquence 433 MHz.

il faudra 2 contrôleurs Arduino, un pour l’émission des messages, et le second pour la réception.

Télécharger et décompresser les programmes compressés dans le fichier suivant : Test_radio.zip

Implanter le programme emission_date.ino dans le contrôleur Arduino de l’émetteur:

➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé

➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté

➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé

➢ Implanter le programme dans le contrôleur :

➢ Ouvrir la console : .

Vérifier que la manipulation des potentiomètres modifie la valeur affichée sur la console

Sur un autre ordinateur distant, implanter ensuite le programme reception_date.ino dans le contrôleur Arduino du récepteur.

Câblage du récepteur:

Broche «DATA» sur broche 7 de l’Arduino

Broche «Vcc» sur «5V»

Broche «GND» sur «GND»

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 40/48

Page 41: PROJET ATS : RESOLUTION DE LABYRINTHE

Câblage de l’émetteur :

Broche «DATA» sur broche 12 de l’Arduino

Broche «Vcc» sur «5V»

Broche «GND» sur «GND»

C.12.2.Vérification de la réception des trames radio

Afficher la console de l’Arduino du récepteur, et vérifier que la manipulation des potentiomètres de l’émetteur sont effectivement répercutés sur la console du récepteur.

La diode sur le montage du récepteur clignote en fonction des consignes émises par radio.

C.12.3.Vérification des performances (portée du signal)

Appeler le professeur pour rendre le récepteur autonome.

Se déplacer avec le récepteur, et tester les conditions de bonne réception du signal en fonction de l’environnement (présence de murs, de structures métalliques, etc...) et de la distance.

Présenter les performances de la liaison en fonction :

* de la distance entre émetteur et récepteur

* de l’environnement (présence de murs, de structure métallique)

* du débit de la transmission

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 41/48

Page 42: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2. Problématique 13 : Asservissement en azimut de la caméra

Objectifs : Concevoir et régler l’asservissement en position (azimut) de la caméra

Ressources : Principe de l’asservissement numérique

La caméra est asservie en fonction de la position angulaire transmise par liaison radio à l’Arduino. Ce contrôleur transmet cette position angulaire au contrôleur ECIO40P ou Arduino Mini dans lequel il va falloir implanter l’asservissement

3 motorisations sont envisagées : Servomoteur - MCC+codeur - Moteur pas à pas

C.2.1. Motorisation par servomoteur

Ce principe est relativement simple à mettre en oeuvre, car les servomoteurs sont des actionneurs asservis en position. Il suffit donc de piloter ces servomoteurs en fonction de la consigne en azimut souhaitée.

En revanche, l’amplitude angulaire est limitée à 120° pour la majorité des servomoteurs.

C.2.1.1.Schéma de câblage

Réaliser le schéma de câblage suivant :

La résistance doit avoir une valeur de 10 kohm. Il s’agit d’une résistance «Pull-Down» qui a pour but de forcer l’état 0V en l’absence de signal : elle draine les bruits présents dans le signal.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 42/48

Page 43: PROJET ATS : RESOLUTION DE LABYRINTHE

C.2.1.2. Programme de test

Télécharger le programme de test. Ouvrir ce programme dans Arduino, et l’implanter dans le contrôleur.

Le programme est écrit pour un capteur dont la face supérieure est orientée composants électroniques vers le haut :

Quelques lignes dans ce programme sont à compléter. Il s’agit de la mise en position initiale des 2 servomoteurs :

Dans ce programme, la commande des servomoteurs se fait en donnant une consigne de position angulaire comprise entre 0 et 180° (90° étant donc la position centrale du servomoteur).

Par essais successifs, déterminer les valeurs des positions initiales des servomoteurs, de façon à ce que le cycle débute avec les servomoteurs dans la

position ci-contre.

Le mécanisme se comporte-t-il comme attendu ?

Le système est-il exploitable dans l’état ?

Il se trouve que les variations rapides des valeurs fournies par le capteur rendent le mécanisme trop réactif, et donc inexploitable.

Il va donc falloir filtrer les données du capteur de façon à éliminer le bruit : il s’agit d’un filtre passe-bas du 1er ordre, dont la fonction de transfert est la suivante :

HPB(p)=Sfiltre(p)Sbrut (p)

=1

1+τ p

Traité de façon numérique, cette fonction de transfert permet d’écrire (voir cours d’informatique sur le traitement du signal) :

s filtre(ti+1)= s(ti )+Teτ

sbrut (ti )− s filtre(ti )( ) où Te désigne la période d’échantillonnage

C.2.1.3. Amélioration du programme

Il va falloir implanter ce filtrage dans le programme. Pour cela, il faut insérer :

• un timer dont la fonction sera d’appeler à une fréquence donnée une routine de calcul des signaux filtrés• une routine qui va calculer la valeur filtrée à partir des valeurs brutes (voir lignes 72 à 75)

Le programme suivant à télécharger intègre le filtrage des entrées, dans lequel il va falloir déterminer la fréquence d’échantillonnage et la constante de temps.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 43/48

Page 44: PROJET ATS : RESOLUTION DE LABYRINTHE

La routine qui calcule les valeurs filtrées est reproduite ci-dessous :

La période d’échantillonnage et la constante de temps sont réglées lignes 22 et 23 :

Tester plusieurs valeurs de fréquence d’échantillonnage et de constante de temps.

Quelle est l’influence de ces deux paramètres sur le comportement du système ?

Quelles sont les valeurs optimales ? Justifier les critères.

C.2.2. Motorisation par motoréducteur DAGU FIT048

Réaliser le câblage suivant :

Télécharger les programmes Arduino et Matlab

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 44/48

Page 45: PROJET ATS : RESOLUTION DE LABYRINTHE

C.3. Problématique 14 : Mesure des angles de tangage et roulis de la main

Objectifs : Mesurer les angles de la main de l'opérateur, qui serviront à piloter le robot

Ressources : Recherche documentaire

Données constructeur

Se référer à la problématique 11 qui reprend les points à développer dans cette problématique

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 45/48

Page 46: PROJET ATS : RESOLUTION DE LABYRINTHE

C.4. Problématique 15 : Déplacement du robot en fonction des consignes opérateur

Objectifs : Déterminer les consignes de vitesse et de rayon de virage en fonction de la position de la main

Ressources : Données constructeur

Cette problématique nécessite le résultat des problématiques 6 et 14.

Les angles de tangage et de roulis mesurés au niveau de la main de l’opérateur doivent piloter le robot :

• L’angle de tangage, compris entre -90° et 90°, renseigne sur la vitesse souhaitée. On limitera la consigne à ±45° .

• L’angle de roulis, compris entre -90° et 90°, renseigne sur le rayon de virage souhaitée.

A partir de ces informations d’angles, il s’agit maintenant d’élaborer les consignes de vitesse des roues du chariot, de façon à déplacer le robot à la vitesse souhaitée, et sur le rayon de virage souhaité.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 46/48

Page 47: PROJET ATS : RESOLUTION DE LABYRINTHE

C.5. Problématique 16 : Asservissement en élévation de la caméra

Objectifs : Vérifier que les performances du servomoteur sont compatibles avec le cahier des charges

A partir des caractéristiques du moteur, mesurées expérimentalement, dessiner le schéma bloc de la mise en position angulaire (élévation) de la caméra.

Vérifier que les performances du cahier des charges, en réponse à une consigne en échelon et en rampe, sont respectées.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 47/48

Page 48: PROJET ATS : RESOLUTION DE LABYRINTHE

C.6. Problématique 17 : Pilotage du mouvement de la caméra

Objectifs : Implanter le programme de pilotage de la caméra dans le contrôleur

A l’issue des problématiques 10 et 13, écrire le programme complet des asservissements en position de la caméra dans le micro contrôleur ECIO40P

Ce programme doit, à partir des 2 consignes émises par le contrôleur Arduino (azimut et élévation de la position de la tête), envoyer la consigne de tension au moteur assurant l’asservissement en azimut, et la consigne de position pour le servomoteur assurant l’asservissement en élévation.

PROJET ATS 2018

RESOLUTION DE LABYRINTHE PROJET ATS

Détail des problématiques Edition 3 - 22/02/2018

Lycée Jules Ferry - 06400 Cannes [email protected] 48/48