53
Classe de problèmes-MECATRO Piloter un système à l’aide d’un microcontrôleur. L YCÉE CARNOT (DIJON), 2018 - 2019 Arnaud Maire du Poset & Germain Gondor Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 1 / 45

Classe de problèmes-MECATRO - gondor-carnot.frgondor-carnot.fr/oooo/Tp/Diap-CI-MECATRO-1-Theme.pdf · Le connecteur USB assure la communication de la carte avec le micro-ordinateur,

Embed Size (px)

Citation preview

Classe de problèmes-MECATRO

Piloter un système à l’aide d’un microcontrôleur.

LYCÉE CARNOT (DIJON), 2018 - 2019

Arnaud Maire du Poset & Germain Gondor

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 1 / 45

Sommaire

1 Présentation

2 Exemples de câblages

3 Vérification du fonctionnement de la carte

4 Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 2 / 45

Présentation

Sommaire

1 PrésentationContextePrésentation de la carte " Arduino-Uno "

2 Exemples de câblages

3 Vérification du fonctionnement de la carte

4 Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 3 / 45

Présentation Contexte

De nombreux systèmes autonomes en énergie d’alimentation élec-trique (batteries) sont équipés de moteurs à courant continu. Cesmoteurs permettent de convertir l’énergie électrique en énergie méca-nique qui sera adaptée de manière à agir.

Par exemple, pour un robot tondeuse à gazon électrique, l’énergiemécanique de rotation fournie par un moteur est adaptée par unréducteur et une transmission de manière à entraîner en rotation unedes roues motrices qui va agir sur le sol et provoquer le déplacementdu chariot.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 4 / 45

Présentation Contexte

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 5 / 45

Présentation Contexte

La variation de vitesse d’une roue motrice est obtenue en modulantl’énergie électrique d’alimentation du moteur à l’aide d’un hacheur. Lehacheur est piloté par l’unité de traitement. Cette dernière envoie unsignal au hacheur de telle manière que la vitesse de rotation du moteursera proportionnelle à ce signal.

Les chaînes d’énergie peuvent être équipées d’un ou plusieurs cap-teurs qui permettent d’évaluer des grandeurs physiques comme parexemple la vitesse de rotation du moteur. Dans certains cas, lesgrandeurs physiques évaluées pourront être utilisée pour optimiser lacommande du moteur. On parle de système asservi.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 6 / 45

Présentation Contexte

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Batterie

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 7 / 45

Présentation Présentation de la carte " Arduino-Uno "

La carte Arduino-Uno est un exemple d’unité de traitement. L’élémentcentral de la carte est le microcontrôleur. Son rôle est de traiter lesdonnées et d’assigner les sorties.Les autres éléments principaux sont le connecteur USB, les 14 brochesnumériques, les 6 broches entrées analogiques et de 4 brochessorties de tensions de référence.

Le connecteur USB assure la communication de la carte avec lemicro-ordinateur, et permet son alimentation en l’absence d’une autresource d’alimentation.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 8 / 45

Présentation Présentation de la carte " Arduino-Uno "

La carte Arduino-Uno est un exemple d’unité de traitement. L’élémentcentral de la carte est le microcontrôleur. Son rôle est de traiter lesdonnées et d’assigner les sorties.Les autres éléments principaux sont le connecteur USB, les 14 brochesnumériques, les 6 broches entrées analogiques et de 4 brochessorties de tensions de référence.

Le connecteur USB assure la communication de la carte avec lemicro-ordinateur, et permet son alimentation en l’absence d’une autresource d’alimentation.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 8 / 45

Présentation Présentation de la carte " Arduino-Uno "

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 9 / 45

Présentation Présentation de la carte " Arduino-Uno "

Les broches numériques peuvent être configurées entrée ou sortie.Lorsqu’elles sont configurées entrée, ce sont obligatoirement desentrées TOR (Tout Ou Rien, 1 ou 0). Pour être à 1, la broche doit êtreau potentiel 5 V et pour être à 0, au potentiel 0 V. Pour une sortie,il y a deux configurations possibles : soit elle est TOR, soit elle estnumérique et codée sur 8 bits (1 octet), soit 256 possibilités (de 0 à255).

REMARQUE: seules les broches repérées par le symbole ˜ (3, 5, 6, 9,10 et 11) peuvent être numériques, les autres broches ne peuvent êtreque TOR.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 10 / 45

Présentation Présentation de la carte " Arduino-Uno "

Les broches numériques peuvent être configurées entrée ou sortie.Lorsqu’elles sont configurées entrée, ce sont obligatoirement desentrées TOR (Tout Ou Rien, 1 ou 0). Pour être à 1, la broche doit êtreau potentiel 5 V et pour être à 0, au potentiel 0 V. Pour une sortie,il y a deux configurations possibles : soit elle est TOR, soit elle estnumérique et codée sur 8 bits (1 octet), soit 256 possibilités (de 0 à255).

