Le robot dispose de 2 cartes de commande des moteurs. Chaque carte commande 2 moteurs.

Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Conférence sur les microcontroleurs.

Activité initiation Arduino

LYCEE TECHNIQUE PIERRE EMILE MARTIN BOURGES ETUDE D UN TRAITEMENT DE SURFACE

Une carte pour vos projets

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Introduction : Les modes de fonctionnement du transistor bipolaire. Dans tous les cas, le transistor bipolaire est commandé par le courant I B.

CARACTERISTIQUE D UNE DIODE ET POINT DE FONCTIONNEMENT

Bonjour, Le document qui suit est le support de la formation ''Arduino applications distantes''.

Module Relais de temporisation DC V, programmable

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Introduction au langage C

CH IV) Courant alternatif Oscilloscope.

CELTIC-BAAS-Sa BAAT3003

Centrale d alarme DA996

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Téléphone de Secours Memcom

COMMANDER la puissance par MODULATION COMMUNIQUER

Driver de moteurs pas-à-pas DM432C

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

TSM EVOLUTION > SYSTÈME DE DÉTECTION INCENDIE ADRESSABLE ET CONVENTIONNEL ADR

Le transistor bipolaire

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

Module de mesure de courant pour relais statiques serie HD Module de mesure de courant HD D0340I

BE-TME Questions série 0

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

TP N 7 «ALARME INTRUSION» TP découverte «Alarme intrusion filaire LEGRAND»

Tableaux d alarme incendie de type 4-230V~ - 1 boucle / 2 boucles /62

Notice d'utilisation Afficheur multifonctions et système d'évaluation FX 360. Mode/Enter

Relais statiques SOLITRON MIDI, Commutation analogique, Multi Fonctions RJ1P

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

RÉALISATION D UN BANC D ÉQUILIBRAGE

Java Licence Professionnelle CISII,

Tableaux d alarme sonores

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

Alarme intrusion filaire AEI HA zones

Objet : Alimentation pour ordinateur portable et autre. Alimentation Schéma 1

0.8 U N /0.5 U N 0.8 U N /0.5 U N 0.8 U N /0.5 U N 0.2 U N /0.1 U N 0.2 U N /0.1 U N 0.2 U N /0.1 U N

MACHINE A SOUDER MANUEL D UTILISATION

SYSTEMES ELECTRONIQUES NUMERIQUES

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

L ÉLECTROCUTION Intensité Durée Perception des effets 0,5 à 1 ma. Seuil de perception suivant l'état de la peau 8 ma

Cours 1 : Qu est-ce que la programmation?

Recommandation de câblage pour système d alarme. (ALS04 avec TVD02 ou TVD03)

Guide de programmation FLEXIVOZ PABX OD308

Tableau d Alarme Incendie Type 3 type marche/arrêt avec ou sans flash

TP - Alarme de voiture / Approche fonctionnelle

Piano Stairs. descriptif de la conception et des programmes associés. Copyright (C) 2013 taprik

Série 77 - Relais statiques modulaires 5A. Caractéristiques. Relais temporisés et relais de contrôle

Neu. Technique d installation / de surveillance. VARIMETER RCM Contrôleur différentiel type B IP 5883

Les structures. Chapitre 3

Programme Compte bancaire (code)

PRINCIPE, REGULATION et RECHERCHE de PANNES

Systèmes de distributeurs Systèmes de distributeur selon la norme ISO , taille 2, série 581. Caractéristiques techniques

CONTRÔLE DE BALISES TYPE TB-3 MANUEL D'INSTRUCTIONS. ( Cod ) (M H) ( M / 99G ) (c) CIRCUTOR S.A.

Relais d'arrêt d'urgence, protecteurs mobiles

Cours 7 : Programmation d une chaîne d acquisition

Sciences et Technologies de l Industrie et du Développement Durable ENERGIE THERMIQUE ENERGIE THERMIQUE

Modules d entrées/sorties pour FX série XM07 et XM14

SERRURE CODEE UP IP 66 SYGONIX

Sciences physiques Stage n

Relais d'arrêt d'urgence, protecteurs mobiles

Relais statiques SOLITRON, 1 ou 2 pôles Avec dissipateur intégré

SYSTEMES ELECTRONIQUES NUMERIQUES

Chargeur de batterie

NUGELEC. NOTICE D'UTILISATION DU B.A.A.S. du type Ma - STI / MaME - STI. pages. 1 introduction 2. 2 encombrement 3 fixation

