Vous êtes sur la page 1sur 5

Institut National des Sciences Appliquées et de Technologie

Technologie d’acquisition et de commande d’interfaçages

TP2: Interfaçage Arduino MATLAB-Simulink

Réalisé par :
Allouche Aziz
Mili Hiba

3ème année Informatique Industrielle et Automatique

Année Universitaire : 2020-2021


I. Objectifs pédagogiques:
Dans ce TP il s’agit d’une manipulation permettant :
- L’exploitation de la carte Arduino UNO
- L’interfaçage de la carte Arduino UNO avec le logiciel MATLAB-Simulink pour assurer la régulation de
température

II. Présentation de la carte Arduino UNO :


Le système Arduino est une carte électronique basée autour d’un microcontrôleur Atmega328 et de
composants minimum pour réaliser des fonctions plus ou moins évoluées à bas coût. Elle possède une
interface usb pour la programmer. C’est une plateforme open-source qui est basée sur une simple carte à
microcontrôleur (de la famille AVR), et un logiciel, véritable environnement de développement intégré,
pour écrire, compiler et transférer le programme vers la carte à microcontrôleur.
1 : Alimentation / Programmation par USB
2 : Alimentation via connecteur Jack DC
3 : Régulateur de tension
4 : Oscillateur à quartz
5,17 : Arduino Reset
6,7,8,9 : Broches (3.3, 5, GND, Vin)
10 : Broches analogiques
11 : Microcontrôleur principal
12 : Connecteur ICSP
13 : Indicateur LED d’alimentation
14 : LEDs TX et RX
15 : Entrées/Sorties numériques
16 : Broche AREF

1. Interfaçage Arduino UNO – MATLAB Simulink :


Dans la première partie du TP, il s’agit de l’interfaçage de la carte Arduino UNO avec le logiciel MATLAB-
Simulink. Pour ceci, on doit installer le package ArduinoIO.
Le package ArduinoIO de MATLAB fournit une interface entre Simulink et le système matériel. Il permet
une communication en temps réel entre Arduino et MATLAB. Il a besoin d'un programme simple pour
charger dans Arduino et créer Simulink par étapes simples. Le programme agit comme un serveur pour
communiquer les informations des périphériques d'entrée, du modèle Arduino et Simulink avec des blocs
et des commandes spéciaux. Dans ce cas, Arduino n'exécutera pas de programme séparé pour contrôler
les appareils, mais exécutera le programme exécutable de Simulink.

2. Implémentation du programme directement sur la carte Arduino :


Pour l’implémentation directe du programme de régulation de température sur la carte Arduino UNO on
va utiliser le logiciel Arduino IDE (Integrated Development Environment).
Ce logiciel open source nous permettra de programmer la carte Arduino avec le langage appropeié afin de
réaliser l’implémentation directe sur la carte.

III. Manipulation :
1. Exploitation du package Arduino IO sur MATLAB :
Après la création d’un nouveau .M file, on commence par créer un objet arduino dans notre espace de
travail à travers la commande >>a=arduino(‘port5’) ;
 On doit utiliser un port de sortie analogique car il s’agit de la régulation de température pour le
système à implémenter à l’aide de la carte Arduino.

2. Programme du système de régulation de température avec Arduino/MATLAB :


Il s’agit d’une régulation PID déduite des TPs précédents et basée sur la formule suivante :

Avec : U(t) la commande ou la sortie du régulateur


ε(t) : l’erreur entre la consigne E et la sortie du système
Kp : gain propotionnel du régulateur PID
Ki : gain d’intégration du régulateur PID
Kd : gain de dérivation du régulateur PID

 Programme MATLAB :
- Lignes 1 9 : Initialisation des actions prportionnelle, dérivée et intégrale, et de la commande U. On
définit une période d’échantillonnage égale à 1s et une consigne de 30°C. Les gains de proportionnalité, de
dérivation et d’intégration du régulateur PID sont mises à leurs valeurs initiales.
- Lignes 1116 : La température du four peut varier entre 0°C et 100°C et le voltage qui donne image de la
température varie entre 0V et 10V d’où la conversion effectuée avec ces commandes MATLAB : On lit un
voltage à l’aide de la carte Arduino (pin numéro A2 : lecture d’un signal analogique) et on le convertit en
température pour le calcul de l’erreur statique.
- Lignes 1922 : La boucle commence par la lecture du voltage d’après la carte Arduino (pin numéro A2 :
lecture d’un signal analogique) puis en le convertit en température (°C) pour le calcul de l’erreur.
- Lignes 2426 : Calcul de l’action intégrale : por se faire on utilise la formule du trapèze car E(i) est une
valeur analogique et non pas une fonction mathématique.
Le calcul de l’action dérivée doit inclure la période d’échantillonnage. L’action prportionnelle est égale à
l’erreur E(i).
- Ligne 28 : Calcul de la commande (signal de sortie du régulateur PID).
- Lignes 3037 : La tension d’utilisation maximale qu’une carte Arduino peut fonctionner avec (Operating
voltage) est égale à 5V. Il ne faut en aucun cas dépasser cette valeur, et pour assurer mieux la sécurité de
la carte et son fonctionnement on définit la tension de commande maximale Umax=4,7 V.
Ces lignes de commande asuurent que la commande calculée U est dans le domaine [0V .. 4,7V] et
l’écriture de cette U(t) à travers la pin numéro 9 de la carte Arduino (signal de sortie PWM).
 Programme avec le logiciel Arduino IDE :

Vous aimerez peut-être aussi