REMARQUE: seules les broches repérées par le symbole ˜ (3, 5, 6, 9,10 et 11) peuvent être numériques, les autres broches ne peuvent êtreque TOR.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 10 / 45

Présentation Présentation de la carte " Arduino-Uno "

Les broches entrées analogiques permettent de mesurer à la ca-dence du quartz de cadencement l’évolution de grandeurs physiques.

Une entrée analogique de la carte Arduino est capable d’enregistrer unsignal de 0 à 5 V délivré par un capteur ou par un élément d’interfacehomme machine (par exemple un potentiomètre). Ce signal est numé-risé sur 10 bits (de 0 à 1023).

Les broches sorties de tensions de référence permettent d’alimen-ter des composants extérieurs (par exemple des capteurs) en 3,3 ou 5V.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 11 / 45

Présentation Présentation de la carte " Arduino-Uno "

Les broches entrées analogiques permettent de mesurer à la ca-dence du quartz de cadencement l’évolution de grandeurs physiques.

Une entrée analogique de la carte Arduino est capable d’enregistrer unsignal de 0 à 5 V délivré par un capteur ou par un élément d’interfacehomme machine (par exemple un potentiomètre). Ce signal est numé-risé sur 10 bits (de 0 à 1023).

Les broches sorties de tensions de référence permettent d’alimen-ter des composants extérieurs (par exemple des capteurs) en 3,3 ou 5V.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 11 / 45

Exemples de câblages

Sommaire

1 Présentation

2 Exemples de câblages

3 Vérification du fonctionnement de la carte

4 Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 12 / 45

Exemples de câblages

Câblage d’une entrée TOR Câblage d’une sortie TORavec bouton poussoir avec alimentation par la carte

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 13 / 45

Exemples de câblages

Câblage d’une entrée analogique Câblage d’une sortie numériqueavec alimentation externe

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 14 / 45

Vérification du fonctionnement de la carte

Sommaire

1 Présentation

2 Exemples de câblages

3 Vérification du fonctionnement de la carteApproche schéma-bloc MatlabApproche schéma-bloc Xcos de ScilabApproche code ArduinoLED sur une autre broche

4 Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 15 / 45

Vérification du fonctionnement de la carte

La première étape dans le pilotage de microcontrôleurs et automatesest de vérifier la communication entre le PC sur lequel on programmeet l’unité de traitement de l’automate. Le plus facile est souvent de faireclignoter un diode (ou LED) . La carte Arduino est constituée d’uneLED interne reliée à la broche numérique 13. On se propose donc dela faire clignoter avec deux approches différentes.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 16 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

• lancer Matlab , puis Simulink , puis Blank Model : , puis

sur l’icone des bibliothèques .

A partir des éléments des bibliothèquesSimulink-sources, Simulink-sinks etArduino-common, construire le schémaci-dessous

• Régler Amplitude à 5, Period à 1, Pulse Width à 35 et Phasedelay à 0

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 17 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 18 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 19 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 20 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 21 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Matlab

Il faut maintenant désigner la cible, i.e., la carte Arduino. Pour cela :• cliquer sur Tools, Run on Target Hardware et Prepare to Run• sélectionner dans Hardware board Arduino Uno, puis cliquer sur

Apply et Ok• régler le temps de simulation à inf et au lieu de Normal prendre

External• brancher la carte Arduino au pc via le câble USb, puis cliquer sur

RunNormalement, la diode située au niveau de la patte 13, clignote.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 22 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Xcos de Scilab

Approche schéma-bloc Xcos de Scilab

• lancer Scilab puis taper xcos() dans l’interpréteur.• A partir des éléments des bibliothèques, construire le schéma

ci-contre :• Régler Amplitude à 5, Period à 1, Pulse Width à 35 et Phase

delay à 0• Bien choisir le port de communication (généralement COM 3).• Cliquer sur le triangle Démarrer.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 23 / 45

Vérification du fonctionnement de la carte Approche schéma-bloc Xcos de Scilab

Normalement, la diode située au niveau de la patte 13, clignote.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 24 / 45

Vérification du fonctionnement de la carte Approche code Arduino

Approche code Arduino

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 25 / 45

Vérification du fonctionnement de la carte Approche code Arduino

• Lancer le logiciel Arduino en cliquant sur

La fenêtre ci-contre apparait. Elle présente la structure du programmeavec deux fonctions (void).

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 26 / 45

Vérification du fonctionnement de la carte Approche code Arduino

La fonction setup() est appelée une seule fois lorsque le programmecommence. Dans cette fonction, on écrira donc le code qui n’a besoind’être exécuté qu’une seule fois.

La fonction loop() est la fonction principale du programme, elle estappelée en permanence. Le code est exécuté dans une boucle infinie.

En début de programme avant la fonction setup, on peut déclarer desvariables.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 27 / 45