Le contenu de ce manuel peut faire l objet de modifications sans préavis et n engage pas la responsabilité de la société BENTEL SECURITY srl.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Tableau d alarme sonore

Notice d installation de la Centrale VIGIK DGM1

Rappels Entrées -Sorties

Relais et Contacteurs Statiques. L'Expert Global de la Technologie Commutation Statique

Transmetteur téléphonique vocal

A.P.I. Kuka Manuel de l utilisateur Version 0.0.5

Système de contrôle TS 970

Cours d Algorithmique et de Langage C v 3.0

Education Delivery Intelligent Tool

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Spécifications d installation Précision des mesures

Notice de montage et d utilisation

SINEAX V 611 Convertisseur de mesure température, programmable

RELAIS STATIQUE. Tension commutée

La sécurité partagée. I-ON40 est un système d alarme destiné à la protection des sites résidentiels et tertiaires.

/ kit camping-car - modèle avec 2 panneaux

Chapitre 4 : Le transistor Bipolaire

Études et Réalisation Génie Électrique


Varset Direct. Batteries fixes de condensateurs basse tension Coffrets et armoires. Notice d utilisation. Armoire A2

Câblage des réseaux WAN.

UE C avancé cours 1: introduction et révisions

Transcription:

ROB_TP2 1 Présentation Robot WIFIBOT : Commande des moteurs G.COLIN Le robot WIFIBOT est un robot de surveillance, muni d une caméra IP et de 4 roues motrices. Il est pilotable à travers le réseau (privé ou Internet). Dans ce TP, on s intéresse en particulier aux commandes des moteurs électriques. Le robot en dispose de 4, un pour chaque roue. Le robot dispose de 2 cartes de commande des moteurs. Chaque carte commande 2 moteurs. Objectif du TP : Etablir la commande des moteurs à courant continu. 2 Etude du principe de la commande Le circuit intégré L298, permet de commander 2 moteurs à courant continu. Il dispose de 8 transistors de puissance capable de fournir 2 Ampères à chaque moteur. Il est nécessaire de refroidir le circuit intégré à l aide d un radiateur.

Le schéma de câblage pour un moteur est le suivant : Les diodes sont externes au circuit, et assurent la continuité du courant lorsque les transistors se bloquent. Les transistors bipolaires laissent passer un courant entre collecteur et émetteur lorsque la base est au niveau haut. Fonction logique ET : Il faut 1 ET 1 sur les 2 entrées pour avoir un 1 en sortie Fonction logique ET avec une entrée inversée : Il faut 0 ET 1 sur les entrée pour avoir un 1 en sortie 2.1 En s inspirant des 2 exemples donnés sur la 1 ère ligne, compléter le tableau du document réponse en indiquant si les transistors sont bloqués ou passants (remplacer un transistor passant par un fil, comme ci-dessus). Préciser le potentiel (+V ou GND) sur les bornes du moteur. 2.2 Indiquer, sur document réponse, les cas où le moteur est soumis à une différence de potentiel qui permettrait de le faire tourner.(indiquer marche ou arrêt pour chaque cas). 2.3 Quelle est la conséquence sur l alimentation du moteur lorsque l entrée logique EnA est à 0. Pour inverser le sens de rotation du moteur à courant continu, il faut inverser la différence de potentiel à ses bornes. On définit le sens 1 lorsque In=1 et In2=0. 2.4 Indiquer les états logiques de In1 et In2 pour obtenir le sens2, inverse du sens 1.

