Académique Documents
Professionnel Documents
Culture Documents
1 د د ب ا دة ــ
Université SAAD DAHLAB de BLIDA 1
ا وو
Faculté de Technologie
م ا! رو ـك
Département d’Électronique
Mémoire de Master
Mention Électronique
Spécialité Automatique
présenté par
Zerroukhat Wassim
&
Daoud Noureddine
Que tous les membres de jury soient remerciés pour le soutien, l’intérêt et
l’attention qu’ils ont porté a cette thèse.
En fin nos remerciements vont également à tous nos amis et camarade de labo
pour leur soutient, leur appui moral qu’ils nous ont témoigné ainsi que leurs
disponibilité durant les jours du travail.
Dédicace
Je tiens à dédier ce modeste travail à :
A mes très chers parents qui ont tellement fait de sacrifices pour moi.
A mon grand père qui était mon soutient toutes ces années d’études.
Ma chère sœur, mes frères, mes oncles, mes tantes, mes cousins et tous les
membres de la famille zerroukhat et bouzina , chacun par son nom.
Mon binôme avec qui j’ai partagé les bons et les mouvais moments.
Z.Wassim
DÉDICACES
Je dédie ce modeste travail aux gens qui m’ont soutenu et aidé à
préparer ce travail:
A mes chers parents et à toute ma grande famille DAOUD.
Mes frères, mes sœurs,
Mes enseignants,
Mon Binôme,
Mes amis,
Mes collègues.
A tous mes amis de la promotion Master ATM 2015-2016.
A tous ceux que j’aime et qui m’aiment .
DAOUD NOUREDDINE
:ملخص
لقد تم بحمد ﷲ إتمام مشروع التخرج بعنوان السيطرة، والصﻼة والسﻼم ﻋﻠﻰ أنبيائه،بسم ﷲ الرحمان الرحيم
. المنفذ في بطاقة أردوينوPID بواسطة المنظمSegway ﻋﻠﻰ نواس مقﻠوب ﻋﻠﻰ شكل
الذي يعالج المعﻠومات اﻵتية من المﻠتقطATmega2560 تحتوي بطاقة أردوينو ﻋﻠﻰ المتحكم
بهدف الحفاظ ﻋﻠﻰ.المتحكم يستعمل هذه المعﻠومات لﻠتحكم في المحركات، gy-521 MPU-6050
Résumé : Au nom de Dieu le miséricordieux, prière et paix soient sur ses Prophètes,
avec la louange de Dieu il a été possible de réaliser ce projet de fin d'études intitulé:
contrôle d'un pendule inversé de type segway par régulateur PID qui implémenter
sur une carte Arduino.
La carte Arduino, muni d’un microcontrôleur ATmega2560, traite les informations
acquise par le capteur gy-521 MPU-6050, le microcontrôleur utilisent ces
informations pour commander les moteurs. Dont le but de stabiliser la position du
segway.
Abstract :
In the name of God the Merciful, prayer and peace be upon His Prophets, with the
praise of God it has been possible to realize this project graduation titled : control of
an inverted pendulum type segway by PID controller which implement on an
Arduino board.
information to control motors. Which aims to stabilize the position of the segway.
M : poids de la plate-forme.
m : poids pendule.
: La position.
θ: Angle pendule.
b : frottement du chariot.
L : distance au centre de gravité du pendule.
I: inertie du pendule.
F: force appliqué au chariot.
( ): Tension appliquée au moteur.
: Constante de vitesse.
: Constante de couple.
: Couple de pertes.
: Couple résistant.
Introduction générale……………………………………………………………………………………………………1
Chapitre 1 : Généralité
1.1 Introduction……………………………………………………………………………………………………………3
1.2 Pendule inversé………………………………………………………………………………………………………3
2.1 Introduction………………………………………………………………………………………………………….14
2.4.1 Introduction………………………………………………………………………………………………..21
2.4.2 Correction des systèmes………………………………………………………………………………22
2.4.3 Régulation en boucle fermée……………………………………………………………………… 22
2.4.4 Eléments constitutifs d’une boucle de régulation ……………………………………….23
3.1 Introduction………………………………………………………………………………………………………..27
4.1 Introduction…………………………………………………………………………………………………………48
4.3 Conclusion……………………………………………………………………………………………………………56
Conclusion générale……………………………………………………………………………………………………57
Liste des figures
Figure 1.4: Les robots EMIEW (gauche) et EMIEW2 (droite) Anybots. ……………………..... 6
Le Segway est un moyen de transport personnel dont l'équilibre est assuré par
un système automatique, construit autour du principe du pendule inversé.
La description du pendule inversé muni de son actionneur et ses capteurs ainsi
que les divers phénomènes physiques présents lors du fonctionnement, montrent la
forte complexité due aux nombreux non linéarités ainsi que la difficulté à modéliser
parfaitement la dynamique du système pendule inverse -capteurs- actionneur.
Le contrôle du pendule inversé pour le redressement et la stabilisation devient
ardu, car la connaissance du système se révèle imprécise et imparfaite, il est
largement utilisé comme banc d'essai pour analyser les performances des différents
types des contrôleurs. Afin d'assurer la stabilité du segway, deux moteurs à courant
continu feront une plate-forme mobile qui va déplacer vers l'avant et vers l'arrière
avec une vitesse variable, ce sera calculé dans un système embarqué basé sur un
microcontrôleur dédié.
Dans un segway nous nous intéressons à la mesure de l'inclinaison du pendule,
Pour mesurer l'inclinaison du système pendule inversé nous avons besoin de
mesurer l'accélération dans un axe, avec ces données, il est possible de déterminer
l'inclinaison du segway.
1
Introduction générale
Dans ce projet, nous avons été invité à mettre en œuvre un contrôleur PID pour
stabiliser la position du segway en utilisant un microcontrôleur ATmega2560, le
capteur mpu6050 mesure la vitesse angulaire et l’accélération de ce dernier, après
envoyer cette mesure vers l’arduino par le protocole i2c.
2
Chapitre 1 Généralité
1.1 Introduction
Dans ce chapitre, nous présentons le pendule inversé et ces différents robots à deux
roues pour faire la connaissance de segway.
segway
3
Chapitre 1 Généralité
4
Chapitre 1 Généralité
5
Chapitre 1 Généralité
6
Chapitre 1 Généralité
7
Chapitre 1 Généralité
8
Chapitre 1 Généralité
9
Chapitre 1 Généralité
Segway est un transporteur bien connu par l’auto équilibrage personnel, qui a été
produit par Segway Inc du New Hampshire, États-Unis [5]. Il a été inventé par Dean
Kamen en 2001.
Segway est entraîné par des servomoteurs et il peut accélérer jusqu'à 20
kilomètres par heure. Un capteur d'inclinaison et de plusieurs gyroscopes sont
employés dans Segway pour détecter le mouvement angulaire du robot. Segway
coureur est capable d'accélérer et de décélérer en se penchant en avant ou en
arrière. En 2006 IBot était un autre produit développé par Kamen [6]. IBot est un
fauteuil roulant électrique mobile, Il monte les escaliers et se tient en équilibre.
IBot augmente sa hauteur quand il tient en équilibre sur deux roues. L’augmentation
de la hauteur offre une vision du niveau des yeux pour une personne désactivée pour
communiquer avec d'autres personnes. Figure 1.8 illustre les fonctionnalités IBOT.
Figure 1.8. Les robots Segway i180 series (gauche) et iBot 4000 (droite).
10
Chapitre 1 Généralité
11
Chapitre 1 Généralité
L’incorporation de différents
fférents mécanismes tels que l'infrarouge (IR) appariés ont
été utilisés pour déterminer
ner les mesures d'inclinaison. L'inclinaison
L'inclinaison du robot dans une
direction particulière sur la base des comparaisons que les deux capteurs fournissent.
12
Chapitre 1 Généralité
Les systèmes de contrôle linéaires sont utilisés dans un grand nombre de ces
conceptions et dans la plupart du temps fournissent un robot stable. [3]
1.5 Conclusion
Les robots d’équilibrage à deux roues viennent dans de nombreuses formes. Leurs
gammes d'utilisation du transport est à l’entrainement. Comme il a été découvert
dans ce chapitre un segway n’est pas très différent des autres robots mentionnés. Il
utilise des gyroscopes et des accéléromètres, comme la plupart des robots.
13
Chapitre 2 Modélisation et régulation
2.1 Introduction
14
Chapitre 2 Modélisation et régulation
Avec:
M: Poids de la plate-forme. b : frottement du chariot.
m: Poids de pendule. : La position.
L : distance au centre de gravité du pendule. I: inertie du pendule.
: Angle de pendule. F: force appliqué au chariot.
La somme des forces dans le diagramme du corps libre du chariot dans le sens
horizontal, nous obtenons l'équation de mouvement suivante:
+ + = ……(2.1)
= = …………....(2.3)
= = ……………..(2.4)
= + − ………………………(2.5)
Si nous remplaçons cette équation (2.5) dans la première équation (2.1), nous
obtenons la première équation du mouvement pour ce système:
+ + + − = …………………………..(2.6)
15
Chapitre 2 Modélisation et régulation
mathématique. Résoudre le système le long de cet axe finit par sauver beaucoup
d'algèbre. Tout comme l'équation précédente est obtenue, les composantes verticales
de ces forces sont considérées ici pour obtenir l'équation suivante:
+ − = + … … … … … … … 2.7
Pour débarrasser les termes P et N de l'équation ci-dessus, nous somme les
moments autour du barycentre du pendule pour obtenir l'équation suivante:
− − = … … … … … … … … 2.8
La combinaison de ces deux dernières équations, nous obtenons la deuxième
équation dynamique:
+ + =− ……………………………..(2.9)
L'ensemble des équations définissant complètement la dynamique du pendule inversé
sont:
+ + + − = …………………………..(2.10)
+ + =− …………………………………………(2.11)
Ces deux équations sont non linéaires et doivent être linéarisée pour la plage de
fonctionnement. Étant donné que le pendule est en cours de stabilisation à une
position d'équilibre instable, qui est " radians de la position d'équilibre stable, cet
ensemble d'équations doivent être linéarisé environ ="
Supposons que : = " + # ;(où # représente un petit angle de la direction
+ + − ∅ = )……………………….(2.12)
+ ∅− ∅= ………………….……(2.13)
16
Chapitre 2 Modélisation et régulation
/3+/ 1
- , =2 − 4 ∅ , ……………………..…….(2.16)
+ ,
/3+/ 1 /3+/ 1
*++ 5 +
− , 6, .∅ , + .5 +
− , 6 ,. ∅ , − +/, ∅ , = 0 , ….(2.17)
+/
∅ , 7 ,
= … … … … . . 2.18
0 , . / + +/ +1: * + + .+1:
,8 + , −
9 , − 7 ,
7 7
Où :
7 = * + + / + +/ − +/
∅ , +/,
= … … … . 2.20
0 , 7. , + . / + +/ , − +1: * + + , − .+1:
9
17
Chapitre 2 Modélisation et régulation
Un moteur électrique à courant continu est régit par les équations physiques
découlant de ses caractéristiques électriques, mécaniques et magnétiques. D'après la
loi de Newton, combiné à des lois de Kirchhoff, On peut écrire les équations
différentielles de premiers ordres suivantes :
CD
> ? = @A ? + B CE ? + F ? ……………….(2.21)
F ? = GH Ω ? ………………………(2.22)
IJ = GL A ? − IM ………………………..(2.24)
IK = NΩ ? ………………………………….(2.25)
18
Chapitre 2 Modélisation et régulation
On en déduit l’expression de Ω p :
GL i p − IM
Ω p = … … … … … 2.31
Jp + f
On peut en sortir l’expression de i(p):
N + PQ IM
X Q = YΩ p + Z … … 2.32
GL f + Jp
19
Chapitre 2 Modélisation et régulation
R Lp f Jp
> Q =Ω p [ GH ^ … … … . . 2.34
GL
La fonction de transfert cherchée H(p) est entre la tension entrant dans le moteur U(p)
et la vitesse de sortie Ω(p) : [9],[10
,[10]
Ω Q GL
_ Q … … … … … … … … . 2..35
> Q R Lp f Jp GL GH
20
Chapitre 2 Modélisation et régulation
2.4.1 Introduction
21
Chapitre 2 Modélisation et régulation
22
Chapitre 2 Modélisation et régulation
Figure 2.5. Schéma fonctionnel d’un système asservi mono-variable (correction en boucle
fermée).
23
Chapitre 2 Modélisation et régulation
vw •} {
xy z { = | { } ~ + | {
+ | • } { { ………………..(2.38)
24
Chapitre 2 Modélisation et régulation
E C
>•‚ƒ ? = G• × F ? + GD × np F „ …„ + GC × CE F ? ………………..(2.39)
25
Chapitre 2 Modélisation et régulation
HKKHJK‹HKKHJKŒ•é•é•‘’“
†X‡ = G• × FˆˆFOˆ + GD × ∑ FˆˆFOˆ × ∆? + GC × ∆E
……..(2.40)
PID :
wait ( dt )
GOTO PID
2.6 Conclusion
26
Chapitre 3 Partie électronique et hardware
3.1 Introduction
27
Chapitre 3 Partie électronique et hardware
Dimensions 53 mm × 68 53 mm × 68 53 mm × 68 53 mm × 68
mm mm mm mm
Tension de 5V 5V 5V 5V
fonctionnement
(recommandée)
(limites)
Broches d’entrée 6 6 6 12
analogique
28
Chapitre 3 Partie électronique et hardware
fonctionnement
29
Chapitre 3 Partie électronique et hardware
Broches d’entrée 6 16 12
analogique
30
Chapitre 3 Partie électronique et hardware
a Alimentation de la carte
La carte Arduino Méga peut-être alimentée soit via la connexion USB (qui fournit 5V
jusqu'à 500mA) ou à l'aide d'une alimentation externe. La source d'alimentation est
sélectionnée automatiquement par la carte.
31
Chapitre 3 Partie électronique et hardware
32
Chapitre 3 Partie électronique et hardware
c Entrées analogiques
La carte Méga dispose de 16 entrées analogiques (numérotées de A0 à A15)
permettent de mesurer une tension pour pouvoir en utiliser les valeurs dans les
programmes. Ces entrées sont désignées comme étant de type analogique, et elles le
sont par défaut, mais vous pouvez également les exploiter en tant qu’entrées
numériques ou même comme sorties numériques, ces broches mesurent entre le 0V
(valeur 0) et le 5V (valeur 1023).
33
Chapitre 3 Partie électronique et hardware
g Microcontrôleur
Le microcontrôleur est l’élément principal de la carte Arduino, un
n microcontrôleur
est littéralement un petit ordinateur contenu dans une seule puce. Il embarque même
plus de fonctions que les premiers ordinateurs personnels, puisqu’il réunit un
processeur central, huit kilo-octet
octet de mémoire vive (SRAM)
( pour
ur stocker les données,
quatre kilo-octets
octets de mémoire en lecture seule effaçable (EEPROM) ou en mémoire
flash, dans lesquels vous pouvez stocker les programmes, ainsi que des broches
d’entrée et de sortie. Ces broches permettent de relier de microcontrôleur à vos
vo
composants électroniques.
Le microcontrôleur utilisé sur la carte Arduino Méga est
st un microcontrôleur
ATMega2560, C’est un microcontrôleur ATMEL de la famille AVR.[20]
AVR.
3 Boitier de l’ATMega2560.
Figure 3.3.
34
Chapitre 3 Partie électronique et hardware
35
Chapitre 3 Partie électronique et hardware
est utilisée pour accéder aux fonctions avancées de l’IDE. Enfin, une console (4)
affichant les résultats de la compilation du code source, des opérations sur la carte,
etc.
36
Chapitre 3 Partie électronique et hardware
pinMode : Cette commande qui va dans la fonction setup (), est utilise pour
définir la direction d'une broche d'entrée / sortie numérique.
Pour mesurer ou envoyer une commande il faut les quatre fonctions suivants:
• digitalRead(pin) : mesure une donnée numérique sur une des broches, la
broche en question doit être réglée en entrée.
• digitalWrite(pin, value) : écrit une donnée numérique sur une des broches, la
broche concernée doit être réglée en sortie. Le paramètre value doit être égal à
HIGH (état 1 soit 5V) ou LOW (état 0 soit 0V).
• analogWrite(pin, value) : écrit une donnée sous forme de PWM sur une des
broches (compatible uniquement), la broche doit être réglée en sortie. Le
paramètre value doit être compris dans l’intervalle [0;255].
37
Chapitre 3 Partie électronique et hardware
b La gestion du temps
Le langage Arduino fournit quelques fonctions permettant de gérer le temps, Il est
possible d’insérer une pause dans son programme pendant un instant. Pour cela, on
utilise les fonctions delay et delayMicroseconds qui insère une pause suivant le
paramètre passé (en millisecondes pour l’un, en microseconde pour l’autre).
Cependant ces fonctions bloquent le microcontrôleur, on ne peut alors plus effectuer
aucune action.
En plus d’insérer une pause, il est possible de mesurer le temps. De la même
manière que les fonctions de délai, on utilise les fonctions millis et micros qui donnent
le nombre de milliseconde (respectivement microseconde) depuis le lancement de la
carte.
c Les Interruptions
Les interruptions sont des portions de code (fonctions) appelé lorsqu’un
événement (interne ou externe) survient et à besoin d’être traité sur le champ. il est
prioritaire par rapport au reste du code. Vu qu’il est possible de mesurer les
événements ponctuellement (via les fonctions d’entrées/sorties) on utilise
généralement les interruptions pour du code critique (arrêt d’urgence par exemple) ou
des événements non-ponctuels (transmissions de données depuis un ordinateur par
exemple).
Les interruptions sont utilisables sur les broches compatibles seulement (broches
2, 3, 18, 19, 20, 21 sur l’Arduino Méga). Pour choisir la fonction et la broche utilisée
pour l’interruption, on utilise la fonction attachInterrupt. On peut utiliser
detachInterrupt pour supprimer l’interruption. Il est possible de partir en interruptions
sur 4 types d’événements :
-LOW : Lorsque la broche est à l’état 0 (0V)
- RISING : Lorsque la broche passe de l’état 0 (0V) à l’état 1 (5V) (front montant).
- FALLING : Lorsque la broche passe de l’état 1 (5V) à l’état 0 (0V) (front descendant).
- CHANGE : Lorsque la broche change d’état (front montant et front descendant). [22]
38
Chapitre 3 Partie électronique et hardware
Un accéléromètre est un capteur qui fixé à un mobile ou tout autre objet, permet
de mesurer l’accélération linéaire. [23]
Ce composant peut-être utilisé dans tous les projets d'objets volants ou de robots
nécessitant un asservissement d'équilibre, comme le robot gyropode. [25]
39
Chapitre 3 Partie électronique et hardware
Dans notre projet en relie l’arduino Méga (Maitre) avec le capteur MPU-6050
(esclave) par le protocole I2C.
L'Arduino Méga utilisé les connecteurs 20 pour SDA (les données) et 21 pour SCL
(l'horloge).
40
Chapitre 3 Partie électronique et hardware
L’intérêt est que I2C permet de brancher plusieurs composants à ces deux pins.
Par exemple, sur le schéma ci-dessus, trois composants slaves sont reliés au master.
Les deux fils SDA et SCL sont donc appelés le bus I2C. Chaque périphérique branché sur
le bus I2C a sa propre adresse qui permet de l’identifier (comme des numéros de
maisons dans une rue).
Le bus I2C permet d’envoyer et de recevoir des données du capteur. On parle
d’écriture et de lecteur. Pour chaque opération (écriture ou lecture), il faut préciser
l’adresse du capture et un registre. Ce registre est un numéro (on le notera en
hexadécimal) qui permettra de signifier ce que l’on veut lire ou écrire, par exemple lire
la coordonnée X de l’accélération (c’est une lecture) ou mettre le capteur en veille
(c’est une écriture). [26]
41
Chapitre 3 Partie électronique et hardware
Il peut piloter des charges inductives comme des relais, solénoïdes, moteurs
continus et moteurs pas-à-pas. Les deux types de moteurs peuvent être contrôlés aussi
bien en vitesse (PWM) qu'en direction. Toutes les sorties en puissance sont déjà
protégées par des diodes anti-retour. [27]
a Activation moteur
42
Chapitre 3 Partie électronique et hardware
Si vous voulez contrôler la vitesse, vous pouvez connecter ENA(ENB) sur une sortie
PWM.
b Rotation Moteur A
c Rotation Moteur B
43
Chapitre 3 Partie électronique et hardware
b Moteur DC EMG30
44
Chapitre 3 Partie électronique et hardware
Spécification
Tension nominale 12v.
Démultiplication 30:1.
Couple nominal 1,5 kg / cm.
vitesse nominale 170 tr/min.
courant nominale 530mA (150mA à vide).
Vitesse à vide 216 tr/min.
Courant de décrochage 2.5A.
Puissance nominale 4.22W.
nombre d’encodeurs par tour 360 impulsion.
c Capteur MPU-6050
45
Chapitre 3 Partie électronique et hardware
d La plate-forme de robot
Deux roues entraînées par le moteur à courant continu EMG30 tourner vers l'avant
et vers l'arrière en fonction du signal de commande.
46
Chapitre 3 Partie électronique et hardware
e Batterie
Une batterie de 12 volts de 4,5 ampères pour alimenter les deux moteurs à
courant continu à travers la carte de puissance et de contrôle des conseils ( Arduino).
f carte de puissance
Nous
ous avons besoin d'une carte de puissance entre la carte Arduino et les actionneurs
(les moteurs à courant continu EMG 30), le schéma suivant représente la carte de
puissance utilisée dans le projet qui est fait de L298 double pont en H.
3.6 Conclusion
Dans ce chapitre, nous avons bien détaillé notre projet, qui consiste à une
étude de conception des différentes
différent s cartes électroniques, et aussi d’une partie de
programmation
grammation sur logiciel ARDUINO, et la partie hardware. Le chapitre suivant
sera donc consacré
onsacré à la réalisation de ces cartes électronique.
47
Chapitre 4 Test et résultat
4.1 Introduction
La partie la plus importante de notre projet sera discutée dans ce chapitre. Cela
inclura les résultats expérimentaux et les problèmes auxquels nous nous sommes
confrontés pour faire fonctionner le système global d’une manière satisfaisante.
Batterie
Microcontrôleur
48
Chapitre 4 Test et résultat
Cette figure représente l’entrée (signale PWM) et la sortie (la vitesse du moteur à
partir de l’encodeur).
2000
y1
-2000
0 5 10 15 20 25 30 35 40
300
200
u1
100
0
0 5 10 15 20 25 30 35 40
Time
49
Chapitre 4 Test et résultat
2000
y1
-2000
0 5 10 15 20 25 30 35 40
300
200
u1
100
0
0 5 10 15 20 25 30 35 40
Time
Figure 4.4. Signaux des données échantillonnées (période d’échantillonnage Ts=0.01 sec).
50
Chapitre 4 Test et résultat
La figure 4.6 montre que la sortie du modèle suit la sortie mesurée avec un
pourcentage de 94.31%, ceci confirme la bonne représentativité de ce modèle pour
notre moteur à courant continu.
Après l’identification nous avons utilisé un contrôleur de type PID pour commander
la vitesse du moteur.
51
Chapitre 4 Test et résultat
52
Chapitre 4 Test et résultat
1
y1
-1
0 5 10 15
600
400
200
u1
-200
-400
0 5 10 15
Time
53
Chapitre 4 Test et résultat
On observés que la sortie du modèle obtenu est très proche de la sortie mesurée
avec un pourcentage de 51.92%, alors c’est le bon modèle pour notre pendule inversé.
54
Chapitre 4 Test et résultat
55
Chapitre 4 Test et résultat
1 2 3
Figure 4.16. Représentation les comportements de notre robot après une perturbation.
4.3. Conclusion
Dans ce chapitre nous avons présenté les différents résultats obtenus par
l’identification et simulation pour chaque modèle. Les résultats de simulations
présentés au cours de ce chapitre ont été réalisés à l’aide de l’outil Simulink.
56
10
9
8 13 VDD AUX_CL 7
7 12 INT AUX_DA 6
6 11 FSYNC SCL 23
5 1 CLKIN SDA 24
4 10 REGOUT AD0 9
3 20 CPOUT VLOGIC 8
2 18 GND
1
® L298
.. TOTAL DC CURRENT UP TO 4 A
LOW SATURATION VOLTAGE
. OVERTEMPERATURE PROTECTION
LOGICAL "0" INPUT VOLTAGE UP TO 1.5 V
(HIGH NOISE IMMUNITY)
DESCRIPTION PowerSO20
Multiwatt15
The L298 is an integrated monolithic circuit in a 15-
lead Multiwatt and PowerSO20 packages. It is a
high voltage, high current dual full-bridge driver de-
signed to accept standard TTL logic levels and drive ORDERING NUMBERS : L298N (Multiwatt Vert.)
L298HN (Multiwatt Horiz.)
inductive loads such as relays, solenoids, DC and L298P (PowerSO20)
stepping motors. Two enable inputs are provided to
enable or disable the device independently of the in-
put signals. The emitters of the lower transistors of nection of an external sensing resistor. An additional
each bridge are connected together and the corre- supply input is provided so that the logic works at a
sponding external terminal can be used for the con- lower voltage.
BLOCK DIAGRAM
15 CURRENT SENSING B
14 OUTPUT 4
13 OUTPUT 3
12 INPUT 4
11 ENABLE B
10 INPUT 3
9 LOGIC SUPPLY VOLTAGE VSS
Multiwatt15 8 GND
7 INPUT 2
6 ENABLE A
5 INPUT 1
4 SUPPLY VOLTAGE VS
3 OUTPUT 2
2 OUTPUT 1
1 CURRENT SENSING A
GND 1 20 GND
Sense A 2 19 Sense B
N.C. 3 18 N.C.
Out 1 4 17 Out 4
Out 2 5 PowerSO20 16 Out 3
VS 6 15 Input 4
Input 1 7 14 Enable B
Enable A 8 13 Input 3
Input 2 9 12 VSS
GND 10 11 GND
D95IN239
THERMAL DATA
Symbol Parameter PowerSO20 Multiwatt15 Unit
Rth j-case Thermal Resistance Junction-case Max. – 3 °C/W
Rth j-amb Thermal Resistance Junction-ambient Max. 13 (*) 35 °C/W
2/13
L298
ELECTRICAL CHARACTERISTICS (VS = 42V; VSS = 5V, Tj = 25°C; unless otherwise specified)
Symbol Parameter Test Conditions Min. Typ. Max. Unit
VS Supply Voltage (pin 4) Operative Condition VIH +2.5 46 V
VSS Logic Supply Voltage (pin 9) 4.5 5 7 V
IS Quiescent Supply Current (pin 4) Ven = H; IL = 0 Vi = L 13 22 mA
Vi = H 50 70 mA
Ven = L Vi = X 4 mA
ISS Quiescent Current from VSS (pin 9) Ven = H; IL = 0 Vi = L 24 36 mA
Vi = H 7 12 mA
Ven = L Vi = X 6 mA
ViL Input Low Voltage –0.3 1.5 V
(pins 5, 7, 10, 12)
ViH Input High Voltage 2.3 VSS V
(pins 5, 7, 10, 12)
IiL Low Voltage Input Current Vi = L –10 µA
(pins 5, 7, 10, 12)
IiH High Voltage Input Current Vi = H ≤ VSS –0.6V 30 100 µA
(pins 5, 7, 10, 12)
Ven = L Enable Low Voltage (pins 6, 11) –0.3 1.5 V
Ven = H Enable High Voltage (pins 6, 11) 2.3 VSS V
Ien = L Low Voltage Enable Current Ven = L –10 µA
(pins 6, 11)
Ien = H High Voltage Enable Current Ven = H ≤ VSS –0.6V 30 100 µA
(pins 6, 11)
VCEsat (H) Source Saturation Voltage IL = 1A 0.95 1.35 1.7 V
IL = 2A 2 2.7 V
VCEsat (L) Sink Saturation Voltage IL = 1A (5) 0.85 1.2 1.6 V
IL = 2A (5) 1.7 2.3 V
VCEsat Total Drop IL = 1A (5) 1.80 3.2 V
IL = 2A (5) 4.9 V
Vsens Sensing Voltage (pins 1, 15) –1 (1) 2 V
3/13
L298
1) 1)Sensing voltage can be –1 V for t ≤ 50 µsec; in steady state Vsens min ≥ – 0.5 V.
2) See fig. 2.
3) See fig. 4.
4) The load must be a pure resistor.
Figure 1 : Typical Saturation Voltage vs. Output Figure 2 : Switching Times Test Circuits.
Current.
4/13
L298
5/13
L298
Figure 5 : Sink Current Delay Times vs. Input 0 V Enable Switching.
Inputs Function
Ven = H C=H;D=L Forward
C=L;D=H Reverse
C=D Fast Motor Stop
Ven = L C=X;D=X Free Running
Motor Stop
L = Low H = High X = Don’t care
6/13
L298
Figure 7 : For higher currents, outputs can be paralleled. Take care to parallel channel 1 with channel 4
and channel 2 with channel 3.
7/13
L298
This solution can drive until 3 Amps In DC operation Fig 10 shows a second two phase bipolar stepper
and until 3.5 Amps of a repetitive peak current. motor control circuit where the current is controlled
On Fig 8 it is shown the driving of a two phase bipolar by the I.C. L6506.
stepper motor ; the needed signals to drive the in-
puts of the L298 are generated, in this example,
from the IC L297.
Fig 9 shows an example of P.C.B. designed for the
application of Fig 8.
Figure 8 : Two Phase Bipolar Stepper Motor Circuit.
This circuit drives bipolar stepper motors with winding currents up to 2 A. The diodes are fast 2 A types.
VF ≤ 1.2 V @ I = 2 A
D1 to D8 = 2 A Fast diodes { trr ≤ 200 ns
8/13
L298
Figure 9 : Suggested Printed Circuit Board Layout for the Circuit of fig. 8 (1:1 scale).
Figure 10 : Two Phase Bipolar Stepper Motor Control Circuit by Using the Current Controller L6506.
9/13
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 5 0.197 MECHANICAL DATA
B 2.65 0.104
C 1.6 0.063
D 1 0.039
E 0.49 0.55 0.019 0.022
F 0.66 0.75 0.026 0.030
G 1.02 1.27 1.52 0.040 0.050 0.060
G1 17.53 17.78 18.03 0.690 0.700 0.710
H1 19.6 0.772
H2 20.2 0.795
L 21.9 22.2 22.5 0.862 0.874 0.886
L1 21.7 22.1 22.5 0.854 0.870 0.886
L2 17.65 18.1 0.695 0.713
L3 17.25 17.5 17.75 0.679 0.689 0.699
L4 10.3 10.7 10.9 0.406 0.421 0.429
L7 2.65 2.9 0.104 0.114
M 4.25 4.55 4.85 0.167 0.179 0.191
M1 4.63 5.08 5.53 0.182 0.200 0.218
S 1.9 2.6 0.075 0.102
S1 1.9 2.6 0.075 0.102 Multiwatt15 V
Dia1 3.65 3.85 0.144 0.152
10/13
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 5 0.197
MECHANICAL DATA
B 2.65 0.104
C 1.6 0.063
E 0.49 0.55 0.019 0.022
F 0.66 0.75 0.026 0.030
G 1.14 1.27 1.4 0.045 0.050 0.055
G1 17.57 17.78 17.91 0.692 0.700 0.705
H1 19.6 0.772
H2 20.2 0.795
L 20.57 0.810
L1 18.03 0.710
L2 2.54 0.100
L3 17.25 17.5 17.75 0.679 0.689 0.699
L4 10.3 10.7 10.9 0.406 0.421 0.429
L5 5.28 0.208
L6 2.38 0.094
L7 2.65 2.9 0.104 0.114
S 1.9 2.6 0.075 0.102
S1 1.9 2.6 0.075 0.102 Multiwatt15 H
Dia1 3.65 3.85 0.144 0.152
11/13
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 3.6 0.142 MECHANICAL DATA
a1 0.1 0.3 0.004 0.012
a2 3.3 0.130
a3 0 0.1 0.000 0.004
b 0.4 0.53 0.016 0.021
c 0.23 0.32 0.009 0.013
D (1) 15.8 16 0.622 0.630
D1 9.4 9.8 0.370 0.386
E 13.9 14.5 0.547 0.570
e 1.27 0.050
e3 11.43 0.450
E1 (1) 10.9 11.1 0.429 0.437
E2 2.9 0.114
E3 5.8 6.2 0.228 0.244
G 0 0.1 0.000 0.004
H 15.5 15.9 0.610 0.626
h 1.1 0.043 JEDEC MO-166
L 0.8 1.1 0.031 0.043
N 10˚ (max.)
S 8˚ (max.)
T 10 0.394
(1) "D and F" do not include mold flash or protrusions.
PowerSO20
- Mold flash or protrusions shall not exceed 0.15 mm (0.006").
- Critical dimensions: "E", "G" and "a3"
N N R
a2 A
c
a1
b e DETAIL B
DETAIL A E
e3
H DETAIL A
lead
D
a3 slug
DETAIL B
20 11 0.35
Gage Plane
-C-
S SEATING PLANE
L
G C
BOTTOM VIEW (COPLANARITY)
E2 E1
E3
1 10
PSO20MEC
D1
h x 45
12/13
L298
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the conse-
quences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No
license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specification mentioned in this
publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMi-
croelectronics products are not authorized for use as critical components in life support devices or systems without express written
approval of STMicroelectronics.
The ST logo is a registered trademark of STMicroelectronics
© 2000 STMicroelectronics – Printed in Italy – All Rights Reserved
STMicroelectronics GROUP OF COMPANIES
Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco -
Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A.
http://www.st.com
13/13
Annexes
Leur spicification:
Tension nominale 12v.
[14] I.M Horowitz (1963) : Synthesis of Feedback Systems. Acaddemic Press, New-
York.
[15] K.J. Aström, T. Hägglund: PID Controllers : Theory, Design and Tuning,
Instrument Society of America, 2nd edition, 1995.
[16] Michel Etique : « Régulation automatique », mars 2006, Yverdon- les Bains.
[17] K.J.Astrom & T.Hagglund « Advanced PID Control», ISA, New York,2006.
Bibliographie
[19] https://www.arduino.cc.
[21] Le Bras Robotisé Lycée Jean Perrin Réalisé par : Jules Sery - Jordan Vocisano –
Florian Bekaert – Cyril Gervais – Leo Abraham
[22] LECHALUPÉ Julien, « Cours d’initiation à Arduino » ,Université Paul Sabatier Mai
2014.
[23] http ://domochris.canalblog.com/archives/2015/09/11/32611773.html
[24] http://www.generationrobots.com/fr/402159-gyroscope-et-accelerometre-3-
axes-mpu-6050.html
[25] http://boutique.3sigma.fr/15-acc%C3%A9l%C3%A9rom%C3%A8tre-et-
gyroscope-3-axes- mpu-6050.html
[26]https://emersion.fr/blog/2015/lire-les-données-d-un-gyro-accelerometre-
mpu6050.
[27] http://mchobby.be/wiki/index.php?title=Pont-H_L298N.
[28] http://fr.wikipedia.org/wiki/Pont_en_H.
Conclusion générale
57