Vérification du fonctionnement de la carte Approche code Arduino

• Écrire le code ci-dessous :

• Brancher le câble USB entre la carte et le PC ; Avant de compileret de téléverser ce code sur la carte Arduino, il faut s’assurer de labonne configuration du logiciel par rapport à la carte, et du portUSB.REMARQUE: pour trouver le port de connexion, aller dans legestionnaire de périphériques qui se trouve dans le panneau deconfiguration.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 28 / 45

Vérification du fonctionnement de la carte Approche code Arduino

• Compiler et téléverser le programme en cliquant sur la flèchedans la barre d’accès rapide ; Remarque : lors du téléversementles LEDs internes Tx et Rx doivent clignoter.

• Vérifier le bon fonctionnement de la carte.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 29 / 45

Vérification du fonctionnement de la carte LED sur une autre broche

LED sur une autre broche

On peut aussi faire clignoter une LED autre que celle de la carte.Pour cela on a besoin d’une plaque d’essai (breadboard), c’est uneplatine pleine de trous, dans lesquels on peut piquer des pattes decomposants électroniques ou des fils.

Dans les zones 1 et 4, les trous situés sur une même ligne horizontale(plus grande longueur) sont reliés électriquement.

Dans les zones 2 et 3, les trous situés sur une même ligne verticalesont reliés électriquement.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 30 / 45

Vérification du fonctionnement de la carte LED sur une autre broche

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 31 / 45

Vérification du fonctionnement de la carte LED sur une autre broche

REMARQUE: les zones 1 et 2 servent à l’alimentation des composantsélectroniques.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 32 / 45

Vérification du fonctionnement de la carte LED sur une autre broche

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 33 / 45

Vérification du fonctionnement de la carte LED sur une autre broche

• Réaliser le câblage ci-dessous :

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 34 / 45

Commande simple d’un moteur avec bouton poussoir

Sommaire

1 Présentation

2 Exemples de câblages

3 Vérification du fonctionnement de la carte

4 Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 35 / 45

Commande simple d’un moteur avec bouton poussoir

Commande simple d’un moteur avec bouton poussoir

L’objectif de cette activité est de réaliser la commande en rotation d’unmoteur en appuyant sur un bouton poussoir avec une alimentationexterne (schéma de cablage de la FIG ??).

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 36 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Unité detraitement

Consigne devitesse angulaire

Hacheur MoteurRéducteur ettransmission

Position

Capteur

Unitéd’alimentation

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 37 / 45

Commande simple d’un moteur avec bouton poussoir

Pour cela on utilise un moteur à courant continu en actionneur et untransistor MOSFET en préactionneur. Le transistor est un composantélectronique qui fonctionne comme un contacteur.Il a trois pattes : deux des pattes doivent être reliées au circuit d’alimen-tation du moteur et la troisième patte permet son pilotage. Lorsque cettetroisième patte n’est pas alimentée, le courant ne passe pas, lorsqu’elleest alimentée le courant passe.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 38 / 45

Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 39 / 45

Commande simple d’un moteur avec bouton poussoir

Pour éviter les retours de charge générés par le moteur en phase dedécélération lorsque l’arrêt est demandé, il faut utiliser une diode enparallèle du moteur en faisant attention à sa polarisation.

Pour que le transistor fonctionne correctement, il faut relier les GND dela carte Arduino et de l’alimentation externe.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 40 / 45

Commande simple d’un moteur avec bouton poussoir

• Relier le relais à la carte Arduino FIG 1• Câbler un bouton poussoir sur une broche entrée numérique• Écrire le code correspondant. Pour cela :

◦ Définir deux broches numériques en tant que variablescom_moteur et appui_bouton

◦ Définir un variable entier etat_bouton◦ Configurer la broche correspondante à la variable com_moteur en

tant que sortie et la broche correspondante à la variableappui_bouton en tant que entrée ;

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 41 / 45

Commande simple d’un moteur avec bouton poussoir

Dans la fonction loop, écrire le code correspondant au fonctionnementsouhaité (voir ci-dessous)

La variable etat_bouton permet la lecture de l’état de la brochenumérique liée à la variable appui_bouton.

Si l’entrée etat_bouton est à 1, on met la sortie com_moteur à 1,sinon on la met à 0.

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 42 / 45

Commande simple d’un moteur avec bouton poussoir

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 43 / 45

Commande simple d’un moteur avec bouton poussoir

• Compiler et téléverser le code dans la carte• Tester le fonctionnement du système.• Réaliser le câblage du moteur avec une alimentation extérieure en

réglant la bonne tension (voir tension nominale du moteur) ;

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 44 / 45

Commande simple d’un moteur avec bouton poussoir

FIGURE 1 – Câblage du relais

Sciences de l’Ingénieur (MPSI - PCSI) CI-MECATRO-1 Piloter une microcontrôleur Année 2018 - 2019 45 / 45