3 Commande en PWM (Pulse Width Modulation=Modulation de Largeur d'impulsion) L instruction, intégré à la carte ARDUINO, analogwrite() permet de générer sur certaines sorties, un signal numérique de fréquence fixe (500Hz environ, soit 500 périodes par seconde) et de rapport cyclique variable. La variable passée à la fonction permet de faire varier le rapport cyclique de 0% (pour 0) à 100% (pour 255). La syntaxe exacte est la suivante : 3.1 En appliquant une règle de 3, pour la commande analogwrite(100) puis pour la commande analogwrite(200), tracer la forme du signal obtenu en respectant les échelles, sur le document réponse (rappel : la période = 1/fréquence). Par la suite, on relie la sortie à rapport cyclique variable sur l entrée EnA du circuit L298 qui commande un des moteurs. La variation du rapport cyclique aura pour conséquence de faire varier la tension moyenne aux bornes du moteur, et donc de faire varier la vitesse de rotation du moteur.

4 Test sur carte ARDUINO Le montage est pré-câblé. Le 1 er programme de test est donné ci-dessous : La sortie 8 de la carte ARDUINO est reliée sur l entrée In1 du circuit L298 La sortie 11 de la carte ARDUINO est reliée sur l entrée In2 du circuit L298 La sortie 9 de la carte ARDUINO est reliée sur l entrée EnA du circuit L298 int In1=8; int In2=11; int EnA=9; void setup() pinmode(in1,output); pinmode(in2,output); pinmode(ena,output); digitalwrite(in2,low); digitalwrite(in1,high); analogwrite(ena,100); while(1); Implanter le programme dans la mémoire de la carte ARDUINO Modifier la valeur 100 (dans la commande analogwrite(ena,100) par la valeur 150. Faire un essai. Recommencer pour les valeurs 200 et 250 Si la tension aux bornes du moteur est insuffisante, le moteur n arrive pas à vaincre les résistances mécaniques dues aux frottements. Tester avec des valeurs faibles (10, 20, 30, 40, 50 ) et déterminer la valeur minimale à appliquer pour que le moteur puisse démarrer. 4.1 Proposer une modification du programme (sur les 2 instructions digitalwrite) pour faire tourner le moteur dans le sens contraire. Faire constater au prof.

Pour structurer le programme, on décide dans un premier temps de créer une procédure «void MoteurA_Sens1(unsigned char vitesse)», comme ci-dessous : int In1=8; int In2=11; int EnA=9; void setup() pinmode(in1,output); pinmode(in2,output); pinmode(ena,output); void MoteurA_Sens1(unsigned char vitesse) digitalwrite(in2,low); digitalwrite(in1,high); analogwrite(ena,vitesse); MoteurA_Sens1(150); while(1); Tester le programme 4.2 De la même manière, créer une procédure «void MoteurA_Stop()» qui arrête le moteur et tester cette procédure en modifiant le programme principal (boucle loop()) de la manière suivante : MoteurA_Sens1(150); MoteurA_Stop(); Faire constater au prof. 4.3 De la même manière, créer une procédure «void MoteurA_Sens2(unsigned char vitesse)» qui fait tourner le moteur dans le sens2 (contraire au sens précédent) et tester cette procédure en modifiant le programme principal (boucle loop()) de la manière suivante : MoteurA_Sens1(150); MoteurA_Stop(); MoteurA_Sens2(150); MoteurA_Stop(); Faire constater au prof.

5 Commande du moteur par LABVIEW Implanter le programme ci-dessous dans la carte ARDUINO, en complétant au préalable les parties à compléter. int In1=8; int In2=11; int EnA=9; unsigned char sens; void setup() pinmode(in1,output); pinmode(in2,output); pinmode(ena,output); Serial.begin(115200); Serial.println("c'est parti"); sens=1; void MoteurA_Sens1(unsigned char vitesse) digitalwrite(in2,low); digitalwrite(in1,high); analogwrite(ena,vitesse); void MoteurA_Sens2(unsigned char vitesse)..à compléter void MoteurA_Stop()..à compléter unsigned char data0, data1, data2; if (Serial.available() > 0) data0=serial.read();//lecture 1ère donnée switch(data0) case 'M': while(serial.available()<=0);//attente 2ème donnée data1=serial.read();//lecture 2ème donnée while(serial.available()<=0);//attente 3ème donnée data2=serial.read();//lecture 3ème donnée if (data1==1 && sens==1) MoteurA_Sens1(data2); if (data1==2 && sens==2) MoteurA_Sens2(data2); if (data1==1 && sens==2) MoteurA_Stop();delay(1000);sens=1; if (data1==2 && sens==1) MoteurA_Stop();delay(1000);sens=2; break;

Télécharger le fichier visa_commande_mcc.zip et l enregistrer dans le répertoire travail Ouvrir le fichier visa_commande_mcc.vi à l aide du logiciel LABVIEW Procéder aux essais. Faire constater au prof. 5.1 Indiquer les 3 données qui sont transmises à la carte ARDUINO (valeur ou nature de l information), au dos du document réponse Lorsqu on change le sens de rotation du moteur, il s arrête avant de redémarrer. 5.2 Quels sont les lignes de programme de la carte ARDUINO qui permettent cet arrêt avant le changement de sens? (Répondre au dos du document réponse)