ANNÉE ACADÉMIQUE 2020 - 2021
UNIVERSITE LIBRE DES PAYS DES GRANDS LACS FACULTE DE
SCIENCES ET TECHNOLOGIES APPLIQUEES
DEPARTEMENT DE GENIE ELECTRIQUE ET
INFORMATIQUE
BP. 368 GOMA
www.ulpgl.net
CONCEPTION D'UN VARIATEUR DE
VITESSE POUR UN MOTEUR
ASYNCHRONE TRIPHASE
Par MASIRIKA AMANI Nicolas
Travail présenté en vue de l'obtention du
Diplôme de Gradué en Sciences et Technologies Appliquées
Option : Génie Electrique et Informatique
Directeur : Prof. BARAKA MUSHAGE Encadreur : Ass
Johnson KISAMBA
Epigraphe
« There is nothing new under the sun »
1
King Solomon
2
Dédicace
Je dédie ce travail à mes parents Hubert et
Concilie MASIRIKA, pour leur support, et leur
amour.
3
Remerciements
Je remercie mon directeur Pr Olivier BARAKA et mon encadreur Ass.
Johnson KISAMBA, pour leur empressement, conseil, orientation et encouragement,
qui ont contribué à l'achèvement de ce travail.
Je voudrais aussi adresser mes sincères gratitudes
à tous les enseignants de l'ULPGL, pour leur grand effort qu'ils ont
contribué pour notre connaissance intellectuel, et aussi à tout
le monde qui a contribué d'une manière ou d'une autre à
l'achèvement de ce travail.
4
Résumé
Ce travail consiste en la conception d'un variateur de vitesse
pour moteur asynchrone triphasé qui reçoit à
l'entrée une tension triphasée à fréquence
constante et fournit en sortie une tension triphasée à
fréquence variable. Le long de ce travail nous avons
étudié partie par partie, les constituants du variateur de
vitesse. Pour le variateur proposé dans ce travail, à partir
d'une source triphasée, vers un redresseur triphasé double
alternance, la tension redressée passe par un étage de filtrage,
pour être enfin ondulé par un onduleur commandé par MLI
afin d'obtenir une tension à fréquence variable ; ce qui permet
d'obtenir une variation de vitesse, sachant que si la fréquence augmente
et la vitesse augmente aussi.
Mots clés : variateur de vitesse,
fréquence constante, fréquence variable, MLI.
5
Abstract
This work consists in designing a three-phase asynchronous
motor speed controller, which receives at the input while at constant frequency
a three-phase voltage. At the output, with a variable frequency it provides a
three-phase voltage. We studied part by part the components of the speed
variable. From a three-phase source, to a three-phase double rectifier, the
rectified voltage passes through a filtering stage. Finally it is corrugated by
an inverter controlled by PWM in order to obtain a variable frequency voltage
and a speed variation, knowing that if the frequency increases the speed will
increases too.
Keywords: speed controller, constant frequency
variable frequency, PWM
6
Table des matières
Epigraphe 1
Dédicace 2
Remerciements 3
Résumé 4
Table des matières 6
Liste des abréviations 11
Liste des figures Error! Bookmark not
defined.
1. Introduction générale 12
1.1. Contexte/Généralités sur le
thème 12
1.2. Questions de recherche 12
1.3. Formulation des hypothèses 13
1.4. Justification du choix du sujet et motivations 14
1.5. Énoncé des objectifs de recherche 14
1.5.1. L'objectif général 14
1.6. Méthodologie 14
1.7. Structure du mémoire/ Subdivision du travail 15
Chapitre 1 GENERALITES SUR LES MOTEURS ASYNCHRONES
TRIPHASE 16
1.1 Introduction 16
1.2 Constitution 17
7
1.3 Principe de fonctionnement 19
1.4 Bilan de puissance 20
1.5 Approche sur la variation de vitesse du moteur asynchrone
triphasé 21
1.5.1 Importance 21
1.5.2 Technique de variation de vitesse 22
1.6 Commande de la machine asynchrone 26
1.6.1 Commande scalaire 26
1.6.2 Commande vectorielle 28
1.7 Conclusion partielle 28
Chapitre 2 BLOC REDRESSEUR-FILTRE-ONDULEUR 29
2.1 Introduction 29
2.2 Bloc Redresseur 30
2.2.1 Redressement double alternance monophasé 30
2.3 Filtre et lissage 34
2.3.1 Filtre capacitif 34
2.4 Onduleur Triphasé 38
2.4.1 Transistor IGBT 39
2.4.2 Commande des onduleurs 40
2.5 Résumé sur la conception 40
2.5.1 Redresseur 40
2.5.2 Filtrages 41
2.5.3 Onduleurs 41
2.6 Conclusion partielle 41
Chapitre 3 CONCEPTION ET SIMULATION DU VARIATEUR DE
VITESSE 42
3.1 Introduction 42
3.2 Présentation du logiciel Proteus et Matlab SIMULINK
42
3.3 Simulations 43
8
3.3.1 Simulation du réseau d'alimentation du variateur
de vitesse 43
3.3.2 Simulation du redresseur 45
3.3.3 Filtrage 46
3.3.4 Hacheur Buck 47
3.3.5 Onduleur triphasé MLI 48
3.4 Conclusion partielle 54
Conclusion générale 56
Annexe A 60
Bibliographie Error! Bookmark not defined.
9
LISTE DES FIGURES
Figure 1 constitution du moteur asynchrone triphasé
[3] 18
Figure 2 plaque à bornes pour MAT [4] 18
Figure 3 champ tournant produits par un enroulement
triphasé [6] 19
Figure 4 bilan énergétique du MAT [8]
20
Figure 5 caractéristique couple vitesse en agissant sur le
glissement [9] 23
Figure 6 courbe caractéristique de la variation de la
vitesse en agissant sur la fréquence [9]
25
Figure 7 courbe du control v/f 27
Figure 8 schéma bloc du variateur de vitesse [10]
29
Figure 9 redresseur monophasé double alternance avec pont
de Graetz [11] 31
Figure 10 redressement double alternance triphasé
[11] 32
Figure 11 Redressement double alternance courbe [11]
33
Figure 12 Courbe de redressement simple alternance avec
filtre capacitif [11] 34
Figure 13 redressement double alternance avec filtre
[11] 35
Figure 14 calcul approximatif de la valeur du condensateur
[11] 37
Figure 15 Schéma de puissance d'onduleur
triphasé [12] 39
Figure 16 forme du signal des tensions d'entrées
44
Figure 17 signal de la tension redressée 45
Figure 18 Filtrage avec un condensateur de faible
capacité 46
Figure 19 Filtrage avec un condensateur de 14000uF 47
Figure 20 réalisation d'un hacheur dévolteur
48
Figure 21 simulation d'un onduleur SPWM 50
Figure 22 Forme du signal à la sortie de l'onduleur
SPWM 51
Figure 23 figure de la commande SPWM avec un arduino
52
Figure 24 signal SPWM, généré par
l'arduino 53
10
LISTE DES TABLEAUX
11
Liste des abréviations
MLI : Modulation par largeur d'impulsion
DC : Direct Current
AC : Alterrnative Current
MAS : Moteur Asynchrone Triphasé
Pa : Puissance absorbe
Pu : Puissance utile
g : glissement
ç : rendement
ns : vitesse startorique
nr : vitesse rotorique
n : vitesse rotorique
p : nombre de pair de pole
max: Flux maximum
F : fréquence
V : tension
D : diode
Vs(t) : tension instantané
C : capacité
Q : charge électrique
I : courant
Imoy : courant moyen
CAO : conception assisté par ordinateur
12
1. Introduction générale
1.1. Contexte/Généralités sur le
thème
Actuellement les moteurs asynchrones sont
considérés comme l'outil de conversion
électromécanique le plus utilisé dans le milieu industriel
suite à leur simplicité de conception, leur robustesse
mécanique et leur faible cout d'achat.
Ces moteurs remplacent les moteurs à courant continu
qui étaient beaucoup utilisés dans le passé, et tel que
les lessiveuses, il peut nécessiter un entrainement a vitesse variable.
Sa variation de vitesse est différente de celle des autres moteurs, pour
les moteurs DC, l'action sur la tension d'alimentation nous donnes une large
marge de variation de vitesse, mais pour un moteur asynchrone plusieurs
paramètres sont pris en compte du coup un peu plus complexe, mais
nécessaires pour fonctionner à vitesse variable.
Le variateur de vitesse pour moteur asynchrone triphasé
est beaucoup utilisé pour régler le processus de démarrage
mais aussi pour fixer le point de fonctionnement du moteur asynchrone.
1.2. Questions de recherche
Apres avoir vu que les variateurs des vitesses pour les
moteurs asynchrones triphasés étaient difficiles à se
procurer ici à Goma, et pour l'obtenir il faut faire un achat en ligne,
nous nous sommes proposés de concevoir un variateur de vitesse, qui sera
commercialiser ici.
D'où notre nous sommes face à certaines
questions que nous allons devoir répondre afin de mener bien ce travail,
il s'agit de :
13
- Comment allons-nous faire pour obtenir une variation de vitesse
à une grande marge
de variation ?
- Pour obtenir le résultat souhaité : comment
concevoir cet équipement ?
- Comment l'optimiser afin d'être plus efficace ?
- Quelle particularité aura notre variateur de vitesse
?
Celles-ci sont les questions qui nous guideront tout au long de
ce travail.
1.3. Formulation des hypothèses
Les variateurs de vitesses actuels sont certainement
différents les unes aux autres, elles dépendent du fabricant,
parce qu'ils existent plusieurs types de commande de la machine asynchrone,
mais le principe de fonctionnement reste le même. Et ce principe, sera
appliqué et respecté, mais par contre afin d'optimiser
l'appareil, on va augmenter certaines fonctionnalités.
Pour obtenir une variation de la vitesse d'un moteur
asynchrone, nous allons agir sur la fréquence, qui est la technique la
plus appropriée, et pour concevoir un dispositif capable de le faire qui
est le variateur de vitesse, qui consiste à recueillir la tension du
réseau qui est d'une fréquence stable de 50Hz, la redresser
ensuite la convertir en une tension alternative à fréquence
variable.
Afin d'optimiser l'équipement, on a choisi de toujours
fixer le rapport entre la tension et la fréquence toujours constante ce
qui permet de maintenir le couple constant à des vitesses variables.
La particularité de notre variateur est qu'on aura une
possibilité de fonctionner sous un régime de tension
monophasé et alimenté un moteur asynchrone triphasé.
14
1.4. Justification du choix du sujet et motivations
Les moteurs asynchrones étant les plus utilisés
à nos jours, sa variation de vitesse devient nécessaire et
importante car on veut améliorer son fonctionnement et son rendement.
Le variateur de vitesse nous apporte cet avantage, car on
obtient une commande optimale de notre moteur, une réduction de
consommation d'énergie, une possibilité d'utilisation dans un
réseau domestique monophasé des petits moteurs asynchrones
triphasé, plusieurs freinages et bien d'autres applications
1.5. Énoncé des objectifs de recherche
1.5.1. L'objectif général
Le long de ce travail nous nous proposons comme objectif
général, la conception d'un variateur de vitesse d'un moteur
asynchrone en lui ajoutant certaines fonctionnalités, tel qu'il sera
alimenté en monophasé et fournir une tension triphasée.
1.5.2. Les objectifs
opérationnels/spécifiques
En particulier on s'engage à concevoir un
équipement qui pourra résoudre les problèmes liés
aux variations de vitesse. Pour y arriver nous allons devoir concevoir un
équipement capable de varier la fréquence de sortie en
fournissant une tension triphasé décalée de
120o avec un signal sinusoïdale, le rapport de
tension-fréquence, sera toujours une constante afin d'obtenir un couple
constant
1.6. Méthodologie
Pour notre recherche on va faire appel aux méthodes et
techniques suivantes : Méthodes déductives : on va utiliser les
méthodes mathématiques pour pouvoir modéliser et analyser
le fonctionnement des moteurs asynchrones
Méthodes expérimentales : on va
expérimenter les différentes techniques pour produire une
tension à fréquence variable
15
1.7. Structure du mémoire/ Subdivision du
travail
Le travail ci présent consiste à la conception
d'un variateur de vitesse d'un moteur asynchrone triphasé.
C'est ainsi que tout le long de notre travail nous aurons 3
chapitres qui seront :
Chapitre 1 :
Tout au long ce chapitre nous allons étudier d'une
manière générale le moteur asynchrone triphasé, son
fonctionnement, sa constitution, son démarrage, freinage et sa variation
des vitesse, son bilan énergétique, et puis on va s'attarder sur
les différentes techniques qu'on peut utiliser pour varier la
vitesse.
Chapitre 2 :
Dans ce chapitre ci on verra le bloc
redresseur-filtre-onduleur, on va étudier bloc par bloc,
réalisation d'un bon redresseur, un bon filtre, et un onduleur pur sinus
triphasés
Chapitre 3 :
Ici on verra comment réaliser le variateur de vitesse,
dont on va étudier les différents étages, les choix de
composants électroniques à utiliser, et si possible voir comment
on peut le simuler avec Simulink
16
Chapitre 1
GENERALITES SUR LES MOTEURS
ASYNCHRONES TRIPHASE
1.1 Introduction
Les machines asynchrones triphasées sont des machines
électriques qui transforment l'énergie électrique
énergie mécaniques grâce à des
phénomènes électromagnétiques.
Du fait de sa simplicité de construction, de sa
robustesse, et son faible prix de revient, nécessitant peu de
maintenance, de plus la vitesse de rotation est presque constante sur une large
plage de puissance. La machine asynchrone est couramment utilisée :
- comme moteur, avec des marges de puissances qui varient d'une
centaine de watt à plusieurs milliers de kilowatts.
- comme génératrice dans les systèmes
éoliens, les hydroliennes et les systèmes de
génération de l'électricité à vitesse
variable.
D'où la machine asynchrone MAS, est une machine AC, ayant
deux enroulements dont l'un rotorique et l'autre statorique [1].
17
1.2 Constitution
Le moteur asynchrone est principalement de 2 parties, l'une
fixe appelé stator et l'autre mobile appelé rotor
séparé par un entrefer.
Le stator porte un enroulement triphasé et est
alimenté en triphasé via la plaque à bornes de la machine,
ce qui nous offre une possibilité d'un couplage Etoile ou triangle.
Le stator est constitué d'un circuit magnétique
en fer doux au silicium, feuilleté dans le but de limiter les pertes par
courant de Foucault, et l'alliage du silicium pour limité les pertes par
cycles d'hystérésis, ces 2 pertes constituent les pertes fer, que
l'on verra dans son implication dans le bilan de puissance de notre moteur. Il
est identique à celui d'un alternateur triphasé, on l'appelle
également l'inducteur parce que grâce au champ tournant qu'il
développe, il y a naissance des courants induits au rotor, et son
comportement on va l'assimiler à celui du secondaire d'un
transformateur.
Le courant dans le rotor provient du champ magnétique
au stator. Pour le rotor, il y a aucune liaison électrique a une source
d'énergie ce qui simplifie la construction, on l'appel induit ou
secondaire.
Nous avons 2 types de rotor :
- rotor a bagues : rotor a pôles
lisses, constitué des 3 enroulements souvent couplé
en Etoiles, et couplé à un rhéostat qui
est mis en court-circuit en fonctionnement normal, il permet d'améliorer
les meilleurs conditions de démarrage.
Notons que pour ce cas le stator et le rotor doivent avoir le
même nombre de pôles et doivent avoir le même nombre de
rainure.
- Rotor a cage : ici l'enroulement est
remplacé par des barres de cuivre ou d'aluminium, logées dans les
encoches et sont joints à leurs extrémités par une
couronne en aluminium qu'on appelle couramment cage d'ecureille
[2]
La figure suivante nous montre la constitution d'un moteur
asynchrone triphasé avec toutes ses parties
18
Figure 1 constitution du moteur asynchrone triphasé
[3]
La figure suivante, montre la plaque à borne du moteur
asynchrone, qui est un élément essentiel car c'est à ce
niveau que sont assurés les différents couplages pour le cas d'un
démarrage direct.
Figure 2 plaque à bornes pour MAT [4]
19
1.3 Principe de fonctionnement
Le moteur asynchrone triphasé est alimenté par
un réseau triphasé de fréquence f, le stator crée
un champ tournant à une vitesse de synchronisme, qui en balayant les
conducteurs du rotors, y induits des forces électromotrices, qui
implique la naissance des courants induits, ces courants produisent un champs
contraire au champ inducteur ce qui par conséquent produits un couple
moteur, à son tour entraine le rotor qui se met en mouvement à
une vitesse proche de celle de la vitesse de synchronisme mais n'y arrive pas,
d'où l'appellation du moteur asynchrone. [5]
Figure 3 champ tournant produits par un enroulement
triphasé [6]
20
1.4 Bilan de puissance
Le moteur absorbe une puissance Pa=3 V I cos(ö), au niveau
du stator, à ce niveau même nous avons des pertes fer ou encore
des pertes magnétiques et dans les conducteurs des pertes joules, le
reste est transmise au rotor, elle est donc appelé puissance transmise
au rotor Cette puissance se décompose en 2 ;
- Une partie se dissipe sous forme de pertes joules rotorique,
- L'autre est convertie en puissance mécanique, celle
qu'on appelle puissance utile que nous recueillons au niveau de l'arbre.
Formules ? Puissance absorbe : Pa=v 3 U I
? Puissance utile : Pu=Tu. ? [7]
La figure ci-dessous montre le bilan de puissance d'un moteur
asynchrone triphasé.
Figure 4 bilan énergétique du MAT [8]
21
Beaucoup utilisés dans le passé, les moteurs
à courant continu, ont été abandonnés suite
à leurs inconvénients qui sont l'entretien et la
réparation, le prix d'achat des pièces de rechange.
D'où industriellement les moteurs asynchrones sont la
solution actuelle, mais dans son application de fois on doit pour des raisons
techniques, diminué ou augmenter la vitesse, limité son courant
de démarrage, pour ce faire, nous avons abordé la notion de
variation de vitesse
1.5 Approche sur la variation de vitesse du moteur
asynchrone triphasé
1.5.1 Importance
La variation de vitesse pour un moteur asynchrone est une
notion très importante, car nous dans le domaine industriel nous nous
retrouvons devant certaines applications qui nécessitent la variation de
vitesse pour optimiser le fonctionnement.
Contrairement aux moteurs DC, ici la variation est un peu plus
complexe.
Son intérêt peut être classifié en 2
:
- La performance de la commande :
Le variateur permet d'améliorer les performances des
moteurs afin qu'ils répondent aux besoins de l'industrie ou de l'usager,
les paramètres qu'on aura à gérer sont :
L'accélération, la vitesse, la température, la tension, le
flux, le courant et le couple.
Les moteurs à charges normales peuvent absorber un
courant allant jusqu'à 8 fois le courant nominal, parmi les applications
du variateur, un démarrage à faible
22
vitesse, limite ces courants de pic, qui limite aussi les
contraintes électriques et mécanique que subissent les
moteurs.
- Economie d'énergie :
la consommation électrique est diminué lorsque les
moteurs tournent à une vitesse inferieure à la vitesse normale,
et aussi lorsqu'on limite les pics de démarrage.
1.5.2 Technique de variation de vitesse
Pour déterminer la vitesse d'un moteur asynchrone, on se
base sur la formule suivante de la Vitesse de synchronisme (vitesse du champ
tournant)
Équation 1
Ns : vitesse de synchronisme : tr/s f : fréquence : Hz
p : nombre de paires de pôles Fréquence de
rotation
M ! N = ns (1-g) g : glissement n = (1-g) f/p
Donc les différentes possibilités d'action sont
:
1. Fréquence
2. Nombre de paires de pôles
3. Glissement
1.5.2.1 Action sur le glissement
Ci-dessous la courbe caractéristique de la variation de la
vitesse en agissant sur le glissement
23
Figure 5 caractéristique couple vitesse en agissant sur le
glissement [9]
24
Comme on l'a vu lorsqu'on étudiait le principe de
fonctionnement du moteur asynchrone, la vitesse de rotation de l'arbre est
différente de celle du synchronisme qu'on appelle encore vitesse du
champ tournant. Ainsi donc le glissement peut être définit comme
la différence de vitesse de rotation entre l'arbre du moteur et le champ
tournant du stator
[%] Équation 2
En analysant la courbe caractéristique, on Remarque que
l'action sur le glissement, la variation de vitesse n'est pas importante, du
coup ce procédé n'est pas envisageable si on veut obtenir les
résultats voulue, qui sont une plage importante de variation de vitesse
et une stabilité du couple fournit quel que soit la vitesse.
1.5.2.2 Action sur le nombre de paires de pôles
Ce procédé, jadis utilisé, consiste
à varier la vitesse, en changeant le nombre de pair de pôles, ces
moteurs sont des moteurs asynchrones a cages d'écureuil appelé
moteur a couplage dhalander, les enroulements ont plusieurs couplages PV et GV,
couple constant, couple variable, et vitesse variable, et puissance.
Ce procédé n'est plus utilisé car il nous
offre seulement certains vitesse fixe depandant de nombre de pair des
pôles, pas une marge importante des vitesses, et il est encombrant pour
des moteurs de même puissance.
25
1.5.2.3 Action sur la fréquence
La figure suivante montre l'allure de la variation de la vitesse
en agissant sur la fréquence
Figure 6 courbe caractéristique de la variation de
la vitesse en agissant sur la fréquence [9]
Pour une tension efficace donnée, la modification de la
fréquence agit sur ;
- La vitesse de synchronisme
- Le moment du couple maximale - Le glissement maximal
Après analyse des courbes ci-dessus, nous constatons:
? Une large gamme des vitesses quelle que soit la forme du couple
résistant ? Un faible glissement donc un bon rendement à toutes
les fréquences
? Un risque de décrochage aux fréquences
supérieures à la fréquence nominale
En conclusion, l'action sur la fréquence est plus
efficace donc c'est le meilleur pour la variation de la vitesse.
26
D'autres procédés existent tel que: action sur
la tension stator, action sur la résistance du rotor, cascade hypo
synchrone; permettent aussi une variation de vitesse, à une petite plage
de vitesse, n'étant pas efficace, elles ne sont pas beaucoup
utilisé
En conclusion, après l'étude de ce
procédé, on Remarque que l'action sur la fréquence reste
de près la meilleur façon de varier la vitesse pour un moteur
asynchrone [9]
1.6 Commande de la machine asynchrone
Cette notion est très importante si on veut
améliorer la performance de notre variateur de vitesse, mais
nécessite beaucoup des notions approfondies en électrotechnique
pour parvenir à comprendre ces notions qui nous nous permettent de
Controller la vitesse.
C'est ainsi que cette partie comporte 2 concepts qui sont:
1.6.1 Commande scalaire
La plus anciennes et la plus simples de lois de commande d'une
machine asynchrone, grâce aux avancés de l'électronique de
puissance, de nombreux variateurs utilisent ce mode de commande
Principe:
La vitesse du moteur dépend de la vitesse de
synchronisme qui dépend aussi de la fréquence Et comme
Équation 3
Or dans le fonctionnement normal, le circuit magnétique
du moteur fonctionne à la limite de la saturation au régime
normal, donc on doit s'arranger de fonctionner au toujours à ce
régime maximal sans arriver à sa saturation d'où:
Équation 4
27
le couple dépend du champ magnétique, donc du flux,
pour garder le même couple quand f varie, il faut garder le même
flux et donc fonctionner sous =cste
Ceci est possible en utilisant un onduleur autonome.
La figure suivante présente la caractéristique de
la tension et fréquence constante,
Figure 7 courbe du control v/f
Cette courbe nous montre que quel que soit la vitesse, le
couple reste constant, car le rapport tension-fréquence reste la
même.
La commande scalaire n'est rien d'autre que de s'assurer de
maintenir une V/f=constant, qui signifie garder le flux constant.
28
1.6.2 Commande vectorielle
ce type de commande vient d'être
développée récemment, suite à l'avancée de
la micro-électronique, elle nécessite des calculs de
transformé de Park, évaluation de fonctions
trigonométriques, des intégrations, des régulations...
[9]
1.7 Conclusion partielle
Cette partie a consisté à comprendre le
fonctionnement d'un moteur asynchrone triphasé et sa constitution. Nous
avons vu différentes façons d'agir sur la vitesse du moteur
asynchrone, parmi tous les procédés on a constaté que la
variation de la vitesse en agissant sur la fréquence est le meilleur
procédé pour agir sur la vitesse avec une grande marge de
variation, mais par contre pour le bon fonctionnement du moteur, on a introduit
une notion appelé commande de la machine asynchrone.
Cette dernière nous permet d'avoir un couple constant
quel que soit la vitesse et aussi que la machine fonctionne toujours à
la limite de la zone de saturation et cela n'est possible que si on s'arrange
de maintenir un rapport V/F constant.
29
Chapitre 2
BLOC REDRESSEUR-FILTRE-ONDULEUR
2.1 Introduction
Le long de ce chapitre nous allons étudier bloc par bloc,
les différentes parties qui constituent un variateur de vitesse
En général un variateur de vitesse est
constitué d'un redresseur, d'un filtre et d'un onduleur et une interface
utilisateur.
La figure montre la constitution et le schéma bloc d'un
variateur de vitesse pour un moteur asynchrone triphasé.
Figure 8 schéma bloc du variateur de vitesse
[10]
30
2.2 Bloc Redresseur
Un redresseur est un convertisseur alternatif/continu ou pont
de GRAET, il est destiné à alimenter une charge qui
nécessite un courant continu à partir d'une source
alternative.
Il existe 2 types de redresseur
- Redresseur non commandé (fait à base des
diodes)
- Redresseur commandé (Réalisé à base
des thyristors)
Pour obtenir une tension continue, on redresse la tension
alternative supposées sinusoïdale, cette tension peut être
aux bornes d'un alternateur généralement elle est fournie par le
réseau monophasé ou plus souvent par le réseau
triphasé, d'ordinaire par l'intermédiaire d'un transformateur.
2.2.1 Redressement double alternance monophasé
Un redresseur double alternance monophasée est un
redresseur redressant les alternances négatives et conservant les
alternances positives du courant à l'entrée. La fréquence
en sortie du redresseur est alors le double de la fréquence
d'entrée.
La courbe ci-dessous montre les courbe de la tension
redressée et non redressée
31
Figure 9 redresseur monophasé double alternance avec pont
de Graetz [11]
L'expression de la valeur moyenne de la tension redressé
en mono alternance est donnée par
( t) >= 2V2 y Équation 5
2.2.2 Redressement double alternance triphasé.
Un redresseur double alternatif est un redresseur permettant de
redresser une source triphasée. Le signal redressé a alors une
fréquence six fois supérieure au signal d'entrée.
La figure ci-dessous représente le redressement double
alternance triphasé réalisé à partir des diodes.
32
Figure 10 redressement double alternance triphasé
[11]
Ainsi les courbes ci-dessous représentent l'allure des
courbes des tensions d'entrée et sortie et du courant.
33
Figure 11 Redressement double alternance courbe [11]
L'expression de la valeur moyenne de tension redressée est
donnée par
( t) > 2V3V2 y Équation 6
Car nous avons 3 tensions triphasés, la valeur moyenne de
la tension est supérieure à celle obtenue en redressement
monophasé.
2.3 Filtre et lissage
Le filtre a pour rôle de réduire la composante
alternative et augmenter le niveau de la tension continu d'un circuit
redresseur. Il existe plusieurs types de filtre, certains moins plus efficace
que les autres. Parmi eux on va voir les filtres capacitifs et inductifs
2.3.1 Filtre capacitif
Ce type de filtre est beaucoup utiliser dans des applications
électrotechniques, il consiste à placer un condensateur en
parallèle avec la charge, le condensateur lui ayant la capacité
de s'opposer aux variations brusques de tension, il empêche la que la
tension atteigne la tension nul.
Le signal ci-dessous montre l'effet d'une capacité
après le redressement, on constate que le signal est plus continu,
d'où l'intérêt d'utilisation d'un condensateur de grande
capacité.
Figure 12 Courbe de redressement simple alternance avec
filtre capacitif [11]
34
La charge du condensateur maintient cette tension minimale
tout près de la valeur Max. Pour un redressement simple et double
alternance, présentons la figure sous l'effet d'un filtre capacitif.
35
Figure 13 redressement double alternance avec filtre
[11]
36
La variation de tension aux bornes du condensateur
causée par la charge est appelée ronflement. La tension de sortie
sera la tension moyenne, la fréquence du ronflement dépendra du
type de redressement utilisé. La valeur de cette tension de ronflement
est exprimée en volt crête-à-crête
Calcul du condensateur
Pour évaluer la capacité du condensateur
à installer, il faut connaitre les besoins du circuit qui sont :
- La tension et le courant désiré à la
charge - La quantité minimale du ronflement - Le type de redressement
utilisé
La formule de la capacité etant :
Équation 7
ici on remarque que le courant qui circule dans le
condensateur dépend de combien la tension peut varier entre les 2
recharges. En effet pour qu'un courant circule dans un condensateur, il faut
varier la tension à ses bornes, d'où l'équation
s'écrit
Équation 8
la figure 13 montre l'approximation qui nous permettra de
calculer d'une façon simple la valeur du condensateur, on constate que
:
- Le temps ou le condensateur est rechargé est
négligé - Le courant demandé par la charge est
constant.
37
Figure 14 calcul approximatif de la valeur du condensateur
[11] En reprenant la formule vue précédemment:
Équation 9
où:
I = I moyen (courant qui décharge le condensateur)
dt = La période entre deux recharges (1/f ronfl.).
dV = La variation de tension aux bornes du condensateur (er). On
trouve ainsi cette formule simple:
Équation 10
Où :
f ronfl, c'est 50 Hz en demi-onde et 100 Hz en pleine-onde .
Comme le filtrage exige des condensateurs de fortes
capacités, on utilisera des condensateurs électrolytiques dans le
circuit de filtrage.
En pratique on fait usage des condensateurs de valeur
élevée, de l'ordre de 1000uF à 4000uF, toujours être
prudent lors de son branchement et respecter sa polarité.
Il doit toujours supporter la tension aux bornes de la charger,
sinon il claque.
2.3.2 Filtre inductif
Le filtre LC propose un filtrage indépendant de la
charge, la bobine et le condensateur travaillent ensemble pour fournir à
la charge la tension la plus linéaire que possible. La bobine permet au
condensateur de conserver une partie de sa charge lorsqu'il y a baisse de
tension. Ce type de filtre est peu utilisé car il a tendance à
diminuer le courant disponible à la charge.
2.4 Onduleur Triphasé
Un onduleur est un dispositif d'électronique de
puissance permettant de générer des tensions et des courants
alternatifs partir d'une source d'énergie électrique de tension
ou de fréquence différente. C'est la fonction inverse d'un
redresseur.
De même que pour les onduleurs monophasés, les
onduleurs triphasés sont eux aussi composés d'IGBT. Cependant les
plus classiques en comportent 6 (2 interrupteurs complémentaires par
bras de l'onduleur). Ces 6 interrupteurs forment ensemble 3 cellules de
commutation qui vont permettre de hacher la tension continue en la tension
sinusoïdale équilibrée, afin d'alimenter par exemple un
moteur synchrone ou encore un moteur asynchrone
Comme pour les onduleurs monophasés, les onduleurs
triphasés peuvent être réalisés sous forme de
convertisseurs multi-niveaux. Ce qui permet de mieux contrôler la tension
de sortie, de diminuer les harmoniques et surtensions sur la charge
38
La figure suivante montre le principe de réalisation d'un
onduleur triphasé
39
Figure 15 Schéma de puissance d'onduleur
triphasé [12]
C'est ainsi qu'on va s'intéresser à 2
éléments qui sont la partie puissance constitué des
transistors IGBT et la commande de ces transistors.
2.4.1 Transistor IGBT
Le transistor bipolaire à grille isolé IGBT, est
un dispositif semi-conducteur de la famille des transistors qui est
utilisé comme interrupteur électronique, principalement dans les
montages de l'électronique de puissance.
Il a pour caractéristique, la grande simplicité
de commande du transistor à effet de champ par rapport au transistor
bipolaire tout en conservant les faibles pertes par conduction de ce
dernier.
40
2.4.2 Commande des onduleurs
Les onduleurs se pilotent via une commande fortement non
linéaire. Cette non-linéarité est due à la
structure des onduleurs composés d'IGBT qui ne se pilotent qu'en tout ou
rien. Par conséquent il est nécessaire que la commande soit elle
aussi en tout ou rien. La commande la plus classique des interrupteurs des
onduleurs se fait par comparaison entre deux signaux. En effet cela force la
commande à être binaire (soit 0 soit 1). Les signaux en question
se nomment modulante et porteuse. La modulante étant classiquement, la
tension de référence divisée par la tension de bus avec un
offset de 0.5, et la porteuse est un signal triangulaire compris entre 0 et
1.
Plusieurs techniques de commande existent mais on va
s'intéresser à la commande MLI.
La commande MLI ou PWM, est un signal numérique, donc
la tension peut prendre deux valeurs seulement. Dans certains cas très
spécifiques, on fabrique un troisième niveau en inversant la
tension du niveau haut.
2.5 Résumé sur la conception 2.5.1
Redresseur
On utilisera un pont de diode PD3 qui a comme
caractéristiques : - Courant de sortie maximal 35A
- Courant nominal 10A pour un moteur de 4kW, mais en raison du
couple appliqué au moteur ou bien du courant de démarrage, il
peut fortement augmenter.
2.5.2 Filtrages
On le met en parallèle avec le circuit de redressement ;
la valeur de la capacité est environ 1000uF ; elle supporte une tension
de 400V.
2.5.3 Onduleurs
Dans cette partie on utilise des IGBT, le transistor deviendra
passant lorsque la tension aux bornes du condensateur sera supérieure
à 360V. L'IGBT peut supporter 600V entre le collecteur et
émetteur et peut laisser passer un courant de 14A.
2.6 Conclusion partielle
Ce chapitre décrit les composants électroniques de
puissance de base pour réaliser notre variateur de vitesse ; il
décrit leurs fonctionnements ainsi que leurs caractéristiques.
41
Le chapitre suivant va porter sur la conception, et la
simulation.
42
Chapitre 3
CONCEPTION ET SIMULATION DU
VARIATEUR DE VITESSE
3.1 Introduction
Dans ce chapitre nous allons concevoir et simuler les
différents étages de notre variateur de vitesse, qui sont
l'alimentation, redresseur, onduleur, et la commande MLI ; pour cela on va
utiliser les logiciels Matlab sous l'environnement Simulink et le logiciel
Proteus.
Le logiciel Proteus sera utilisé pour sa
simplicité de manipulation pour la réalisation du schéma
électronique, et aussi pour voir l'allure et les réponses des
tensions
3.2 Présentation du logiciel Proteus et Matlab
SIMULINK
La CAO électronique PROTEUS est une suite logicielle,
éditée par la société Labcenter Electronics et
revendue en France exclusivement par Multi power. Proteus est actuellement
(2020) la seule CAO électronique qui permet la conception d'un
système électronique complet et de le simuler, y compris avec le
code des microcontrôleurs. Pour ce faire, elle inclut un éditeur
de schéma (ISIS), un outil de placement-routage (ARES), un simulateur
analogique-numérique, un environnement de développement
intégré pour microcontrôleurs, un module de programmation
par algorigrammes ainsi qu'un éditeur d'interface pour Smartphone afin
de piloter à distance des cartes Arduino ou Raspberry. Proteus est
composé
43
de différents packages qui sont: Proteus PCB pour le
circuit imprimé, Proteus VSM pour la simulation, Proteus Visual
Designer/IoT Builder pour Arduino/Raspberry pour développer des projets
comparables à ceux conçus avec des outils tels que Scratch et App
inventor
Simulink est un logiciel de modélisation système
multi-physique édité par l'entreprise américaine The
Math Works. Simulink est une plate-forme de simulation multi-domaine et de
modélisation de systèmes dynamiques. Il fournit un environnement
graphique et un ensemble de bibliothèques contenant des blocs de
modélisation qui permettent le design précis, la simulation,
l'implémentation et le contrôle de systèmes de
communications et de traitement du signal. Simulink est intégré
à MATLAB, fournissant ainsi un accès immédiat aux nombreux
outils de développement algorithmique, de visualisation et d'analyse
de
données de MATLAB. //ici la source c'est
Wikipédia, le style de la bibliographie utilisé n'est pas
compatible avec ma version, ça risque de perturber les autres
références.
3.3 Simulations
3.3.1 Simulation du réseau d'alimentation du
variateur de vitesse
Le variateur de vitesse sera alimenté par des tensions
triphasés déphasées les unes des autres de
1200, d'amplitude 220/380V, à une fréquence constante
qui est celle de 50Hz. La figure ci-dessous va montrer la simulation sous
Proteus du réseau d'alimentation, elle montre l'allure des courbes ainsi
que le déphasage de ces 3 tensions sinusoïdales.
44
L'expression des tensions est donnée par :
Figure 16 forme du signal des tensions
d'entrées
V1in=Vmax. Sin (wt)
V2in= Vmax. Sin (wt-2ð /3) V3in= Vmax .sin (wt-4ð /3)
3.3.2 Simulation du redresseur
La tension triphasé sinusoïdale à
l'entrée subit un redressement triphasé double alternance afin
d'obtenir une tension à l'allure continu ; mais comme nous l'avons
remarqué au niveau du chapitre 2, le signal de sortie n'est pas tout
à fait continu. La figure ci-dessous nous donne l'allure du signal
obtenu après avoir subi un redressement triphasé double
alternance.
45
Figure 17 signal de la tension redressée
3.3.3 Filtrage
Afin d'obtenir un signal qui est presque continu,
l'utilisation d'un filtre capacitif constitué d'un condensateur est
nécessaire, mais la nature du signal dépends de la valeur de la
capacité du condensateur, les figures suivantes montrent les
différentes allures des courbes des différentes capacités
du condensateur.
46
Figure 18 Filtrage avec un condensateur de faible
capacité
47
Figure 19 Filtrage avec un condensateur de 14000uF
3.3.4 Hacheur Buck
Dans le cadre d'optimisation de la commande et
l'économie de l'énergie, on avait vu que varier la tension en
fonction de la fréquence, maintenir ce rapport constant était un
atout, nécessaire pour concevoir un dispositif performant. L'utilisation
d'un redresseur commandé, paraissaient une possibilité, mais un
convertisseur DC-DC(Hacheur) est le bon procédé suite à sa
simplicité de réalisation. Hacheur Buck est un hacheur
dévolteur, qui nous fournit en sortie une tension faible que celle en
entrée.
On parvient à varier la valeur de la tension de sortie
facilement grâce au hacheur ci-dessous, en ajustant sur la commande du
MOSFET.
48
Figure 20 réalisation d'un hacheur
dévolteur
Sur la figure 19, il apparait clairement que la tension
d'entrée, qui est la tension composée du système
triphasé de 380V redressée, est abaissée à
90.5V.
3.3.5 Onduleur triphasé MLI
Un onduleur transforme une tension continue en une tension
alternative, il impose une forme de tension bien déterminée
à la machine quel que soit le courant absorbé, et travaille en
commutation forcée. Une commande adéquate appliquée
à l'onduleur lui permet de régler la fréquence et
l'amplitude des grandeurs de sortie.
On va appliquer une commande MLI pour commander les IGBT.
La commande MLI permet d'imposer à la machine des ondes
de tensions à amplitudes et fréquences variable à partir
du réseau standard.
3.3.5.1 Simulation dans Simulink
Cette partie nous aide à faire la simulation des signaux
modulés à largeur d'impulsion et leur utilisation pour la
commande des processus à partir des ressources informatique ou
numériques. La simulation sous l'environnement Simulink, permet de
réaliser la modulation
49
à base des composants électroniques virtuel et
d'éléments de circuits logiques, mais en pratique, ce n'est pas
évident, d'où nous allons faire une conception sous Proteus.
La figure ci-dessous montre la conception sous Simulink d'un
onduleur triphasé SPWM.
Figure 21 simulation d'un onduleur SPWM
Les résultats de simulations obtenus de ce modèle
sont donnés sur la figure 22.
51
Figure 22 Forme du signal à la sortie de l'onduleur
SPWM
52
3.3.5.2 Simulation dans Proteus
La simulation dans l'environnement Simulink/MATLAB, nous
montre le principe d'obtention d'une modulation SPWM, mais pour application
pratique les fonctions de certaines parties peuvent être assurées
au niveau logiciel sous forme de programme informatique (voir l'annexe A). Dans
notre travail pour la conception, nous avons utilisé une carte
électronique programmable appelée Arduino qui porte un
microcontrôleur, dans lequel loge notre programme.
TIME
1k
A3 A0
TAN SO
1k
A0
A3
A0
A1
A2
A3
A4
A5
ARD1
ARDUINO UNO
PC0/ADC0
PC1/ADC1
P/A
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
RESET
VCC
GND
-PB3/MOSI/OA
-PB2/SS/OC1B
PB0/ICP1/CLKO
-
TX
RX PD0/RXD
PD4/T0/XCK
-PD6/AIN0
PB1/OC1A
PB4/MISO
PD7/AIN1
PD3/INT1
PD2/INT0
PB5/SCK
PD1/TXD
PD5/T1
AREF
PWM1
PWM2
PWM3
9
8
7
6
5
4
3
2
0
13
12
11
10
1
7
6
5
4
3
2
PWM3
220R2
PWM2
PWM1
R1
220R3
220
LCD1
LCD 16X2
www.TheEngineeringProjects.com
C1
10uf
10uf
CLK
CE
CLK
CE
CLK
CE
RST
RST
RST
C3
10uf
A
B
C
D
Figure 23 figure de la
commande SPWM avec un arduino
53
La figure 22 représentate le modèle
utilisé pour simuler le variateur de vitessse basé sur Arduino,
dans Proteus.
En sortie nous avons un signal triphasé
fréquence variable comme le montre la figure ci-dessous
Figure 24 signal SPWM, généré par
l'arduino
54
3.4 Conclusion partielle
Dans ce chapitre nous avons procédé à la
conception du variateur de vitesse. Nous avons analysé bloc par bloc, et
simuler grâce au logiciel Proteus et l'environnement Simulink de Matlab.
Afin de générer le signal SPWM, nous avons recouru à la
carte Arduino, qui est une solution matérielle et efficace afin de
réaliser le montage étudié. Nous avons simulé
grâce au logiciel Matlab le principe de fonctionnement d'un onduleur
à modulation par largeur d'impulsion et on a vu l'allure de la tension
en sortie, qui étaient des tensions triphasées
déphasées de 120o, les unes des autres.
55
56
Conclusion générale
Le travail ici présent porte sur la conception d'un
variateur électronique de vitesse, qui est beaucoup utilisé dans
l'industrie pour la variation de vitesse et la commande de la machine
asynchrone.
Afin de réaliser ce travail nous nous sommes
proposés de répondre aux questions suivantes :
- Comment allons-nous faire pour obtenir une variation de
vitesse à une grande marge de variation ?
- Comment concevoir cet équipement ?
- Comment l'optimiser afin d'être plus efficace ?
- Quelle particularité aura notre variateur de vitesse
?
Après avoir vu les différentes techniques de
variations de vitesses au chapitre premier, nous avons vu que la variation de
vitesse en agissant sur la fréquence était la meilleure
alternative, d'où nous avons conçu un variateur
électronique de vitesse, qui redresse d'abord la tension triphasé
à l'entrée ensuite après avoir été
filtrée dans un bloc à filtre capacitif, la tension continu est
ondulée par un onduleur SPWM.
Lors de la réalisation afin d'optimiser la commande,
nous avons utilisé un hacheur commandé pour varier la tension,
Nous avons vu les généralités sur la
machine asynchrone, son fonctionnement, les différentes techniques de
variation de vitesse, et différentes commande de la machine
asynchrone.
57
Les différentes techniques de variation de vitesses de
moteur asynchrones que nous avons vu, sont classiques car il existe d'autres
techniques plus développé dans ce domaine.
Au niveau du chapitre 2, nous avons subdivisé le variateur
en 3 blocs, redresseur, filtre, onduleur, que nous avons étudié
le principe et au chapitre 3 nous avons conçu avec le logiciel Proteus,
et simuler l'onduleur MLI, avec Matlab/Simulink.
L'objectif c'est de varier la vitesse du moteur asynchrone en
agissant sur la fréquence.
Nous aurons pu réaliser ce projet, mais faute de moyen
ça n'a pas été possible, mais c'est toujours faisable.
Pour plus d'optimisation, le modèle du variateur de
vitesse avec une commande vectorielle, est une alternative que plus tard nous
pourrons développer.
Pour finir, le travail ci-présent nous a permis
d'acquérir quelque connaissance en électronique de puissance et
de maitriser la conception assistée par l'ordinateur.
58
Bibliographie
[1] wikipedia, «machine asynchrone».
[2] A. Derouich, «module eletrotechnique 1,»
moteur asynchrone triphasé, 2014.
[3] «
https://energieplus-lesite.be/techniques/ascenseurs7/moteur-asynchrone/,»
[En ligne].
[4]
http://mistershoe.free.fr/Electrobobinage/schemasbobinaasync/Plaque/PLAQUES.HTM.
[En ligne].
[5] M. bertil, machines electrique, Goma, 2021.
[6]
https://openclassrooms.com/fr/courses/5119661-initiez-vous-a-lelectronique-embarquee-capteurs-et-actionneurs/6097246-decouvrez-les-besoins-electriques-dactionneurs-electromagnetiques-usuels.
[En ligne].
[7] jean-clette, machine electrique, paris.
[8]
https://genie-electrique.net/exercices-moteur-asynchrone-triphase-couplage-bilan-des-puissances/.
[En ligne].
[9] S. M. Ch'beil, «simulation d'un variateur de vitesse
pour un moteur asynchrone triphasé,» memoire de master ,
2019.
[10]
https://electrotoile.eu/demarreur-variateur-vitesse.php.
[En ligne].
[11]
https://www.maxicours.com/se/cours/circuit-redresseur/.
[En ligne].
[12] wikipedia, «onduleur triphasé,» [En
ligne].
[13]
JUnit.org. [En ligne]. Available:
http://www.junit.org. [Accès
le 2 Janvier 2019].
[14] wikipedia, «machine asynchrone».
59
60
Annexe A
Code arduino pour la commande SPWM [code]
#include "arduino.h"
#include "avr/pgmspace.h" #include "avr/io.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
const byte sine256[] PROGMEM = {
127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,178,181,184,187,190,192,195,198,20
0,203,205,208,210,212,215,217,219,221,223,225,227,229,231,233,234,236,238,239,240,
242,243,244,245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254,254,254,254,253,253,253,25
2,252,251,250,249,249,248,247,245,244,243,242,240,239,238,236,234,233,231,229,227,225,223,
221,219,217,215,212,210,208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,158,15
5,152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,96,93,90,87,84,81,78,
76,73,70,67,64,62,59,56,54,51,49,46,44,42,39,37,35,33,31,29,27,25,23,21,20,18,16,15,14,12,11,10,9,7,6,5,5,4,3
,2,2,1,1,1,0,0,0,0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,10,11,12,14,15,16,18,20,21,23,25,27,29,31,
33,35,37,39,42,44,46,49,51,54,56,59,62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,121,
124
};
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#define INPUT_DIR ((PINC&0x04)==0) // 00000010 = A2 //Control
Direction
int PWM1= 9; //PWM1 output, phase 1
int PWM2 = 10; //PWM2 output, phase 2
int PWM3 = 11; //PWM3 output, phase 3
int offset_1; //offset 1 is 120 degrees out of phase with
previous phase, Refer to PWM to sine.xls
int offset_2; //offset 2 is 120 degrees out of phase with offset
1. Refer to PWM to sine.xls
int ISR_exec_time = A4; //monitor how long the interrupt takes
int INVERTOR_ENABLE = A1; //INVERTOR ENABLE
double ad_cel; double spd_ref;
61
double spd_ref_max = 481; //60Hz
double spd_ref_min = 20; //2.5Hz
double speed;
unsigned char direction; // (0 forwared, 1 reverse)
unsigned char run;
int num = 0; // frequency
const double refclk=31376.6; // measured output frequency
//
const int ledPin = A5;
int ledState = LOW;
long previousMillis = 0;
long interval = 50000;
volatile byte current_count;
volatile byte ms4_delay;
volatile byte c4ms;
volatile unsigned long phase_accumulator;
volatile unsigned long tword_m;
void setup()
{
//Serial.begin(9600);
pinMode(PWM1, OUTPUT); pinMode(PWM2, OUTPUT); pinMode(PWM3,
OUTPUT); pinMode(ledPin, OUTPUT); pinMode(ISR_exec_time, OUTPUT);
pinMode(INVERTOR_ENABLE, OUTPUT); digitalWrite(INVERTOR_ENABLE, LOW);
//sbi(PORTB,program_exec_time); //Sets the pin
//digitalWrite(program_exec_time, HIGH);
Setup_timer0();
Setup_timer1();
Setup_timer2();
sbi (TIMSK2,TOIE2);
tword_m=pow(2,32)*speed/refclk; //calulate DDS new tuning word
//lcd.init(); lcd.begin(16,2);
lcd.clear();
digitalWrite(ledPin, HIGH); WaitLoop(30000);
digitalWrite(ledPin, LOW);
}
void loop()
{
while(1)
{
ReadAnalogs();
62
unsigned long currentMillis = millis(); // For ledState
// Control Power IR2111
if (speed > spd_ref_min){
offset_1 = 85;
offset_2 = 170;
run = 1;
digitalWrite(INVERTOR_ENABLE, HIGH);
}
else {
offset_1 = 0;
offset_2 = 0;
run = 0;
digitalWrite(INVERTOR_ENABLE, LOW);
}
// LCD HZ
num = (speed/8);
if(speed == spd_ref_min) num = 0;
lcd.setCursor(0, 0); lcd.print("TAN SO: ");lcd.print(num);
lcd.setCursor(10,0);lcd.print("Hz");
// Monitor program if((currentMillis - previousMillis) >
(interval/(num+1))) { // save the last time you blinked the LED
previousMillis = currentMillis;
// if the LED is off turn it on and vice-versa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);
}
//
if (c4ms > 0) // c4ms = 4ms, thus 4ms *250 = 1 second delay
{
c4ms=0; //Reset c4ms
cbi (TIMSK2,TOIE2); //Disable Timer2
Interrupt tword_m=pow(2,32)*speed/refclk; //Calulate DDS new tuning word
sbi (TIMSK2,TOIE2); //Enable Timer2 Interrupt
}
}
}
void WaitLoop(unsigned int time) {
unsigned int i,j;
for (j=0;j<time;j++)
63
{
for (i=0;i<200;i++) //the ATmega is runs at 16MHz
if (PORTC==0xFF) DDRB|=0x02; //just a dummy instruction
}
}
void ReadAnalogs(void) {
spd_ref=map(analogRead(0),0,1023,0,spd_ref_max); //Read
voltage on analog 1 to see desired output frequency, 0V = 0Hz, 5V =
1.023kHz
ad_cel=map(analogRead(3),0,1023,1,200); // Manat Add
if(spd_ref > spd_ref_max) spd_ref = spd_ref_max; // Manat add
maximum 60Hz if(spd_ref < spd_ref_min) spd_ref = 0; // Manat Add minimum
2.5Hz
if (INPUT_DIR)
{
if (direction==0) spd_ref=spd_ref_min;
if (speed==spd_ref_min) direction=1; //only allow direction
change at minimum speed
}
else
{
if (direction==1) spd_ref=spd_ref_min;
if (speed==spd_ref_min) direction=0; //only alow direction change
at minimum speed
}
//if (spd_ref>speed) speed=speed+0.02; // Hz step //if
(spd_ref<speed) speed=speed-0.02; if (spd_ref>speed)
speed=speed+(1/ad_cel); // Hz step if (spd_ref<speed)
speed=speed-(1/ad_cel); if (speed<spd_ref_min) speed=spd_ref_min;
}
void Setup_timer0(void)
{
TCCR0B = (TCCR0B & 0b11111000) | 0x02;
cbi (TCCR0A, COM0A0);
sbi (TCCR0A, COM0A1);
cbi (TCCR0A, COM0B0);
sbi (TCCR0A, COM0B1);
sbi (TCCR0A, WGM00);
cbi (TCCR0A, WGM01);
}
void Setup_timer1(void) {
64
TCCR1B = (TCCR1B & 0b11111000) |0x02;
cbi (TCCR1A, COM1A0); sbi (TCCR1A, COM1A1); cbi (TCCR1A, COM1B0);
sbi (TCCR1A, COM1B1); sbi (TCCR1A, WGM10); cbi (TCCR1A, WGM11); cbi (TCCR1B,
WGM12); cbi (TCCR1B, WGM13);
}
void Setup_timer2()
{
TCCR2B = (TCCR2B & 0b11111000) | 0x02; cbi (TCCR2A, COM2A0);
sbi (TCCR2A, COM2A1); cbi (TCCR2A, COM2B0); sbi (TCCR2A, COM2B1); sbi (TCCR2A,
WGM20); cbi (TCCR2A, WGM21); cbi (TCCR2B, WGM22);
}
ISR(TIMER2_OVF_vect)
{
//cbi(PORTC,program_exec_time); //Clear the pin
//sbi(PORTC,ISR_exec_time); // Sets the
pin //digitalWrite(program_exec_time, LOW);
digitalWrite(ISR_exec_time, HIGH); if (direction==0)
phase_accumulator=phase_accumulator+tword_m; else
phase_accumulator=phase_accumulator-tword_m;
if (run==0)
current_count=0;
else
current_count=phase_accumulator >> 24; // use upper 8 bits
of phase_accumulator as frequency
information
OCR1A = pgm_read_byte_near(sine256 + current_count); // read
value fron ROM sine table and send
to PWM
OCR1B = pgm_read_byte_near(sine256 + (uint8_t)(current_count +
offset_1)); // read value fron ROM sine table and send to PWM, 120 Degree out
of phase of PWM1
OCR2A = pgm_read_byte_near(sine256 + (uint8_t)(current_count +
offset_2));// read value fron ROM sine table and send to PWM, 120 Degree out of
phase of PWM2
//increment variable ms4_delay every 4mS/125 = milliseconds
32uS
if(ms4_delay++ == 125)
{
c4ms++;
ms4_delay=0; //reset count
}
65
digitalWrite(ISR_exec_time, LOW); }
[/code]
66
|