Upload
duonghuong
View
215
Download
0
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