/ Formation : Arduino ↔Matlab/Simulink Commande d’un système thermique à l’aide
/ Formation : Arduino ↔Matlab/Simulink Commande d’un système thermique à l’aide de la carte ARDUINO UNO Hammamet 3/4 Mai 2014 CHELLY Nizar et CHARED Amine CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 1 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 2 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 3 / 1 Comment établir une communication série Arduino/Matlab ? L’utilisation des fonctions Arduino/Matlab pour la communication série : 1 Pré-programmer la carte Arduino pour l’envoie et l’acquisition des données 2 Exploiter les fonctions pour la communication série sous Matlab ou bien Simulink CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 4 / 1 Les fonctions permettant la communication série pour Arduino Les fonctions pour la communication série : Serial : établir la communication série (via USB) available() : obtenir le nombre de bit disponible pour la lecture read() : permet la lecture des bits entrants write() : permet l’écriture des bits sur le port série CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 5 / 1 Les fonctions permettant la communication série pour Matlab/Simulink M-files : fscanf : fprintf : Modèle Simulink : Instrument control toolbox Serial configuration : configurer les paramétrés du port série Serial Receive : Acquisition des données Serial Send : Envoie des données via le port série CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 6 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 7 / 1 ArduinoIO Library L’utilisation du package ArduinoIO : 1 Pré-charger le programme ’adiosrv.pde’ dans la carte Arduino (Analog and Digital Input and Output Server) 2 Exploiter la bibliothèque ArduinoIO Library sous Simulink ou bien Matlab Exemple d’exploitation sous Matlab : »a=arduino(’port’) →accès à la carte et aux commandes spécifiques d’arduino »a.analogWrite(3,127) ;→envoyer sur la pin 3 un signal PWM de rapport cyclique 127/255 Exemple d’exploitation sous Simulink : CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 8 / 1 Installation du package ArduinoIO 1 Pré-chargement du programme dans la carte Arduino : 1 Télécharger le package ArduinoIO 2 Décompresser vers “par exemple E :\arduinoio” 3 Ouvrir le dossier décompressé. 4 Aller vers : ”ArduinoIO\pde\adiosrv” * 5 Charger le fichier adiosrv.pde vers le logiciel Arduino. 6 Televerser ! 2 Installation du package ArduinoIO : 1 Lancer Matlab et placer vous sous “E :\arduinoio” 2 Exécuter la commande : install-arduino 3 Fermer et relancer Matlab puis Simulink 4 Dans les bibliothèques se trouvent maintenant Arduino IO library. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 9 / 1 Exploitation d’ArduinoIO Library sous Simulink Les blocs nécessaires pour notre objectif d’asservissement : Real-Time Pacer : Ralentir le temps de simulation de sorte qu’il synchronise avec le temps réel écoulé. Arduino IO Setup : Pour configurer sur quel port la carte Arduino UNO est connectée. Arduino Analog Read : Pour configurer à partir de quel pin on va acquérir les données du capteur. Arduino Analog Write : Pour configurer à partir de quel pin on va envoyer la commande PWM vers l’actionneur. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 10 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 11 / 1 Arduino Target Arduino Target : Cette solution consiste à utiliser la carte Arduino comme une cible. Matlab compile le programme saisi depuis Simulink. Transfert ce programme directement dans la carte Arduino. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 12 / 1 Présentation du ADC Caractéristique : 6 entrées analogiques A0..A5. 1 seul CAN, durée de conversion 100 µs. Résolution 10 bits ⇒valeur numérique entre 0 et 1023. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 13 / 1 Acquisition de distance : HC SR04 Présentation du capteur : 4 pins : V cc, Trig, Echo, GND Alimenation 5V Gamme de mesure de distance entre 2cm et 4m. Fonctionnent du capteur : Envoyer une impulsion niveau haut (+5v) pendant au moins 10µ sur la broche ‘Trig’→ déclenche la mesure. Si le module détecte un objet, la pin ‘Echo’, va fournir une impulsion (+5v) dont la durée est proportionnelle à la distance. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 14 / 1 Acquisition de température : LM35 Présentation du capteur : Alimenter les pattes VCC et GND. Brancher la patte centrale à une entrée analogique. Lecture du capteur : 10mV →Co 1V →100Co La lecture analogique d’un signal de 0 à 5V étant codée de 0 à 1023. Temp = V olt ∗(5/1023) ∗100 V olt est entre 0 et 1023 CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 15 / 1 Acquisition de température : LM35 Exploitation du package ArduinoIO Library sous Simulink 1 Pré-chargement du programme adiosrv.pde sur la carte Arduino 2 Développement du modèle Simulink : CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 16 / 1 Acquisition de température : LM35 Exploitation de la bibliotheque Instrument control toolbox sous Simulink 1 Pré-programmation de la carte Arduino UNO : int temp; void setup() { Serial.begin(9600); } void loop() { temp = analogRead(A0);//lecture CAN (valeur entre 0 et 1023) Serial.write(temp); //envoie de la donnee via le port serie delay(1000); //delai de 1s avant nouvelle acquisition } 2 Développement du modèle Simulink : CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 17 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 18 / 1 Présentation des sorties analogiques (mode PWM) La carte Arduino Uno dispose : 6 sorties (3,5,6,9,10 et 11) qui peuvent être utilisées en mode PWM. C’est quoi un signal PWM ? des signaux logiques binaires. de fréquence constante (500Hz). de rapport cyclique variable. = ⇒ une tension continue ajustable entre 0V (rapport cyclique= 0) et 5V (rapport cyclique=255). Vout = Vs × τo τc ;avec : τc = 2ms CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 19 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 20 / 1 Commande PWM d’un moteur à courant continu Utilisation du shield 2A Motor pour Arduino : Avantage du shield 2A Motor : Ajouter directement sur la carte Arduino UNO Équipé du CI L298 qui permet la commande du moteur dans les deux sens CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 21 / 1 Branchement du shield 2A Motor CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 22 / 1 Plan de l’exposé CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 23 / 1 Commande de l’intensité lumineuse d’une Lampe Branchement pour la commande de la lampe CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 24 / 1 Commande de l’intensité lumineuse d’une Lampe Exploitation de la bibliotheque Instrument control toolbox sous Simulink 1 Pré-programmation de la carte Arduino UNO int cmd; //commande void setup() { Serial.begin(9600);//ouvre le port s rie , fixe le d bit 9600 bauds pinMode(6,OUTPUT); //Configuration du pin 6 comme sortie } void loop() { if (Serial.available())// si des donn es entrantes sont pr sentes { cmd=Serial.read();//lecture des donn es arriv es analogWrite(6,cmd);//Transfert de ces donn es sur la pin 6 pour g n r e r le signal P } delay(100); //delai de 100ms avant la nouvelle acquisition } 2 Développement du modèle Simulink CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 25 / 1 Commande de l’intensité lumineuse d’une Lampe Exploitation de la bibliotheque ArduinoIO Library sous Simulink 1 Pré-chargement de adiosrv.pde sur la carte Arduino UNO 2 Développement du modèle Simulink CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 26 / 1 Réponse à un échelon :System Identification sous Matlab CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 27 / 1 Make Titles Informative. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 27 / 1 Choix de la commande P ,PI :PID Tuning sous Matlab CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 28 / 1 Make Titles Informative. CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 28 / 1 Commande du procédé thermique CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 29 / 1 CHELLY Nizar et CHARED Amine Formation Arduino↔Matlab/Simulink FAM 2014 29 / 1 uploads/Management/ arduinosimuminkmatlab-pdf.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 16, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.5646MB