Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Réalisé au sein de :
THEME :
Conception et réalisation
D’un variateur de vitesse pour
Moteur à courant continu a base
D’Arduino
Soutenu le 15/06/2020 Par :
- EL-Mgani Yahya
- Bejjoudi Oussama
Membres de jury :
- M. Président
- M. Membre
- M. Membre
- M. Encadrant ISEM
- M. Encadrant Industriel
Promotion 2020
2
REMERCIEMENTS
Nous louons Dieu de nous avoir donné la vie, la santé et d’avoir fait de nous ce que
nous sommes aujourd’hui. C’est grâce lui que ce présent travail a vu le jour.
On ne trouve pas les mots pour exprimer notre gratitude envers notre encadrante
Mme. Sara Sandabad pour le temps qu’elle a consacré et pour les précieuses
informations qu’elle nous a prodigués avec intérêt et compréhension.
Nos remerciements vont aussi à tous les membres de jury pour le soutien et
l’attention qu’ils nous ont prêtés pendant l’examinassions et le jugement de ce
projet.
Enfin, on saisit cette occasion pour remercier toutes les personnes qui nous ont
épaulés pour effectuer ce projet dans les meilleures conditions et accomplir ce
travail.
Promotion 2020
3
DEDICACES
On dédie Ce travail
Promotion 2020
4
RESUME
Aujourd’hui, les moteurs électriques sont de plus en plus utilisés dans le domaine maritime
(propulseurs électriques, pompes…), et par conséquent, le besoin de contrôler ces machines grandit
aussi. Certes, dans le passé on a eu recours à l’utilisation des variateurs conventionnels, cependant
cette méthode pose des problèmes d’encombrement et de coût.
Pour remédier à ces problèmes nous avons utilisé une carte qui permet de reproduire la fonction d’un
variateur conventionnel tout en réduisant l’encombrement qui est un sérieux problème dans le monde
maritime vu l’espace limité à bord, et aussi, par la même occasion, limiter le coût de l’installation tout
en ajoutant des nouvelles fonctionnalités comme la possibilité du contrôle à distance, l’enregistrement
des paramètres et la possibilité d’ajouter une routine d’asservissement gouvernée par la même carte.
Ainsi, la facilité de la programmation de la carte, nous permet-elle de régler des problèmes sans faire
appel au service d’un technicien ou d’un matériel spécialisé.
Promotion 2020
5
ABSTRACT
Today, electric motors are used more and more in the maritime sector (electric thrusters, pumps
...), and consequently, the need to control these machines is growing too. Admittedly, in the past
we have had recourse to the use of conventional variators, however this method poses problems
of size and cost.
Thus, the ease of programming the card allows us to solve problems without calling on the service
of a technician or specialized equipment.
Promotion 2020
6
Promotion 2020
7
Fig13 : Potentiomètre
Promotion 2020
8
Promotion 2020
9
Promotion 2020
10
K = Une constante
φ : Flux électrique
I = Le courant électrique
η = Le rendement du moteur
Promotion 2020
11
INTRODUCTION
Les variateurs de vitesse sont utilisés dans des nombreux domaines dont
les systèmes de propulsion électrique des navires.
Les propulseurs électriques doivent offrir une manœuvrabilité précise en
mer (azipods) qui devient possible grâce aux variateurs de vitesse avec leurs
capacités de couple élevées et leurs performances rapides et précises.
Promotion 2020
12
CHAPITRE 1 : Introduction de la
machine à courant continu
Promotion 2020
13
Un moteur à courant continu est une machine électrique. Il s’agit d’un convertisseur
électromécanique d’où on place une spire susceptible de tourner autour d’un axe (AA’) dans
un champ magnétique constant (réalisé par des aimants ou un électroaimant parcouru par un
courant constant). Cette spire est parcourue par un courant continu.
Un système de balais alimente cette spire de telle sorte que le courant soit toujours dans le
même sens à droite ou à gauche de (AA’). Il s’exerce alors une force mécanique de Laplace
tendant à faire tourner la spire.
𝐂 = 𝐊. 𝛗. 𝐈 [1]
Promotion 2020
14
Si on pose :
𝐊 = 𝐍/𝟐𝛑 [3]
Cela implique :
𝐄 = 𝐊. 𝛗. Ω [4]
Le rotor tourne avec une vitesse angulaire Ω en créant un couple électromagnétique tel que :
Pe=TemxΩ [7]
Avec :
Tem=K.φ.I [8]
Promotion 2020
15
De nombreux systèmes industriels entraînés par des moteurs électriques utilisent la variation
de vitesse pour optimiser leur fonctionnement.
Deux paramètres définissent le fonctionnement des systèmes dans les moteurs sont le couple
et la vitesse.
Le couple dépend de la charge entrainée ou entrainante, le signe de la vitesse correspond au
sens de la rotation de la machine.
Promotion 2020
16
Selon le sens du couple et de la vitesse, on peut définir, dans un plan couple-vitesse, 4 zones
de fonctionnement caractéristiques (2) :
+ Type hacheur :
Exemple :
Le moteur va réagir
Figure 5: Exemple d’une
comme s’il était alimenté sous
variation de vitesse de
une tension continue de 80V.
type Hacheur
Promotion 2020
17
Promotion 2020
18
Promotion 2020
19
Arduino est une marque qui couvre des cartes électroniques matériellement libres sur
lesquelles se trouve un microcontrôleur. (4)
La carte Arduino est notamment utilisée pour créer des effets spéciaux et des projections
lumineuses dans les boîtes, les escape Game, les jeux d’évasion en salle. On peut par exemple
projeter des formes brillantes sur un mur ou allumer à distance une lampe ultraviolette pour
faire peur ou attirer l’attention du joueur.
Basée sur ATMega328 cadencé à 16 MHz, la carte Arduino Uno nouvelle génération est high-
tech. Le boîtier se compose de composants visibles à la surface de la carte qui facilitent et
accélèrent son utilisation.
L’Atmega328 est un microcontrôleur monopuce créé par Atmel dans la famille megaAVR il a
une architecture de processeur RISC 8 bits modifié par HARVARD. (5)
Prise Jack :
-Connexion USB
Promotion 2020
20
Connecteur USB :
Microcontrôleur :
6 entrées analogique :
Un cristal à 16 MHz :
Un en-tête ICSP :
Promotion 2020
21
Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les broches SDA(PC5)
/SCL(PC4).
Port série (USART) = émission/réception série via les broches TXD(PD1) /RXD(PD0)
La syntaxe d’un langage de programmation est l’ensemble des règles d’écritures liées à ce
langage. On va donc voir dans ce sous chapitre les règles qui régissent l’écriture du langage
Arduino.
Avec Arduino, nous devons utiliser un code minimal lorsque l’on crée un programme. Ce code
permet de diviser le programme que nous allons créer en deux grosses parties.
Promotion 2020
22
Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de code : (7)
Cette fonction setup () est appelée une seule fois lorsque le programme commence. C’est
pourquoi c’est dans cette fonction que l’on va écrire le code qui n’a besoin d’être exécuté une
seule fois. On appelle cette fonction : « fonction d’initialisation ». On y retrouvera la mise en
place des différentes sorties et quelques autres réglages. C’est un peu le check-up de
démarrage.
Une fois que l’on a initialisé le programme il faut ensuite créer son « cœur », autrement dit le
programme en lui-même
C’est donc dans cette fonction loop () où l’on va écrire le contenu du programme. Il faut savoir
que cette fonction est appelée en permanence, c’est-à-dire qu’elle est exécutée une fois, puis
lorsque son exécution est terminée, on la réexécute et encore et encore. On parle de boucle
infinie.
Les instructions sont des lignes de code qui disent au programme : « fait ceci, fait cela, … »
Les points virgules terminent les instructions. Si par exemple je dis dans
mon programme : « appelle la fonction fairedemitour » je dois mettre un
point-virgule après l’appel de cette fonction.
Promotion 2020
23
Les accolades :
Les commentaires :
Ce sont des lignes de codes qui seront ignorées par le programme. Elles ne
servent en rien lors de l’exécution du programme.
Les accents :
Une variable est un nombre. Ce nombre est stocké dans un espace de la mémoire vive
(RAM) du microcontrôleur.
. (Le point)
, (la virgule)
Si on donne un nombre à notre programme, il ne sait pas si c’est une variable ou pas.
Il faut le lui indiquer. Pour cela, on donne un type aux variables.
Il existe une multitude de nombres : les nombres entiers, les nombres décimaux, …
C’est pour cela qu’il faut assigner une variable à un type. (8)
C'est un choix que l'on fait entre plusieurs propositions. En informatique, les conditions
servent à tester des variables.
Quelque symbole :
Promotion 2020
24
If else :
Switch :
Le switch, comme son nom l'indique, va tester la variable jusqu'à la fin des
valeurs qu'on lui aura données.
Arduino IDE
Proteus
I- Arduino IDE :
Promotion 2020
25
- Arduino IDE (Integrated Development Environment) est une application multiplateforme qui est
écrite dans des fonctions de C et C ++. Il est utilisé pour écrire et télécharger des programmes sur
des cartes compatibles Arduino, mais aussi, avec l’aide de cœurs tiers, d’autres cartes de
développement de fournisseurs. Il prend en charge les langages C et C ++ en utilisant des règles
spéciales de structuration de code.
Promotion 2020
26
II- Proteus :
Proteus est actuellement la seule CAO électronique qui permet la conception d'un
système électronique complet et de le simuler. Il nous permet de simuler le circuit
électrique contrôlé par Arduino.
Proteus est un logiciel qui permet la simulation des programmes Arduino en temps
réel et accéder au différents pins de la carte ainsi qu’il permet de tester le code sans
avoir une carte Arduino réelle.
Promotion 2020
27
Promotion 2020
28
Potentiomètre :
Promotion 2020
29
Figure 13 : Potentiomètre
Génération d’un signal PWM pour contrôler la MOSFET qui est responsable de réguler la haute
tension du circuit puissance qui sert à alimenter le moteur DC.
La MOSFET joue un rôle d’un interrupteur contrôlé par un circuit électrique, elle nous permet
de réguler la vitesse du moteur à courant continu.
Le signal PWM est contrôlé par l’Arduino suivant la consigne du signal d’entrée du
potentiomètre qui est alimenté par un courant continu de 5V pour nous livrer une tension de
0 à la tension d’alimentation du moteur (12V)
Cette tension est après interprétée par Arduino sous forme de pourcentage qui a son tour
contrôle le signal PWM de l’Arduino.
Promotion 2020
30
On peut simuler le montage avec le logiciel Proteus qui dispose d’une carte Arduino émulée
qui contrôle le moteur et affiche son état et sa vitesse sur un terminal virtuel.
L’oscilloscope nous permet de faire des mesures instantanées sur n’importe quel point du
montage, ceci nous permet de vérifier si l’Arduino fonctionne correctement.
Promotion 2020
31
Promotion 2020
32
- Code Arduino :
/*
Définitions des pins de l’Arduino
Pin 2 : Défini sur INPUT pour capturer l'état du bouton.
Pin 9 : Défini sur OUTPUT pour envoyer le signal PWM au transistor MosFET.
Pin A0 : Capture la tension entrante du potentiomètre.
*/
int onoff = 2;
int motor = 9;
int pot = A0;
//Définition d'une variable pour stocker la valeur du potentiomètre.
int potVal = 0;
//Définition d'une variable pour stocker la valeur du bouton poussoir.
int button = 0;
//Variable qui enregistre le dernier état du bouton poussoir.
int prevButton = 0;
void setup()
{
pinMode(onoff, INPUT);
pinMode(motor, OUTPUT);
Serial.begin(9600);
}
Promotion 2020
33
void loop()
{
//Re-mappe les valeurs du potentiomètre de 0-1023 à 0-255.
potVal = map(analogRead(A0), 0, 1023, 0, 255);
// Permet de lire l'état du bouton poussoir.
button = digitalRead(onoff);
/*
Ecrire une fonction qui sert à mémoriser l'état du moteur et le
basculer quand on appuie sur le bouton poussoir.
*/
if (digitalRead(onoff) == HIGH)
{
if (prevButton == 0)
{
prevButton = 1;
DC = 1;
}
else
{
prevButton = 0;
DC = 0;
}
}
if (prevButton == 1)
{
analogWrite(motor, potVal);
}
else
{
analogWrite(motor, 0);
}
/*
Ecrire sur le moniteur série l'état du moteur.
*/
Serial.print("%_moteur: ");
Serial.print((potVal * 100) / 255);
Serial.print(" ,Etat moteur: ");
if (prevButton == 1)
{
Serial.println("Marche");
}
else
{
Serial.println("Arret");
}
}
Promotion 2020
34
Promotion 2020
35
Pour réaliser le montage sur le logiciel Proteus on doit suivre les étapes suivantes :
Promotion 2020
36
2- Ecrire le code sur le logiciel Arduino IDE et le vérifier et le compiler, puis copier le
chemin du fichier compilé qui est un fichier « .hex » depuis le terminal de sortie du
logiciel.
Promotion 2020
37
La modulation de largeur d’impulsion (PWM) est une technique couramment utilisé pour
synthétiser des signaux pseudo analogique à l’aide de circuits à fonctionnement tout ou rien
ou plus généralement discrets.
Promotion 2020
38
Le principe général est qu’en appliquant une succession rapide d’états discrets aves des ratios
de durée bien choisis, on peut obtenir en ne regardant que la valeur moyenne du signal
n’importe quelle valeur intermédiaire.
On va utiliser ce signal PWM pour contrôler la MOSFET qui sert à lier entre circuit de puissance
du moteur et la carte Arduino (à partir d’un signal 0à5V on a un signal de 0à12V).
Dans le schéma de puissance du moteur on a un générateur de 12V DC, pour avoir une tension
de 8V on doit régler le potentiomètre sur ‘’8/12=0.66 ‘’ c’est-à-dire durant une période T le
signal PWM doit être dans l’état « HIGH » pendant 0.66T et « LOW » pendant 0.33T
Promotion 2020
39
400
350
300
250
RPM
200
150
100
50
0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
%PWM
Promotion 2020
40
400
350
300
RPM 250
200
150
100
50
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
TU
Promotion 2020
41
Conclusion
Pour conclure, nous avons utilisé un signal PWM pour faciliter le contrôle du moteur à courant continu
à l’aide du MOSFET qui est lié à la carte Arduino et le moteur.
La carte Arduino est largement disponible dans le marché, il est facile à programmer et dispose de
plusieurs fonctionnalités bien documenté sur le site « arduino.cc »
Le logiciel Proteus nous permet de simuler une carte Arduino sans avoir une carte physique simulée et
tester du circuit utilisant la carte Arduino.
Promotion 2020
42
PERSPECTIVE
L’utilisation de l’Arduino offre un avantage majeur : Elle permet de réduire la taille du variateur du
moteur à courant continu tout en ajoutant des fonctionnalités. Vu que nous nous dirigeons vers un
monde de plus en plus informatisé, la carte Arduino peut se connecter à Internet pour recevoir des
consignes de vitesse, elle peut aussi être programmée à distance pour ajouter des nouvelles
fonctionnalités (programme d’asservissement, enregistrement en cas de sinistres…).
L’utilisation de cette carte peut réduire la marge de l’erreur humaine en confiant la tâche de contrôle
de vitesse à la machine au lieu de l’être humain, et en cas de mauvais fonctionnement, elle peut
enregistrer et transmettre les paramètres qui précèdent le sinistre via Internet ou localement sur
l’ordinateur de la salle de contrôle.
Alors la carte Arduino nous permet d’ajouter des fonctionnalités tout en réduisant le coût et
l’encombrement.
Promotion 2020
43
BIBLIOGRAPHIE
3. Arduino . https://www.arduino.cc/reference/en.
Promotion 2020