Robot Mobile by Technologie Pro
Robot Mobile by Technologie Pro
Robot Mobile by Technologie Pro
com/TechnologiePro
http://technologipro.blogspot.com
http://technologipro.blogspot.com/
C""~'''l
Gnralits
Introduction
La tche accomplir
L'environnement
1
3
3
7
17
19
20
Les capleurs
1.1 Gnralits
1.2 Les diffrents types de capteurs
1.3 Le positionnement dt'S capteurs
22
25
2.1
2.2
2.3
2.'
2.5
2.6
2.7
27
28
29
30
32
35
Timer
51
Les actionneurs
55
3.1
3.2
3.3
3.4
35
3.6
3.7
3.8
3.9
3.10
Moteur OC
57
57
Moteur pas--pas
6(]
Servomoteur
64
lectroaimant
Piston lectrique
Led
Afficheur LeD
67
67
69
73
B"""
77
Gnralits el utilisation
79
TImer
3.1 1 Relais
81
[ v1
Rglages el dmarrage
83
4.1
4.2
4.3
4.4
84
Rglages analogiques
Rglages logiques
Rglages mixtes
Dmarr.lge du robot
Alimentation(s)
5.1 Gnralits
5.2 Protection des alimentations
5.3 Rgulateurs standards
5.4 Rgulateurs IOIlrdrop
5.5 Rgulateurs dcoupage: bllck ou step-dmvI/
5.6 Rgulateurs dcoupage: brust ou step-I/p
5.7 Rgulateurs dcoupage: buck-OOost
5.8 Modules OC/OC: alimentations isoles
85
95
%
99
lOI
lOI
103
103
104
105
105
galvaniquement
5.9 Batteries Ni / Cd-Ni / Mh
5.10 Recharge des batteries et circuit de marche/arrt
106
107
108
Mcanique
111
6. 1
6.2
6.3
6.4
112
Microconlrleurs
AT9052313 (Ahn.l)
7.12 AT90S8515 (Ahn,l)
7.13 ATMega8 (Atmel)
7.11
(VIl
116
117
118
121
124
124
126
127
129
129
130
131
133
134
135
137
139
141
144
145
147
"9
150
151
152
153
154
154
157
158
160
9.2
9.3
9.4
9.5
10
11
11.3 Palets
164
166
166
168
169
171
172
172
175
175
176
182
183
184
190
191
192
195
198
202
208
21.
215
12
163
[VII)
"
GENERALITES
http://technologipro.blogspot.com/
Introduction
La tche accomplir
L'environn ement
Les capteurs
Acquisition ct traitement
d'une information capteur
Les actionneurs
55
Rglages et dmarrage
83
Alimentation(s)
99
Mcanique
III
Microcontrleurs
121
153
Programmation
des microconlrleurs
163
10
d'alimentation
17
25
149
11
Ralisation nO1 :
robot Cubic
12
Ralisation nO2:
robot Quadripode
Remerciements et liens internet
171
191
215
INTRODUCTION
Lors de la conception d'un robot, on se trouve face une multitude
d'interrogations techniques inhrentes il chaque sous-ensemble
mis en uvre (figure 0.1):
ActlOflneurs
Algorithmes
Processeur
Capteurs
EnVironnement
Nous allons donc tudier en dtail chaque partie dans cet ouvrage,
en prOpo5<1nt toujou rs le maximum de solutions possibles, ainsi
LA TC HE ACCOM PLIR
t,
,
,l
Figure 0. 1.
Bahse IR
4-. -i>
"t?
""J"
Reeepteur IR
Figure 0.2.
8~lise
infrarouge
retrouver sur
une aire de jeu.
Figure O.l
Le robot se dplace
jusq u'.li ce que
la balise soit dtt'Ct~e.
Le probl.me qui apparat alors tient au fait que le robot n'est pas
programm pour viter un rebord (cela ne fait absolument pas
Figure 0.4.
Le robot rencontre
un rebord.
,,
~
~
,
,
E
t
j
Rcepteur IR
Figure 0.5.
Le robot
vite le rebord.
;:
Cs1
Par dcomposition
8a ll5e B
-.,fI'
Bal!seA
Figure 0.6,
/~"
t 61
L'ENVIRONNEMENT
L'environnement d'un robot est constitu paf tout ce qui se trouve
dans le milieu o il volue. Certaines donnes seront prsentes
dans tous les cas de figure, d'autres seront plus spcifiques. Ainsi,
un robot terrestre aura un milieu principal constitu d'un sol,
tandis que celui d'un robot sous-marin sera compos d'eau. La
perception de deux milieux si diffrents fera appel des capteurs
diffrents. Et de la mme manire, les tches du robot seront
excutes par des actionneurs diffrents.
Un environnement comprend un" milieu principal - et ventuellement des milieux secondaires - et des informations
essentielles , dont la nature ne dpend pas obligatoirement du
milieu principal et des milieux secondaires. Ainsi, dans le cas d'un
robot mobile voluant dans un laboratoire et ayant pour but
d'viter les murs, l'environnement sera comparable ceci:
milieu principal: le sol (1) ;
milieu secondaire: l'air ambiant, la luminosit, le bruit (2) ;
informations essentielles: les murs, les obstacles ventuels (3).
Il convient d'analyser et de lister tous les lments se rapportant
chaque constituante de l'environnement, afin de dfinir avec
prcision les capteurs et les actiOlUleurs choisir, en ne perdant
pas de vue la tche principale accomplir.
1. Lesol:
~
~
~
- poussires;
- vibrations.
2. L'air ambiant:
~
~
degr d'humidit .
La lumire:
- clairage normal ou obscurit;
1
!
i
.:l,
i
o
Constituante
il conserver
.,,,
Solide et
~sse
L'aIr ambiant
la lumire
clairage normal
Ampoule claSSIQue
Les actionneurs
Non
Pro;ecteur
Constituantes limines initialement (risque
de perturbation de certains capteurs infrarouges)
Bruit normal
Bruit important
Aucune influence
""'"
De
couleur blanche
Les capteurs
Humidit
Temprature
Poussires
Vibrations
Aucune influence, si ces paramtres conservent
des proportions tolrables
Air statique
Vent
Temprature
Humidit
Aucune Influence, si ces paramtres conservent
des proportions tolrables
Le bruit
Les murs
Constituante fiminer
Tous ces lments peuveot interagir entre eux. Il est conseill d'analyser
leur mode de lonctionnement et les ventuels signaux gnrs qui
pourraient perturber les lments voisins.
18 1
Mme dans le cas de petits robots mobiles pour l'amateur, t'environnement est relativement complexe. En effet, rares sont les
personnes pouvant disposer d'une " aire de;Cu .. suffisamment
,
~
l
t
j
il
Figure 0.7.
Le robot doit viter
les murs.
Figure 0.8.
Diplacemenl possible
Of
du robot
'/
Figure 0.9.
tapes de dplacement
du robot (colS Al.
'/
Figure 0,JO.
tapes de dplacement
du robot (cas Il).
OJJ
Figure 0.11.
Le robot ne peut
plus tourner.
Igure 0.12.
Le robot tourne
pendant un temps fixe.
(12)
Figure 0.13.
Le robot sC' retrouve
nouvuu coinc.
5
3
FigureO.14.
Le robot vite
l'obstacle.
FigureO.15.
Le robot se dplace
sans difficult.
[13 1
Figure 0.16.
Influence
de l'environnement
sur le robot.
ENVIRONNEMENT
atelier, maison
terrain d'onal.
Milieu principal'
bassin, mer
'"
Sahnrt, temprature
humid~'.
pressN>n, ~UYefn8nt
vibrations
vibrations
temprature, poussires
lempr.iIUfe
hurnidl
type de gaz
- Milieu
secondan . lumire
praen, absence
nature de la source
Infrarouge ou ultraviolet
fair augmenter la temprature ambiante 1
modifie les couleurs 7
- Milieu secondaire. bruit 8mbi.. n!
prsence. absence
nlYNu 5000fe
perturbe un capteur de son ?
perturbe une acquisition audio ou une reconnaissance vocale 7
Champs lectromagntiques .
perturbatioo des systemes ~troolques ?
perturbation des transmissions HF ?
Obstacles
nature. aspect, !orme
couleur
temprature
moyens de dtection
Aprs ces modHications, le robot va fonctionner de manire optimale, mais si l'environnement est statique, la trajectoire du robot
sera rapidement toujours identique, su rtout si son algorithme de
dcision de direction est fixe (dans cet exemple: viter les obstacles
pa r la gauche).
C H" ~, nl
LES CAPTEURS
1.1 Cnralits
19
20
22
Acquisition et traitement
d'une information capteur
25
Les actionneurs
55
Rglages el dmarrage
83
Alimentation(s)
99
Mcanique
111
Microcon!rleurs
121
149
153
10
Programmation
des microcontrleurs
163
11
Ralisation nO1 :
robot Cubic
171
12
Ralisation nO 2:
robot Quadripode
Remerciements Cl liens internel
191
215
na1
1
1.1 GNRALITS
Les diffrents capteurs embarqus sur un robot vont lui permettre
de percevoir l'environnement (dont les obstacles), de fournir les
informations ncessaires l'accomplissement de sa tche, ct
ventuellement de surveiller ses ressources internes (tension
batterie, temprature, etc). Les capteurs scront donc placs en
fonction des dOMes mesurer ou prendre en compte.
Un capteur va donc fou rnir une information (un signal lectrique)
GllIndeur physique -~
Capleur
1--
Lumire
Soo
Signal lectrique
T ltIl'IOfl
Signai prIOdique
InfOffl'l8tion numrique
Obo. . .
Figure 1.1.
Pri nci pe du capteu r.
teur aussi simple (fig ure 1.2) et d'in terprter les signaux fournis
(fi gure 1.3).
v~
v~
Into (je
lofo de
d_
dO'"""'"
CAblage 1
Infoda
dlection
""""" 1
Figure 1.2.
G blages
d'un microrupleur.
CAblage 2
Inlo (je
dtectIOn
CAbiage 2
Figure 1.3.
Signaux fournis
par les cblages
de la fi gure 1.2.
BouIon-pouSSOlr
Microrupteur
Logique
Temprature
Analog"lue/logiQue11)
Analogique/logique ll )
Numrique
CTNJCTP
Capteur de temprature actif
Capteur de temprature i2C!SPI
Suivi de ligne
metteur infrarouge + rcepteur infrarouge
LogiqueI2)/numrique
Analog.queJ\ogquel'!/numriQoe
Logique{2~ numrJQue
Lumire
LDR
Convertisseur lumlreltrquence
AnalogiqueJ1og.qUe<I!
Numnque
Pression
CaptElUf de pression
Bruit, volx
Microphone
Analogiquelloglque 111/numrique
Humidit
Hygromtre
AnalogiqueJlog.quell)/numnque
Position
Potentiomtre (rond ou rectiligne)
Anaiogiqueilogiqueill/numrique
Force, contrainte
Rsistance de contrainte
AnaiogIQue!Iogique111lnumrique
III Obtenu par comparaison de seuil(S). (21 Obtenu par dmodulation de signal.
rio]
1
les capteurs vol us
Informations quantifier et composants mis en uvre
Tableau 1.2
Mode(s) de fonctionnement
logtquelnumnque
loglque/numnque
Vitesse
Gnrateur d'impulsion (sur un arbre moteur ou une roue)
Numrique
Indil'\8ison
Acclromtre
Analoglqu8J1ogique(1!/numrique
Position
Boussole lectromque
Numrique
Logique
RadarUHF
AnaloglQue/IogIquel )
'
Position terrestre
Module GPS
Numrique
Distanmlre laser
Numrique
Vol.
Logique
Camra"," logiciel
Module de reconnaissance de lorme intgr
Numrique
'.....
.
1
AgulallOl'l
5V
't
/;
+i-
Rl
JO'"
Vbatt 14
CA N
R2
Figure 1,4.
"'"
/;
J,.
1
perturbations lectromagntiques internes ou externes;
o
Gauchoe
__
-+
Droite
j
Ari,.
Si le robot (ou son programme) n'est pas prvu pour reuler, les
capteurs arrire deviennent inutiles, et il ne faut pas les mettre en
uvre.
Tous ces capteurs ne sont ncessaires que si l'environnement
l'impose (figure 1.6): en effet, sur une aire de jeu ou plac au sol,
le robot n'a pas besoi n de .. savoir ,. si le sol est prsent, car il est
forcment l. De la mme manire, si aucun obstacle en hauteur
ne vient empcher le dplacement du robot, le capteur" dessus ,)
n'a pas tre implant.
Lors de la mise en place decaptcurs infrarougcsde dtection d 'obslacles, il fautlenir compte de deux choses :
Sur la partie gauche de la figure 1.7, les capteurs sont trop loigns, et les angles d e dtection ne permettent pas de couv rir la
zone centrale. Si le robot s'approche d'un obstacle de face, il ne le
dtectera pas.
Figure 1.5.
Capteurs infrarouges
d'obstacles
(vue de dessus).
D. . .~
Figure 1.6.
Capteurs infrarouges
d'obs tacles
(vue de ct).
Figure 1.7.
Capteur
gauche
Obstacle
Capteur
droite
. 0
Captet.ll
gauche
Capteur
dr~e
Robo<
Figure 1.B.
... iter
les perturbations
entre capteurs.
Capteur
c ..... ". (
ACQUISITION
ET TRAITEMENT
D'UNE INFORMATION CAPTEUR
27
28
2.
J()
ou microcontrleur directe
et spcifiq ues
32
35
51
Les actionneurs
55
Rglages ct dmarrag
83
99
Mcanique
111
Microcontrleurs
121
14'
Inumrique
(251
153
10
Programma tion
des mcrocontrleurs
163
11
171
12
robot Quadripode
Reme rciements et liens internet
191
215
2
L'acquisition de la mesure fournie par un capteur se fera de
plusieurs manires, en fonction du type de capteur, de la nature
du signal et de la faon dont elle va tre exploite :
-,v
Figure2.1.
Sortie
CAPTEUR
ov
UCipteur
OV
Mlcroc;:ontroleur
/\
/\
E??s .
: t'----1...--'-_-'-O.L--LL
D- ' - --L-...
.5V
"
k11
Entre
LOR
Figure 2.2.
OV
Mierocontr6leur
OV
,- ~
.....
~"-
Figure 2.3.
On remarque sur la figure 2.4 q u'avec un s ignal d'entre identique pour les trois valeurs de rglage du seuil de dtection, J'information de sortie est modifie. Ufau l donc adapter le seuil en fone-
(281
2
tion de l'information dont on a besoin. Bien entendu, le comparateur peut s'alimenter et fonctionner sous une large gamme de
tensions, aussi bien asymtriques que symtriques. La tension de
sortie (reprsente par 1" et 0 ) aura la valeur de la tension
d'alimentation.
Enlre
,
Figure 2.4.
Vs=!
E * >E-
Vs=O
E * <E -
I-r<> Sortie
R'
EntrM ~-{=}-y
R'
R2
Trigger positif
Trigger inve rs
Figure 2.5.
trigger invers
Entrte
,,-------------
Seuil ..
Seu~
,,--------
t , / v ,,
-------------
Sortie
+Valim
Figure 2.6,
-Vahm
+--'
Vs = 1
E-
Vs = - 1
Vs R2
< RI + R2
E - > VsR2
RI + R2
r3l
2
fournies indiquent l'tat de la tension d'entre par rapport ces
rfrences.
Fonctionn ement en mode d irect
Voc
V6
Vrel
V'lab
fi
~oc
Vi"
'tnhB
"hA
V7
Enlr" superieure au seoH bas
Entree mfrieure au seuil haut
Entre hors de la fen61re
Entre dans la tenAlre
A
Entree
fi
B
C
V'
V9
d,
FigureV.
V6 : seuil haut
V7 : seuil bas
Voc
Voc
Vref
V'
Vstab
yoc
yoc
'"M
InhB
V9
Entree
A
B
V6
V7
d,
VS : centre de la fentre
V9: moiti de la ha uteur de la fentre
Seuil haut = VS + V9
Seuil bas = VS - V9
Figure 2.8.
R,
E,
E2
R,
Figure 2.9.
Vs = - - (<2 - El)
RI
0-------,
~~ CTN refrence
)
~ <?. J
CTN mesUrfI
Figure 2.10.
E2
, - 0
".0
AJlm .
FigureZ.I I.
Ampli6c.lteur
isolation galva nique.
E1
E2
E,
Sortie
IS0124
2
Selon la figure 2.11:
Vs= E2 - E1
En fonction des modles disponibles, l'alimentation isole (convertisseur hybride OC/ OC) peut tre externe ou intgre au mOOulc.
Deux grandes familles de technologies existent :
les amplificateurs transformateurs (avec modulateur el dmo-
dulateur) ;
les amplificateurs capacits commutes (ISCH24, par exemple).
A1im de puISsance
E2
Shunt '
El
loc
Char~
Vs = E2 -
Icc
amplifier)
<>----1 .
E, <>----1
E2
A'
1..-- A'
[n 1
Figure 2.12.
v.
Vin -
,,,------------_._ -,
,,
,
,,
,,
,,,
Y9L. ___ --
Feedback
Contre-ractlOn
programmable
AO
Al
-f.... ---:,
va
Vin ..
,,
,
------ vo:,----------,
L_ _._
R.,
/>
v-
Figure 2.14.
v.
Tableau 2.1.
Gain
PGA204
PGA20S
AO - A1
0-0
10
0- 1
100
1-0
1 000
1- 1
[341
2
'2
CAN
El
Mictocontr6levr
A1AO
Figure 2. 15.
chantillonnagelblocage
Le principe de l'chantillonnage/ blocage (snmple and hold) est
simple: il faut maintenir le signal analogique il mesurer une
valeur constante pendant la dure totale de la conversion
analogique/numrique.
.........
Eni'"
chantilioneur
bIoqu.eUI
CAN
Sortie numtriq....
Eni' "
Commende d'khntlilonn-ee
11111111
,,
l~
Comman da da conversion
1 Il iliill l l l l l l
1351
Il
01
12
02
03
13
"
5.,""
Com~nde,deb~e
5"'
5.3
Inc;lpendanles
50'
SMP04E
Figure 2.17.
.. VOIes
smgle-ended
Multiplexage
Cette technique consiste augmenter de manire significative
le nombre d 'entres analogiques d 'un systme, en ne gardant
qu'un seul cQlwerlsseur analogique/ numrique (figure 2.18 et
lab leau 2.2). Le principe quivaut il un rotacteur manuel classique, la diffrence que la commande se fait lectroniquement.
Figure 2.18.
Tableau 2.2.
PO
Pl
PO
Pl
Vole sle<:tioone
El
E2
E3
E'
h i;]
2
On trouvera sur le march des multiplexeurs quatre entres,
huit entres. et mme seize entres: la majorit sont de type mode
commun, mais on trouvera aussi des modles diffrentiels.
Exemple de multiplexeurs : ADC506 et AOG509
E1
0_
Sort.
E2
E,
,.....
E5
E6
E7
EB
E9
E10
Ell
E12
E13
,.
Entres
ElA
E2A
ElA
E4A
0"
O_B
E.
ActIvatIOn
Entrees
E1B
E2B
E,.
E4B
AO
Al
des VOteS
Acllvatiol"l
Sort_
Adrnsage
ADGS09AKN
4 VOMIS dlff6renttelle5
E14
AO
Al
Adressage
E15
A2
des
E16
A'
VOieS
AOG506AKN
16 VOieS single-ended
Convertisseur analogique/numrique
Ce composant, appel couramment CAN, est le pilier d'un
ensemble de mesures numriques. En effet, il transforme lm signal
analogique, inexploitable directement par un microprocesseur
ou un microcontrleur, en un code numrique proportionneL
Une quantit impressionnante de mooles diffrents existe chez
de nombreux constructeurs, tous ayant des caractristiques parti
culires en fonction de leurs performances, de leur mode de pilotage, et de leur interface vers le monde numrique.
Figure 2.19.
....
Latch de
CNA
Sort.oes logiques
parallle.
!
Lo
M.
Registre III
apprOximatIOns
'0
logique de
contrle
""'",.
II.1CC:eSSlI/eS
Slart of oonver1
End of convett
Comparateur
Figure 2.20.
CAN fla sh
L'avantage du CAN fla sh (fig ure 2.21) est sa rapidit de conver
Encodeur de
poont
,,
,,
,
Sorties logiques
,,
,,
,
,,,
,,
parallles
FiguIl"2.2 1.
Ana fn
,
AhmentallOfl
j
";-
CAN
Entree analogique
Figure 2.22.
h81
SortIe
nu""nque
Statut
p
ContrOle
ACQUISITION
Chaque liaison reprsente sur cette figure peut tre l'objet de
discussions en fonction de la rfrence choisie :
alimentation: symtrique ou asymtrique ;
q, entre analogique :
une ou plusieurs,
- unipolaire (rfrence commune) ou bipolaire (diffrentieUe),
- plage de mesure infrieure Volim ou rail -Io-rail ;
m, sortie numrique :
sortie srieUe ;
P, contrle du CAN :
- activation, inhibition, lancement de conversion, slection de
rsolution,
- lignes parallles,
- entre srielle ;
n, statut du CAN:
- conversion en cours,
- mode de fonctionnement.
Les sorties logiques peuvent tre tros tats, avec une entre
logique spcifique d'activation.
2 : attente EOC ;
3 : lecture data.
soc
POO
EOC
PB1'
OBO
PAO
OB'
PA'
ou lNT
A',
Figure 2.23.
CAN 8 bits :
interfaage paullle
avec entres-sorties.
CAN 8 bits
Meu 8 bits
2: aUenle EOC ;
3 : lecture data lOlO (pori nO1) ;
4: lecture data higlt (port nO2).
Figure 2.24.
CAN 12 bits,
12 bits de sortie :
interfaage parallle
avec ent ries-sorties.
PBQ
SOC
EOC
PB"
080
PAO
PA'
PB<
DBll
CAN 12 bit,
PB'
MCU 8 b its
'ou INT
2
[NT est l'entre d'interruption. On peul utiliser le signal EOC
de deux manires :
une boude logicielle de test sur PBl qui attend le basculemen t
de EOC;
une routine d'interruption active ds le basculement de EOC.
La premire mthode n'est pas critique dans les cas o 1'on peut
~ perdre cc temps d'attente. La seconde mthode est beaucoup
plus efficace, car pendant les quelques microsecondes de la conversion, le microcontrleur peut excuter u ne au tre tche.
soc
HlL
POO
PB1 "
PB2
060
Pi>D
EOC
0'
An
OB7
CAN 12 bits
PA7
MCU 8 bits
Figure 2.25.
CAN 12 bits,
8 bits de sortie:
interfililge pilrall~le
nec e.ntrcs-sorties.
"..-- ........
l -.
... 7
BA
BC
BD
PLO
IEN
BA bu, d'adre5RS
BC bu. de eonlJOle
BD bu. de donnee.
SOC
EOC
OSO
A'o
OB7
CAN 12 bi~
10E
DO
00
07
Q7
Burfer Hi"z
Figure 2.26.
CAN 8 bits,
8 bits de sortie:
interfaage parallle
avec bus processeur.
programme le PLO pour lire le bit EOC (par exemple (0) ou pour
le diriger vers une entre d'intermption.
l'adresseSAOOl, on programme le PLO pour activer le bit /OE
$8001 et $8002.
l'adresse $8000, on programme le PLO pour activer le signal
2
BA
BC
BD
PLD
IENL IENH
BA bus dadresse.
BC bus de contrOle
BD bus de cIonoees
sec 'OC
DBO
DB7
DO
00
07
07
Buffer Hi-Z
Ao
DBB
DBlI
CAN 12 bit.
"
DO
00
07
07
Buffer Hi-Z
Figure 2.27.
ful
CAN 12 bits,
12 bits de sortie:
interfaage parallle
avec bus processeur.
BA Be BD
PLO
IEN
BA bus d'a(!re5$e'5
Be : bus de contrOle
60 : bus de donn6ft
HlL
SOC
10E
EOC
oBO
AI"
oB7
CAN 12 bi ts
Figure 2.28.
CAN 12 bits,
8 bits de sortie:
interfaage parallle
avec bus processeur.
"
00
00
07
07
Buffe r HI-Z
Le microprocesseur ou microcontrleur dispose d'Wl bus de donnes de B bits, et d'un bus d'adresses de 16 bits. Le bus de contrle
est simplifi: RD (Read), WR (Write) et lNT (ln/ermp/). La polarit
de ces signaux (actifs 0 ou 1) dpendra du modle exact de
composant utilis.
Le circuit 74HC688 est utilis en comparateur d'adresses. Les
entres PO .. . P7 sont relies respectivement AB ... AIS. Les entres
QO ... Q7 sont fixes pour obtenir J'adresse haute du CAN dans le
I44J
2
INT
jlf
RD
WR
00
AO
A1
Al
ln
g.
,
,
A3
A4
A5
AS
A7
SOC
SOC
EOC
EOC
IENL
SOC
EOC
HlL
IEN
IENH
IEN
::m
GAL20V8
A. A15
PO
P7
P
00
Figure 2.29.
Conne;l:ion de PLD
07
T'HeSS8
mtmory tIIap global (par exemple $AO pour les adresses compltes
$AOOJ et SAOOl), comme sur la figure 2.29.
EOC =il1pllt ;
IEN =/ ENH = I ENL = ou/put.
Cas de figure
INT. EOC
SOC /VAL & 1A7 & IA6 & 1AS & lAS & 1A3& 1A2& IAl &
I AO&IJ()&WR
CliS de figure
1I\'T . EOC
de type CAL20V8B.
soc ~ I VAL& I A7 & I A6& l AS & l AS & I AJ & 1A2 & l AI &
IAO&DO&W R
I ENL~
I VAL& IA7 & IA6 & I AS& I AS& I AJ& 1A2& l AI &
I AO& RD
EOC
H / L~
AO
SOC ~ I VAL & I A7 & 1 A6 & lAS & 1 AS & IA3 & 1 A2 & 1 AI &
I AO& WR&DO
I EN
RD
Le signal EOC provoque une interruption de fin d e conversion.
H/L recopie AD: dala /ow pou r l'adresse $AOOJ; da/a higll pour
l'adresse SAOOI .
ii
RC\ffi
V'R,qdue : ladPdolaritod
~esl SignauxdSOC, EOC, INT, ~ / L, EN RD ~
cl
pen es m e es exacts cs compos.'1n ts miS en uvre. 's
~
tl
j
une grande varit de compos.1nls (microcontrleur, entressorties logiq ues, (AN, ( A, drivers LeD ... );
5
0
2
les alimentations des priphriques peuvent tre spares (de
mme valeur et avec la masse commune);
4,7 kn
5,6 kfl
50A
SCl
GNO
::1
130 (optionnel)
'0/
AO
Al adressage (he)
A2
Composant
l'C
Figure 2.30.
Figure 2.31.
Vrx; Vcc
50A
SCl
'0/
Alim
5 Wc
'0/
Entres
sorties
Ma itre
J"
'0/
J"
Capteur de
temprature
,J"
1471
'0/
CAN
,J"
1
Vc:cl Vot!
,o.
,c,
CL
VT'
VT'
SC~
- Set
Enll''''
~
J,.
Voe l VCl:2 Vc:<:3
"
FigUll' 2.32.
AlnO
A ln1
Entrees
ana logiques
SCL
SOA
Bus l'C
Aln2
A tn3
AD
Al
Adreue du CAN
A2
V~
Sort.
Figure 2.33.
Convertisseur
ilnalogi quel" umrique
PCF8591 .
analogique
V Re f
Aout
AG NO
0"
E.
Les quatre entres analogiques du convertisseur sont progra mmables, pou r rpondre diffrents besoins d'acq uisition :
4 entres sillgle-ended :
- CHO= AlnO,
- CHI =Alnl ,
- CH2 =Alnl,
2
-CH3=Aln3 ;
3 entres diffrentielles:
- CHO = AInO,
- CH I ::Aln l ,
- CHl = AIn2 - Aln3 ;
2 entres diffrentielles :
- CHO=A lnO-Aln!,
- CHI = AJn2-Aln3.
(fig." 2.34) ,
MISO
MOSI
MOSI
"'50
SCK
SCK
Figure 2.34.
Mlcroco nlr6leur
Priphrique
In!trlaage srie
de type SPI.
~eur~SPI
Pl1IrlphrlqtHt
MCtocontfleUf
Figure 2.35.
Utilisation
de registres
li dcalage distincts.
lsol
2
.sv
E1
,
,
E2
E3
"
RE'
DCLK
DIN
CHO
CH1
CH'
CH'
CCM
DOUT
B~y
Mol,
ISHON
ICS
."
"
"",
"
POO
PB1
PB'
PB'
PB<
PBS
PB6
PB'
MIc:: roc::ontr6 leur
ADS18.1
ov
+_5 V
E1
,
,
,
E2
E3
ov
RE'
DCLK
OIN
CHO
CH1
CH'
CH'
CCM
DOUT
.
"
"
Busy ~
Mol'
ISHON
ICS
,
"
+_5V
POO
P B1
P B'
PB'
PB<
PBS
PB6
P B'
=
=
AOS7B41
Interflage I implifi
Figure 2.36.
Interf.lage
de l' ADS7841 .
2.71lMER
("sil
- "- .......
,,- "'"
Figure 2.37.
Structure d'un timer.
r-
'....
S'.IC'1()tI
de IOU'CI!
- .... f-.
PredMMUr
Comptllur
f
Prchargemenl
r-
flags : ils sont actifs en fonction de certaines conditions: dbordement, comparaison valide ... Ils sont rinitialiss lors du trai tement de l'interruption correspondante ou par une criture dans
un registre de contrle;
prchargement : ce registre (de la mme taille que le compteur)
sert dfinir une valeur de dpa rt pour le comptage, ou une
valeur de comparaison avec le compteur ;
prdiviseur : il s'agit d'un diviseur en amont du compteur
principal. Le rapport de division est slectionn a u travers de ~
quelques bits de configuration (division par 1, par 8, par 64, par s
1024 par exemple) ;
li
gale : cet lment agit comme un interrupteur qui laisse passer
il
slection de source : l'utilisateur choisit l'lment qui pilotera i
le comptage du limer; l'horloge interne (qui peut tre divise,
elle aussi) ou un signal exteme prsent su r la broche d'en tre
de comptage ;
,l
2
E'nlre externe: c'est une entre logique qui fail partie de
l'ensemble timer. Le bloc .. mode,. sert dfinir quel hont active
le comptage (front descendant ou front montant).
Mode temporisation
Le timer est utilis pour gnrer u n dlai entre le moment o il est
activ ct le moment o il d borde.
Dans ce mode, le compteur est incrment par J'horloge interne.
On configure le prdiviseur et le nombre de dpart (exemple $32).
Ce nombre reprsente le dlai qui va s'couler en fonction de la
frquence de l'horloge interne et du prdiviseur. La fonction gale
n'est pas active.
Mode de capture n 1
Le limer est utilis pour mmoriser l'tat du compteur lors de la
dtection d'un vnement extrieur.
Dans ce mode, le compteur est incrment par l'horloge interne.
On configure le prdiviseur et la fonction gale. La commande
externe est configure pour dtecter un front montant ou descendant.
Quand cette condition apparat, le contenu du compteur est
mmoris et unflag passe " 1 (et provoque une Lnterruption,
si cette fonction a t valide).
Mode de capture n 2
Le limer est utilis pour mesurer la d ure d'un vnement extrieur, il s'agit d'une variante du mode de capture nO1.
Dans ce mode, le compteur est incrment par l'horloge interne.
On configure le prdiviseur et la fonction gale. La commande
externe est configure pour dtecter un niveau bas ou un niveau
haut.
Sans activ,1tion externe, le compteur est bloqu, la porte gale ne
laisse pas passer le signal d'horloge. Quand la condition externe
apparat, la porte gale laisse passer le signal d 'horloge, et le compteur est incrment. Quand la condition ex terne disparat, le
contenu du compteur est mmoris et un flag passe 1 ..
(et provoque une interruption, si cette foneli on a t valide).
L Mode comp<lraiSQn ct PWM : s modes sont surtoul utiliss pour fournir un
signal logique su r une broche de sortie du IImfT. Par ron5qucnt, ils seront tudis
dans le chapitre suivant.
[54)
CH""U.
LES ACTIONNEURS
3.1
3.2
3.3
3.'
3.5
3.6
3.7
3.8
3.9
Moteur OC
57
57
Moteur pas--pas
60
Servomoteur
64
lectroai mant
67
Piston lectriqu e
Afficheur LeD
67
69
73
Buzzer
77
Led
3.11 Relais
79
81
Rglages et dmarrage
83
Alimentation(s)
99
M canique
111
M icrocontrleurs
121
149
153
Programmation
des microronlrleu rs
163
3.10 limer
10
11
Ralis..1lion n 1 :
12
Ralisation nO2 :
robot Quadripode
191
215
robot Cubic
171
------------------f~~~~~----------------
3
3.1 GNRALITS ET UTILISATION
Dans ce chapitre, seront dfinis comme actionneurs les lments
entrant dans les catgories suivantes:
3.2 MOTEUR OC
1,
1
,~
::~~:t
Vitesse moteur
v~t(
\ A fl
Figure 3.1.
Commande
tout ou rien.
Commande proportionnelle
Une commande proportionnelle va servir faire varier la vi tesse
de rotation de l'arbre du moteur en agissant sur sa tension d'alimentation.
On s'aperoit assez vite, hlas, que le moteur en charge ne fonctionne plus de manire linaire (figure 3.2). Il faut atteindre lll1 seuil
Figure 3.2.
Commande
proportionnelle.
Alimentation
Umax
Vitesse
Vmax
,,
----------r------------
. ,-----,
"
, l'
Le seuil est
diffrent a vide ou en charge
" ,,
de fonctionnement
___ utile. la vitesse est proportionnelle a la tension
d'alimentation
,,
Moteur en charge
Moteur a vide
[58'
P~ge
Horloge
j
12.5 %
de PlliSjOOC8 ./_---,
Umo'o.,
Uma.
t
~
Honogo
5
'"
,
~
um~:: t
,,,
Ho rloge
Xl ..
l,
0
"
,8
Umoteur
U~.
[591
cube, avec J'arbre dpassant d'une face. Cet arbre tourne librement
sur 360 ~, dans le sens horaire comme dans le sens anli-horaire. La
Phl
AJm.
Ph'
Figure 3.4.
Moteurs pas-.li-pas.
8
Ph3 Alm PM
[601
3
V~t
f/
CB!
CB'
CPh1
CPh2
"
t-
,.,
-{=]-~':":'_____':":'~J
/CB!
fCB2
Bobifl.. d~rIu
Figure 35.
Circuits
d~
puissance
des moteurs
pas-pn.
CPh1
"""~t-
alimente
;
1
L_ _--.JL__-'-__---1___-'-__
CPh2
t,
CPh3
,t
,
--11t-~
CPh04
Egure16.
phase.
1
CPh1
Boooo
alimente
CPh2
,"
CPh3
,
"
,1
\,
CPM
L----+----+---~r---~----+_,.
Figure 3.7,
Sur la fi gure 3.8, les tapes 1 8 sont les tapes de base. L'tape 9
correspond ici aussi l'tape 1 : le cycle est rpt pour faire tourner le moteur en continu.
3
f
CPhl
cm
,,
,
,,
,,
,
,,
,
,
,,,
,
,,
,,
,
,,,
,,
,
,,
,,,
,,
,
CPh 3
CPIl4
Figure 3.8.
2
CPh l
,,,
,
;
i
,,
,,,
,
,,
,,
,,
,,
,
,,,
,,,
,,
,
,,,
,,
,,
,
,,
,,
,,
,,
,,
CPh4
!
i
t
l,
Figure 3.9.
V"""
-5V
Ph.
Pta
Ph3
Ph<
"
O,
"
02
."
03
'"
COM
UlN2003
Figure 3.10.
Driver pou.r moteur
pas--pil'l.
Les sorties collecteur ouvert " recopient les tats p rsents sur
les entres. l 'avantage de cette solu tion est d 'tre d ' une extrme
simplicit (mise en uvre, cblage, encombrement), mais la puisSo:1.nce est tout de mme limite (Iou tmax '" 500 mA, Vm.JX::< 30 V).
3.4 SERVOMOTEUR
Servomoteur standard
Les scrvomoteurs (6g ure 3.]1), loul comme les moteurs pas--pas,
ont un mode de fonctionnemen t particulier. Ils permettent aussi
un asservissement de position, mais uniquement sur une plage
de 180" pour les moclles courants. Leur taille est sensiblement
suprieure cclle d'un petit paquet d'allumettes, pour un couple
impressionnant: 30 Ncm pour le modle 5148.
COMMANDE
(impulSIOn)
I:igurelll.
Servomoteur stand.ud.
Moteur
Dmultiplicateur
ARBRE
(positionl
PoIe'ntlometre
[641
3
De trs nombreux modles sont disponibles sur le march; les
diffrences majeures se situent essentiellement au niveau de la
vitesse de rotation, du couple maximum et de J'encombrement.
Bien entendu, ces caractristiques influent sur le prix, mais on
trouve aisment des servomoteurs standards (HS300, 5148) pour
moins de 14 .
1"1 ,5ms
...
n
D
D
D
D
D
D
"
"
.
OT-20ms
- 9,.
1
1
~
!
TI
fi
DT. 20 ms
1/
t '\
1"- ./
OT-20ms
..
"
Toutes les valeurs intermdiaires entre 1 ms et 2 ms sont acceptes, ce qui permet un positionnement prcis de J'arbre du servomoteur.
Un autre point important savoir est qu'il est inutile de grer le
sens de rotation, puisque l'lectronique intgre du servomoteur
le fait de manire automatique. Ainsi, des squences de positionnement complexes sont ralises par la seule modification de la
largeur de J'impulsion de commande. Dans ce contexte, il faut
tenir compte de la vitesse de rotation de l'arbre, afm qu'il atteigne
sa position prvue, avant de rnodiiier le signal de commande pour
la position suivante. Il faut aussi noter que J'arbre garde une posi-
Figure 3.12.
Servomoteur modifi
Un servomoteur standard fonctionne sur une plage mcanique
fixe de 180. Si on dsire J'utiliser comme moyen de propulsion
pour un robot mobile, il convient de le modifier mcaniquement
et lectroniquement (figure 3.13), afin de le .. librer .. sur 360, et
sans bute (fig ure 3.14). L'inconvnient est qu'il n'est plus du toul
possible de faire de ['asservissement de position - mais ce n'est
plus alors le bul recherch.
COMMANDE
[impulslOnl
C><
Moteur
ARBRE
[arT6!. marche avant. marche arrirel
DmU~lpliClteur
Figure 113.
Servomoteur modifi
Rfrence fiKe
Com mande
10" ~ n n
DT " 20
Figure 1
. 14.
lTIfI
Rotation hOrillr.
"
TI
nnn
.. ..
DTz20ms
Rotation antihoralre
3
3.5 LECTROAIMANT
On peut raliser un actionneur simple de type tout-ou-rien grce
un lectroaimant, par exemple pour raliser une pince destine
prendre un objet. Cet lment est ronstitu d'une tige mtalJque
Tige mta//tqUfl
lectroaimant actld
COfpS
Fils d'aimanta/IOn
Bobif16
lectroaimant au repos
lectroaimant aCllv'
Exemple 2
1,
t,
Figure 3.15.
t leclroaimanls.
(2) Modlfle'lIon
(3)
.,,,,,,tion d. Llo
Mmpe,,..ture
Figure 116.
Princi pe des alliages
il mmoire de forme.
Eau i 100 OC
Piston au repos
Fil AMF
Piston activ
CO,",
TIQ6 mtall"lue
Figure 3.17.
Piston lectrique.
[681
3
3.7L W
La Led est l'lmenl le plus simple pour fournir une jnJormation
l'utilisateu r. Cette information est binaire (Oll/Off), ce qui est suffisant dans bien des cas, notamment lors des phases de lest qui
consistent par exemple :
vrifier une partie d'un programme (si on
fi sort,. d'une boude par exemple);
fi
entre et si on
R
IF
'i
lB
RB
VC
VB~
VCE..t
Figure3.18.
1!
R = Vcc - Vf - Vcesat
If
Rb = Vc - Vbe
lb
avec lb -
Icsa!~
J3 min
. '!.,..,vr',,:----'1:
,'/-';
\
= If dans ce cas.
j, ~."."" )~ 1
VCl:'S<lt et Vbt sont donns par te constructeur.
.,
-------------I!21-------~~,. , J 1
~lcsat
69
"",. .::,';;;'_.-:---
Si on utilise dcs Led standards (10 mA < if < 20 mA), il faut introduire entre les sorties des circuits logiques et les Led des drivers
transistors ou des bllffers en circuits intgrs. Cela augmente la
complexit du circui t et/ou le co t global.
Une excellente altemative consiste faire appel des Led 2 mA.
Leur faible if pennet au concepteur de les relier directement (mais
toujours au travers d 'une rsistance srie) une sortie de circuit
logique (porte logique, microcontrleur).
Un second av,lntage est de faire diminuer de (,1(on importante la
consommation lectrique de cette partie du montage, ce qui est
primo rdial pour [es applications embarques et la robotique.
Vrx.
Mlcrocontr61eur
Microcontroleur
Figure 3.19.
En fon ction du rnicrocontrleur utilis, une entre-sortie (configure en sortie) peut fournir ou drainer un courant de 20 mA,
mais avec la limitation de ne pas pouvoir dpasser 45 mA pour
l'ensemble desenlres-sorties d u mme port. On ne pourra donc
pas utiliser plusieurs Led standards (10 mA < if < 20 mA) simultanment. En revanche, les modles faib le consommation (if = 2 mA)
ne poseront pas de problme, mme pour huit Led allumes en
mme temps.
R _ Vec - Vi
If
3
Led particulires
Led multicolores.
Bargraph
Les bargraphs sont des colonnes (ou des ranges) de Led montes
ensemble (figure 3.20). Ici aussi, on dispose de plusieurs modles:
range de dix Led ;
colonne de deux Led de mme couleu r ;
Bargraph horizonlal
(vue de ""us)
i,
Bargraph vertIcal
(vue d. face)
Matrice de Led
Une matrice de Led est un bargraph li d eux dimensions: les Led
sont montes en ranges et en colonnes. Comme toujours, on trouvera de nombreux modles d iffrents, mais le principe de base res te
le mme.
Figure 3.20.
Bargraphs.
Chaque Led est cble entre une colonne et une range. Dans
l'exemple de la figure 3.21, les colonnes sont connectes a ux
anodes, et les ranges aux ca thodes.
Figure 3.21.
Matrice de Led.
Matrice de Led
(Vu. de dessus)
Commun
Commun
abcdelgdp
Anoth commune
abcdelgdp
C.thocH commun.
11
1-1.
Afficheur 7 segm.nts
(vue de dessus)
Figure 3.22.
Afficheur
1 segments.
[721
3
Si on utilise plusieurs afficheurs 7 segments, on retrouvera donc un
schma global quivalent une matrice de Led, et de nouveau on
fera appel la technique du multiplexage pour piloter J'ensemble
des afficheurs.
Figure 121
Afficheur
Afficheur alphenumMique
(Vue d. dessus)
alphanumrique.
Figure 3.24.
Affi cheur LCD.
,, _
{
t
1nter1_
, ,...
ll
1---1 Controi&uf
~,
Ecran Leo
..... 1vL-___-'
AfficheurLCO
de dusu-,l
SIrv<:tunr inr.m
~u.
1'731
On trouve:
des commandes d'initialisation;
des commandes de configuration (curseur, dcalage, etc.);
des commandes d'affichage de texte (ca ractre par caractre);
une lecture de sta tut .
Chaque afficheur LCD a des caractristiques physiques propres :
dimensions;
fixations;
emplacement du connecteur de liaison (brochage prsent
dans le tableau 3.1) ;
brochage de ce connecteur.
Tablea u 3.1.
Brochage du
connecteur de liaison.
Description
Oslgnation
V
A1imeotalion + 5 Vele
GND
Masse
Vo
Rglage de contraste
DO .. 07
RS
FWI
3
PB7
PB6
PB'
PB<
PB3
PB'
PB'
PBO
PA>
PAl
PAO
07
V~
DG
ONO
PB7
PB6
PB'
PB<
05
Vo
'"03
07
06
05
D'
GNO
Vo
'"
03
02
02
V~
00
PB3
PB'
PB'
PBO
RS
RIW
In tltffiJ.ge Il bIt.
rm
A
K
D'
00
RS
RIW
E
In'ltffiJage" b/~
Figure 3.25.
Interfolages
8 bits et 4 bits.
o.t.
~
;
,!
~
+><
Quarte!
",,'
...
RS-O-Rm"o
Quarlet
1 Il
P""",
II
Pulse E
,!
,i
,~
Tampo 10 ms
Figure 3.26.
I
o.~
tx
"""""
""~
les commandes sont dfinies par la l.igne RS qui vaut .. 1 ... la ligne
R/ W est ,, 0 : opration d 'criture (figure 3.27).
...
RS .. l RMo: O
Quartel
1 11
Placer OataH
IkJf
le pott
Pulse E
Pulse E
Figure 3.27,
Tempo 50 ilS
Squence d'initialisation
La squence d'initialis.ltion est envoye l' afficheur lors de la mise
sous tension. Elle sert dtennincr le mod e de fonct ionnement
de J'afficheur (interface 8 bits ou 4 bits) el sa configuration (dcaJages, curseur, etc.), voir figure 3.28.
InlerfllQl! 4 bits
Figure 3.28.
$33, 522
'2B
.OC
'06
3
Init. du pointeur
sur la chaine
Affichage
du caractjore
IncrmentatlOll
du pointeur
YFin de
chane?
)'0
Figure 3.29.
Algorithme
de l'affichage
d'u.ne chane.
Fin
3.9 BUZZER
Les buzzers pizolectriques sont peu encombrants el trs pratiques pour fournir des informations sonores: on peul jouer sur
le ton et l'amplitude du signal. Pour les faire fonctionner, il faut
leur fournir un signal compris entre quelques kilohertz et 20 kilohertz (les sons graves ne sont pas correctement rendus).
On s'en sert donc pour donner une information sonore, que l'on
nomme trs souvent bip". Ces bips vont renseigner l'utilisateur
sur la dtection d'obstacle, sur la mise en route ou l'arrt d'un
moteur, ou sur la fin d'excution d'une tche par exemple.
t,
!,
,
Sur la figu re 3.30, le courant 1 qui traverse la bobine B et le transistor est fonction de ln rsistance du buzzer (donne par le constructeur).
Rb _ Vc - Vbe
lb
avec lb =
lesat"
13 min
[77i
[781
3
Buuer
vc
_~I~B_-{R=B~_;-t
"'~
VCE,,'
Figure 3,30.
BUUef
BUUef
Mi croconlroleur
;
i
1 00 00 00
Alrdl
Marche
1
Arr'
100001
Marche
1, 3.101lMER
j
,,
!
l.
Mode comparaison
Le limer est utilis pour gnrer des signaux priodiques ou
apriodiques (dlai prcis par exemple) sur une broche de sortie
l,
Arr'
Figure 3.31.
lnnnnnnnnooononnnon .
Mlcrocontr6leur
Figure 3.32.
de la frquence de l'horloge interne et du prdiviseu r. On paramtre aussi quelle sortie va tre active par ce mode de fonctionnement, et de quelle manire elle va ragir (mise ,,0 , mise
" 1 , inversion de polarit). La fonction gale et les entres sont
inhibes.
Le contenu du limer est compM en permanence avec le registre
,
1
)1
Mode PWM
Le mode PWM (Pulse width madJ/latioll, modulation de largeur
d'impulsion), permet de configurer la frquence du signaJ de sortie,
ainsi que le rapport cyclique de ce signal. Le mode PWM n'est
cependant pas disponible sur tous les timers. En effet, il demande
une architecture matrielle du timer bien spcifique, el seuls cer
tains constructeurs le proposenl (Microchip, par exemple). Ces
timers offrent donc l'utilisa teur un regislre de configuration de
la frquence, el un registre de configuration du rapport cyclique.
Le rapport cyclique va donc pouvoir varier dans la plage 0 %-
[801
3
100 %, avec la rsolution offerte par ce deuxime registre (8 bits,
10 bits, 12 bits), comme sur la fi gure 3.33.
F"""',uO%
MM III 2S"
h
b
""'" n_
Mlcroconlrleu,
0 0
f'lNM 111 50 %
1 Il
Il
Il
PWM4I 100%
3.11 RELAIS
Le relais n'est pas rellement un actionneu r, il est plutt considr
comme une interface entre deux ensembles lectrotques (ou lectriques). Toutefois, nous allons le dcrire rapidement dans ce
chapitre, puisqu 'il est pilot de manire semblable une Led ou
un lectroaimant el qu'il peul commander (commande de puissance) un moteur, une sirne, ou un voyant.
Sur la fig ure 3.34, le courant 1qui traverse la bobine B et le transistor est fonction de la rsistance de la bobine (donne par le
constructeur).
[81')
Figure 3.33.
Mode PWM .
Rb -
Vc - Vbe
lb
avec lb ;:;
lesat
~ min
vc
"
RB
e-
VB~
VCEsat
Figure 134.
[821
REGLAGES
,
ET DEMARRAGE
84
85
9.
Alimentation(s)
"
Mcanique
111
Microcontrleurs
121
153
10
Programmation
des microcontrleurs
163
11
Ralisation n" 1 :
robot Cubic
171
12
Ralisation n" 2:
robot Quad.ripode
191
215
d'alimentation
95
149
Rfrence
Figure 4.1.
la luminosit;
la couleur d' un dam ier au sol (certains .. bla ncs sont plus
"blancs que <' blancs,. comme l'avai t remarqu Coluche):
le bruit.
Figure 4.2.
Rk islance ajustable.
.
1
(Ml
4
Figure 4.3.
Potentiomtre.
.
1
Figure 4.4.
TriHlmer.
Les interrupteurs
l
l
l
V
Tses,
;
!
SPOT
'1
SPST
"""
TqgeilVoc.
Sanw f"~tance
Tirage aGNO
[851
Figure 4.5.
SPST
Figure 4.6.
._---------------------------------
l ,, : a rrter les
~ f=~,=.=..~.=.~...==.t.=..=
_ j~L
Figure 4.7.
Interrupteurs
mis en parallle.
Tabluu4.1 .
Miaoconl!6leur
S,
52
53
INO
IN'
IN2
Nombre
a
a
a
a
a
a
a
a
a
a
a
(116)
4
On peut ainsi dfinir un seuil de manire numrique, indiquer la
vitesse de dplacement maximale, le nombre de palets trouver,
etc.
"""
BP SPOT
"k<>
Tirage il Vcc
,i
i
!
~,
IN
0
0
Sans rs istance
Cblages
d'un bouton-poussoir.
Comme dans le pa ragraphe prcdent, on peut attaquer directement l'entre d'un mjcrocontrleur dont la rsistance de tirage
interne a t active (figure 4.9).
f,,
!
Tirage GND
Figure 4.8.
')
Mlcrocontr~eur
Figure 4.9.
~ LI2mA
MicrQC:(ll.bOlel.lr
Figure 4. 10.
--- -----_ .. .. _. _,
1,
.. 1
--
,l _ _ ________ __ ____ ,,
Figure 4.11.
Squencemenl
une
ou plusieurs Led.
[881
4
:--- --- -- ----- -- --- ----- -- _.,
Lod1
'"
Lod'
9P2
9P3
Co"
Lod'
'"
Figure 4.12.
M~rocol'ltrOleur
,-----------------------------V
10 kO
Shoot
Reslstilnce
programma~e
,-i---'------
'N
10 kn
MicrocontrlelJr
Tlr.ge' Vc
Tir.ge" Gnd
,,
;
Shunt Inilctif
Shunt aClif
1
,!
f,,
!,
Figure 4.13.
Shunts.
\
les roues codeuses
Les roues codeuses fonctionnent de la mme manire que les
"""
r----------,
"...
: A
.
Figure4.14.
Roues codeuses.
o
c~
----------,
;,1,
Roue codeuse
Vue de faee
Chiffre
slectionn
Valeur binaire
tal
des interrupteurs
Tirage Vcc
.--
-- -
4
Les claviers
Un clavier est dfmi pa r un ensemble de boulons-poussoirs
placs d'une manire particulire. La frontire enlre un clavier et
un ensemble de boutons-poussoirs est donc mince, car le cblage
d'un clavier simple (peu de touches) est identique au cblage de
quelques boutons-poussoirs (figure 4.15).
..'"
"
OP3
,pO
OP,
.es
.,.
OP7
MICIOCOIlbOleur
rslstilncn de
brage Interne
' C~
,,
.... _________ J
Lorsque le nombre de touches augmente de manire significative, on parlera reUemenl de clavier. De fai t, le nombre de
rom\exions entre le clavier et le microcontrleur va augmenter
aussi.
Deux modles de Ctmexion existent : les daviers non-multiplexs
el [es daviers multiplexs (appels aussi claviers matriciels).
l,
!
t-,
,
--
.r~de
~rage
Inleme
Figure 4.15.
BoutonspoussoilS
et d.lIVier 8 touches.
,,
,-----------~
2
3
""
""
""
"
Figure 4.16.
Oavier 1 16 touches
non.multiple)(.
rlustancw de
brage inle.-ne,
J,
Reseaux de ""tances
de~rage
, ,
,
A
"~-
~--._------.'
~.
B
F
C,
Vcc
"".
s..-
Hi..z
....
Pon 8 bits
C,
C2
Hi--Z
~
Figure 4.17.
MlcrocontrOleur Siln.
r_stances de
tirage inter""
appui sur une touche), soit sur une routine temps rel " appele"
frquence fixe, auquel cas le programme connat en pennanen
l'tat du clavier.
Clavier 16 touches matric
4
07
06
D'
---- --~. ,
R2
~.
-- - ---- -,,,
~. ~.
0<
,,
L~~ :
03
~~ ~. ~ ~
02
~~ ~' 4 :
_____________
----_1_,
00
R3
Cl
C2
C3
01
C-4
<:000_
1
\
!l
,!
l
J,
,l
La figure 4.20, page suivante, illustre un exemple de fonctionnement de davier 16 touches matric.
Figure 4.18.
Cb.vier 16 touches
matric.
Inl. Col 0
,
o
Figure 4.19.
Algorithme complet.
R._
Cdoo~
07 De 05 0.
CC2C3C
, ,
1
1
1
Figure 4.20.
bemple
de fonctionnement
de davier
16 touches matric.
Aucun.
.., ,,
,""", ,
l,
, 1
~
COL ,
R' 00
R' D2
, ,
, ,
,0
, ,
, 1
ROW 1
COL ,
R3 ",
R' 00
ToudlninadlVM
1,
, 1
, ,
0,
: ROW 3
COL'
4
"
"
", '"
03
D'
0'
00
Xl
,," ---,
----
",,
,,
,
,,
,
~. ~. ~ . ,
R2 :
,,
,,
~ . ~. I ~' ~. ,
R3 :
,,
,
, ~. ~.
~ . ,,
R4 :
,,
,
'" ------------------" ""
C3
P2
"
"
"
"'
'NT
, "
Y2
i ~'
C,
'"
Pl
Mo'
t
C,
DA
""
V~
Y3
"
, """
ose
5
C'
10~F
47rF
"j; J;
v~
"
DE
"
CND
Microcontr6le1Jr
74C922
/-
"
;
l,
l
i;
!,
j
,~
Chaque lment de rglage analogique (rsistance variable, trimmer, potentiomtre) est connect entre Vec et GND. La plage de
tension disponible su r le curseur va de 0 V Vcc (+5 V, + 12 V,
etc.).
En fonction de la prcision souhaite pour la calibration, on utilisera un convertisseur analogique/ nwnrique 8 bits ou 12 bits.
La liaison avec le microcontrleur dpendra du nombre d'entressorties disponibles: liaison parallle (voir exemple de la figure 4.22)
ou liaison srielle.
Figure 4,21.
Clavier
16 to uches matric
et encodeur de clavier.
"
SOC
EOC
/}
4-
Convertu,$8Uf ;.JN
MocrocoolrOieuf
.AtIId'oew LeD
-~
"l'
Figure 4.22.
rage.
4
Dans le second cas, ces mmes problmes peu . . ent perturber les
premiers dplacements du robot, lui faisan t perdre de prcieuses
secondes au chronomtrage.
Pour paJlier ces inconvnients, p lusieurs solutions existent.
(ntIr~"")
j
Inotiatiution dM 110.
\IaI'UbIaI
pelpilto~
j
T~tion
lou2_",~
T~
,,",,<
I--~I
1
f'fograrnme
Figure 4.23.
p600ph0Moque&, .........
,~,
,
L'iIPPU''''''''''''
-~--
i-
l,
action rapide,
~~
1,
..
8P",~".
,
progr...,...,... po.~
Figure 4.24.
[97]
il" "'
~~v """'
Jaclc femelle
Ficelle
Figure 4.25.
Utilisation
d'un Jack.
j
Initialisation des 110,
p8nphriques, variables
Jack en
place ?
'1
j
Figure 4.26.
Algorithme pour
Programme principal
(981
<: HAPIT"
ALIMENTATION(S)
5.1
Gnralits
101
5.2
101
5.3
Rgulateurs standards
103
S.,
Rgulateurs fowdrol'
103
5.5
Rgulateurs dcoupage:
bl/ck ou step-down
10'
Rgulateurs dcoupage:
boost ou step-up
105
Rgulateurs dcoupage:
bl/ck-boost
105
5.6
5.7
5.8
5.9
Balleries NilCd-NilMh
107
108
Mcanique
\ll
Microcontrleurs
121
149
153
Programmation
des microcontrleurs
163
10
(99)
,
Ralisation n 1 :
11
robot Cubic
12
Ralisation nO2 :
robot Quadripode
191
215
171
5
5.1 GN RALITS
L'alimentation d'un robot est un point cma], que l'on il tendance
mettre de ct et tudier seulement vers la fin de la ralisation.
Or il convient de l'intgrer rapidement dans l'tude, car l'nergie
demande par les moteurs, les capteurs, les actionneurs et le processeur va influer sur la capacit de la (ou des) batterie(s), el donc
sur le poids supplmentaire, el ventuellement engendrer une
augmentation de la pu issance des moteurs.
SUI
adapte.
5.2 PROTECTION DES ALIMENTATIONS
Si l'on veut parer tout risque de mauvaise manipulation ou une
situation imprvue, il est prfrable de prendre certaines prcautions ~ur protger le circuit d'alimentation du robot.
Prenons l'exemple du robot prsent su r la figure 5.1. On distingue :
deux moteurs OC de propu lsion ;
un sen'omoteur pour orienter un capteu r spci.fique;
un microcontrlcur ;
deux capteurs de choc avant.
!
i
Mais dans la plupart des cas, tte solu tion s'apparente du luxe,
si les puissances mses en jeu sont faibles, si on choisit de n'utiliser
qu'un seul fusible, ou si 1(>5 rgulateurs sont protgs contre les
courts-circu its et! ou contre les lvations de temprature.
En revanche, ds que l'on met en uvre un robot utilisant des
moteurs OC de puissance, il est fortement conseill de sparer les
circuits lectriques et d e protger particulirement celui qui commande les moteurs.
!
/101J
c,.,,,,,...,,,
servomoteur
Moteur OC
R~
/'
o
Carte lectronique
- mCl'ocontrleur
- commande de PUissance des moteurs OC
- commande du 5efVOIlloteur
Figure 5,1.
Al imentation de pUissance
pour les moteurs OC
FUSIb lE!
~IE!
Figure 5.2.
Ex emp l e
de structu r e
d 'alim entation
du robot.
Batterie N,Mh
7,2 Vil AH
Reg5V
Alimentation " 5 V
pour le servomoteur
Reg5V
Alimentation .. 5 V
pour rlectronique
5
5.3 RGU LATEURS STANDARDS
Le rgulateur linaire le plus connu est le 7805 (quel que soit le
fabricant). Ces rgulateurs sont trs courants, faciles mettre en
uvre, peu chers, el ils peuvent fournir un courant de sortie
important (1,5 A pour les modles classiques, et jusqu' 3 A pour
le MC78TOSCT).
7805
+6,5Vmn
,
100 oF
~
/.
22 ,F
"SVl15A
100 nF
Figure 5.3.
1
1
,~
fi.
lN4001
L4931C50
Figure SA.
100 nF
22
~F
100nF
, 'N
.]V
100 ~F
OUT
/, 7
330~H
ONO ""lOf!
3
+ 4QV
Figure 5.5.
FB
lN5822
330 jJF
+5V/1A
ALIMENTATION 5
circuits.
100llH
51
.'v
.IOV
l N5821
,1
FB
IN
SN
ONO
COMP
l.M257712
+ 12 VI800
mot.
2.2 kO
3JOnF
100 nF
1000 iF
100 oF
!
~
,,
i
,
J
,
,<
buck.
Figure 5.6.
,
'"
,,
~H
27
100
0
~F
7
ON
"'- ~1"5V
~
OHO" ,
5V/3, 3V
roND
""0
l- lN$817
0 _ 3,3V
0
"
IUm
.. 5Vf220 mA
LTlXlO
220~F
27 ~H
100 nF /,
220~F
100 nF
Figure 5.7,
v~,
[7]
GND2
GNOl
Figure 5.8,
Vin_.$Vdc{10%)
Vin $ Vdc (10 %)
Vin 12 Vo:Ic (1 0 %)
TMMS05S
TMNJ512S
TMA1205S
VWI" +$ VdcI200 mA
VWI _ + 12 Vdcl60 mA
Vwl. + 5 VdcI200 mA
5
Convert isseurs DODe so rti e double
l21
G NDI
....... . 5 Vde (10 %)
Vin " 5 Vde (10 %)
v... .. 12 Vtlc (10 %J
"""""'"
TMA0512D
TMAI2MO
Vee
GN02
Figure 5.9.
'OlS
'if
+ 5V/l,5A
~
100 nF
~
22 !-IF
,.,1;.
100 nF
MIXI~ e
oc/oc
.,1Vee
Figure 5.10.
,;i
de nombreux modles :
des cellules de base de 1,2 V, de quelques centaines de mA / H
,",
,!
diffrents courants.
bol
'2Vr-
~III
r
TTTT
'2 V
1,2V
1,2v
1,2v
l
l
1,2V l
1.2V
' .2V
4.8V
TL _ _
1,2V
MOIIllfgfI
de,.
FigureS.ll .
Montage parallle
et srie des cellules
de 1,2 V.
,-------<In--- - - - - +
Battefi.e
Circuits lect~
du robot
Interrupreur DPOT
- MarchelAfTIt (Recharge) -
Figure 5.12.
FigureS.ll
,,
,
,,
1
,
!
MECANIQUE
112
116
117
118
Microcontrleurs
121
149
153
10
Programmation
d es microcontrleurs
163
11
Ralisation n 1 :
12
Ralisation n 2:
robot Cubic
robot Quadripode
Remerciements el liens internet
blll
171
191
215
On utilisera principalement deux matriaux: le plastique et l'aluminium. Ces matriaux sont courants, bon march, disponibles
sous plusieurs fo rmes (tubes, barres, plaques, etc.). Ils sont par
ailleurs facilement usinabJes et trs lgers.
la fixation et l'assemblage de pices en aluminium se feront a\'e<
de ta visserieM3, tandis qu'on utilisera une colle ildilpte pour
les plastiques. Pour terminer, les robots peuvent tre peints ou
recouverts d'autocollants (merci aux sponsors !).
[1121
..___. -
.,,-'
1 ..
. .....'"
-.ctioo
("JI
'f
~-
...........'*"'"
j
P'....,...d'.... ~IP.
p. I l
(piro 1* . . . ,"'")
j
~~
.....,...,<*la,,,.
.
(~
clio .. _
V"~i
~-~
ftaIlon 110
+".
oompoMntt
0- ..:lion........ l*Iicu~)
-_el ~"_
"-
.---
Vtrlllation
_m._'~I11~
\/,"""",\10<1 _
~"~"'IHo"'"
,/
R6 . .. IJDO, . . . . _~
~-~-"""*
j
j
1oIon~~du_
j
~
~
~
,
Figure 6.1.
et arrire.
; Patins en plastique
!
Si la hauteur Il est faible, on peul utiliser des patins cn plastique,
~
,
i
Unl
Roue libre
Figure 6.2.
Chssis simple.
_ - - - Servomot&llf modl~
Plaque PVC
Roue libre
Figure 6.3.
I:igure 6.4,
Utilisation de patins
en plastiq ue.
6
Billes de manutention
Figure 6.5.
Bille
Billes de manutention.
MonUog.
~r
le dessous
Figure 6.6.
~
;
II suffira simplement de percer la plaque de PVC pour laisser Montage d'une bille
passer la bille ou Ic capot, et pour les fixa tions.
de manutention.
i Roulette
1
i,,
I
,
,
,,
Figure 6.7.
Roul ettes.
[115)
EntretoISe de billion
VIS MJ rooc:le
(+ rondelle plate ventueOe)
Figure 6.8.
Vis de fixation.
1'1161
Vue de d.......
,,.---------- . --.,
:,
,:
'----------- -
---'
Vue de ct6
Figure 6.9.
Chassis en .. U ..
Vue de face
t
l
L'utilisation d'un chssis rond (figure 6.10) rend trs facile la mise
I117J
Vue de dessus
Figurc6.10.
Chssis TOnd.
Vue de face
[lisl
6
De ce fait, quand le robot avance ou recule, il est toujours en appui
sur une roue libre, ce qui limite les frottements au sol, sans que la
soit visible pour l'utilisateur ou gnant pour le fonctionnement
du robot.
Plusieurs solutions existent pour structurer les parties mca-
Empilement simpl e
~ peB microoontrOleur
:;:=====;::Tl
~:===========~~ ~ peB capteurs d'obstacln
~~====::;:::::::====~~ ~ Alimenlatlons,ldlstributionimarcOe-al1'6t
. - / Entretoise '-13 plastique ou inox
~ P~que
~~~~
Figure 6.11.
Empilement compact
pee microcontrleur
~
n===~===rr
et capteurs d'obstacles
~
peB support pour les moteurs. batterie{s),
~
~~~~
i, 1
alimentation et distributioo
Empilement 3D
La fixat ion et [a connexion lectrique des diffrents PCB se font
par des connecteurs mles et femelles couds.
,,l"
1119)
Figure 6.12.
Pe6 alimentallon
~ et dlltribution
d'OOstaclel
Figure 6.13.
Figure 6.14.
P.JSs.lges de cbl es.
l120l
CHA P " n
MICROCONTROLEURS
A
7.1
Architecture d'interconnexion
directe
124
7.2
7.3
Architecture d'interconnexion
126
volue: rseau en toile
7.4
Architecture d'interconnexion
volue: rseau en anneau
127
7.5
Architecture d'interconnexion
volue: rseau en anneau
129
7.6
Architectu re d'interconnexion
volue: rseau parallle
RAM double accs
129
7.7
PIC16F84 (Microchip)
130
7.8
PIC16F628 (Microchip)
131
7.9
PIC16F877 (Microchip)
133
134
135
137
139
141
144
145
147
149
11211
10
des microconlrleuT$
11
Ralisation n 1 :
robot Cubic
12
Ralisation nO2 :
robot Quadripode
Remerciements el liens internet
153
163
171
191
215
7
Toutes les gnralits conrnant les microcontrleurs vont s'appliquer aux microcontrlcurs slIgle-chip, aux microcontrleurs exlended, aux microprocesseurs et aux systmes hybrides.
Le processeur est au centre de tous les organes d'entre (informations) el de sortie (commandes), comme cela est illustr sur la
figure 7.1.
InlormabOOl
utilisateur
Progflltnme
1
1
Compilation
Programme
Processeur
j
;
l
i,
i
!,
4
,
l
,l
11231
Figure 7.1.
L'interconnexion directe entre le microcontrleur et ses priphriques est Iii plus courante. Il s'agit de relier directement les entressorties du microcontrleu r aux capteurs, aux actionneurs et aux
lments d 'informations vers l'utilis.1teur (figure 7.2).
'-"
""""'""'"
..
""-
~
~ oIuo ".IIOi ..
-"'--~
.-
.rs.. , . _,
~
_m
o.m., ___
R"
Jet
... ...
""'."""
MiO l ~ OI"'OIeur
Figure 7.2.
cr_......
_m
s..-.oo,_
Informatiortl
__ rutO-.ut
Co"
.""""-
eom..,.
~'"
,,,,-
OAN
.Figure 7.3.
Iq41
7
Architecture un esclave
Dans l'exemple de la figure 7.4, le microcontrleur matre est
dcharg des oprations utiles la commande de deux moteurs
...
""""
""""""
,.
...... r~
~''''
AI'IIeIIe<I< LeD
-~
'"'"'
,~
_..
,-,
d'Hmentallon
AOf>. CAN
Aoapl.tion nl
SurvenlllllOll
r rrr
MlCfOCOIIIr6Ieur _
"'-
"""""'"
AOP. GAN
'"'"'
'"'"'
..
MlCfocontr6+eur malt...
Figwe 7.4.
Architecture
un esclave.
,,
~,
t
o
..
""""
,,
,~
~'-
......
.........
l"""",,,-tioIls
C~""rI
rlJlijif.ateu<
AftictIeur LCD
WlaIogoq ....
ve<1O
!
OAN
'"""
rr r r r r
MiaO<Xll la6leu, eodav<i
,,,-
'"CV<
MioOCOtI~
iloIeur esdeve
.J
,l
Microcontr6leur mallr1i
Figure 7.5.
Architecture
plusieurs esclaves.
SUIV~
d'lIIimerIl8!IOn
Adap(aOOrt TIL
""'"''"""
Un avantage qui dcoule de ce type de raccordement cst l'universalit des modules racco rds au microcontr lcu r maitre : module
Figure 7.6.
Rseau en toile.
---- -- ------ --- ----- -- -----,, ------_ ._--- -...... _-_. .. --,,
-"
,,
,,
,
,,,
,,,
,,,
,,
Module de lOrties ~
2 moteurs pat.-'-p;os
servomo4el.lfI
InformMians verll'UIiIIu1_
A/'Iic:hfIur Le D
,, ,,
, ,
puisurQ
MlerocoolrOleor HClaVfl
...
'"'~
,
,,, ,,
,, ,,
,
,,, ,,
,, ,,
,
,,, ,,
M ~ocontrOiellf
eldave
,+ --- -- -------
,
,,,
,,
,,
,,
,,
,,,
,,
,,
,
,,,
,,
,,
,
,,,
,
""""'"'"
Ccmmandes manuel. .
'"'~
Microoootr6leur elClilve
MiCf(x;ontrO!eur mallre
......
Miclocoo,trOleu" ndIIvtI
T""T
T"'T
CAN
R~
..aIogIqo-
CAN
,,
,,
,,
,
c.,o_ .........
,,
,,
,,
,,
,,
,,
,,
,,,
,,
,.....
Mk>QI;OIotIOIeur ~
Adaptation TIL
Sunoeili''''''
d'ali" ... otatioo ~'l
------ ------ --- ------ --- -_. ------ --------------------_. ---.-- ------------ ... ----.
Module (l'&n1r6el .... aIogiql$
Supervision dalimentaIOO(I)
7
Au besoin, et suivant la programmation des modules, certains
priphriques esclaves peuvent d ialoguer cntre eux, le microcontrleur matre ne faisan t que redistribuer les informations.
'_.........
,....... -- -----
...
-;-
MOCfOCOf1tr61otU' _
, ~-------------------~
_
de _
k9qo.:
,,,
,,,
,,
,,
~~.
,,
,
.... l'utih.o_
,
,
,,,
,,,
,, ,, MiQocor~rOieu, .oeII .. ,,
, ,
,
------~
_~
..
--------------------~
.......
Micfocontr6lot", _
..
,,:
,,
,
,,,
,,
,,
,
---------------------,
Ma
R~ .naIog"l"'"
-;-
lb : :
,~0.
.. _
,,,
,
,,,
,
,,
,,
,,
,,
,, ,,
, ,
C"""""'" ",.~
....... ocor ... - . . _
,
,,,--------------------,
,, S...,.,..osoon .,.. . . .Iotion!.) ,,,
,,
,,,
~
,,
,
"._tion(l)
,
,,
,,
,, M...ocor'b _ _ ,
,,
,, ,,
, ,
,
i,
j
t
J
,b _ _1n
......
Figure 7.7.
Rseau en ann eau.
~--------------------------
,,
,,
,,
,
,,
,
,,,
,,
,
,'
Actionneur.
MicrooontrOleur esclave
~-------------------------
~-------------------------
-------------------------
,,
,
,,
,,
,,
,
D6mal'Tage
MicrocontrOleur esclave
Rglages analogiques
Mlcnx:onlrOleur esclave
,,,
Capteurs analogIQues
MicrocontrOleur esclave
,,
,,
,,,
,,,
,,,
,,
,,
~-------------------------~
, ,
----------------SuperviSion d'alimentallOn(s)
Surveillance
d'alimenliillicm(s)
Microconlrleur esclave
Figure 7.8.
---------------------------
Rseau parallle.
[1281
7
7.5 ARCHITECTURE D' INTERCONNEX ION VOLUE,
RtSEAU PARALLLE
Dans celle architecture, le rseau est le plus souvent constitu
par une ligne RSl8S bidirectionnelle. Chaque module reoit les
ordres passs par le matre, en d iffrenciant l'en-tte du message
pour connatre le destinataire de l'envoi (figure 7.8). Seul le microcontrleur esclave rpondra la demande:
pour la lecture d'une information d'entre, le matre interroge
l'esclave et celui-ci renvoie une dOlme;
pour l'criture d'une donne de sortie, le matre pilote l'esclave
et celui-ci rem'oie un acquittement.
Proce..eur
,
1
Donn".
-,
,
,-
--
Processeurl
RAM
standard
Ad.....,
MM
0""''''''
"""""",
""" "'"
Donn6e.2
Processeur2
Conbo.2
,,
,
Grce cette solution, on peut in terconnecter plusieurs microprocesscurs/microcontrleurs au travers d'un bus systme parallle (figure 7.10). Certes la complexit du syslme global est plus
importante, mais elle permet une capacit de calcul des plus
Figure 7.9.
Processeur
maltre
Process.eur
esdave
_..
Processeur
Processeur
esclave
S1
_...R""_..R""R""
doub1e~
Figure 7.10.
R'
2700
C3
10 IFI63 v
Figure7.11.
Schma lectronique
du l'I C16F84.
[1301
7
Entres-sorties
13
Flash
EEPROM
64 octets
RAM
68 octets
Watchdog
Code protection
Oui
Instructions
35
Type d'oscillateur
Quartz, AC externe
Frquence maximum
10 MHz
Temps d'excution
400 ns
Interruptions eKternes
SP'
Tlmer(s)
1 timer B bits
PWM
Comparateur analogique
CAN
Boiller
DIPIS
Plage d'alimentation
2.0V5,5 V
Consommation
<2mA
Programmation
ICSP, programmateur
Foocllon(s) spc:late(s)
UART
,,
i
t-
,-
!
Tableau 7.1.
Caractristiques
du PICI6F84.
Figure 7.12.
Schma lectronique
du PIC16F628.
"
cu, f..---L-"''''
100 '"
"
j ,,"" 10S0
1OS l ' " " "
Tableau 7.2.
Caractristiques
du PIC16F628.
Entres-sorties
15
Flash
EEPAOM
128 octets
RAM
224
Watchdog
Code protection
Oui
Instructions
35
Type d'oscillateur
Quartz, Re externe
Frquence maximum
20 MHz
Temps d'excution
2oon$
Interruptions externes
UART
SP'
Timer{s)
2 timars B bits
1 limer 16 bits
PWM
Oui
Comparateur analogique
CAN
Botier
DIP18
Plage d'alimentation
3,OVS,5V
Consommation
<2mA
Programmation
ICSP, programmateur
Fonclion(s) sJ)ciale(s)
[132]
octets
7
7.9 PIC16F877 1MICROCHIPI
Le PIC16F877 (fi gu re 7.13 et tableau 7.3) fait partie des .. gros)l
mcroconlrleurs proposs par Microchip. Les foncti onnalits et
les priphriques intgrs sont beaucoup plus nombreux: plages
mmoire, priphriques de communication srielle et paraUle,
systme de debuggage interne.
Figure 7.13.
Schma lectronique
d u PIC16FSn.
"100 MI
ose1
MelA:
_L_.'l=
EOIAN5
t--i-i RREI/AN6
RE2' .... N7
RDOIPSPO
ROIIPSPl
RD2 / PSP2
RD 3/PSP3
RO./PSP.
RDSIPSPS
R0 81PSP6
RD71PSP7
33
Flash
EEPROM
256 octets
, .A.
1;
,
,,
,
j
!.
Tableau 7.3.
Caractristiques
Entres-sorties
368 octets
Walchdog
Code protection
Oui
Instructions
35
Type d'oscillateur
Quartz, RC externe
Frquence maximum
2OM",
Temps d'excution
200".
[1331
du PIC1 6FS77.
Interruptions externes
UAAT
SPI
Timer(s)
2 timers 8 bils
1 tlffl8f 16 bits
PWM
0"
Comparateur analogique
CAN
5 entres 10 bits
Botier
DIP40
Plage d'alimentation
2,OVS,SV
Consommation
< 0,6 mA
Programmation
ICSP, programmateur
Fonctlon(s) spclale{s)
ln circuit debugging
Readlwrite access to programm mernory
Parallel slave port
Figure 7.14.
Schma lectronique
de l' AT90S1200.
!;
Entres-sorties
15
Tableau 7.4.
Caractristiques
Flash
1Ko
de l'AT90S1200.
EEPROM
64 octets
RAM
Watchdog
Code protection
Oui
Instructions
B9
Type d'oscillateur
Quartz, RC interne
Frquence maximum
12 MHz
Temps d 'excution
SO'"
Interruptions externes
UART
SPI
Tlmer(s)
PWM
Comparateur analogique
CAN
Boitier
DIP20
Plage d'alimentation
2,7V6V
Consommation
'mA
Programmation
ISP, programmateur
Fonction(s) spelale(s)
1
l
!
fl.
,,
~
!,
[1351
Figure 7.15.
Schma lectronique
de l'AT90S2313.
"T90S2313
Tableau 7.5.
Caractristiques
Entressorties
15
de ]'AT90S2313.
Flash
21<0
EEPROM
128 octets
RAM
128 odets
Watchdog
Code protection
Oui
Instructions
118
Type d'oscillateur
Quarlz, AC interne
Frquence ma.llimum
tOMHz
Temps d'e.llcutlon
100 ns
Interrupllons e.llternes
UART
SPl
TImer(s)
t limer8 bits
1 tllner16 bits
PWM
Comparateur analogique
""'
CA"
Boitier
01P20
Plage d'alimentation
2,7V6V
Consommation
2,8 mA
Programmation
I$P, programmateur
Fonction(s) spc:lale(s)
11361
7
7,1l AT90S8515 (ATMELl
L'AT90S8515 (fig ure 7.16 el lableau 7.6) est le oc grand frre,. de
c,
Figure 7.16.
Schma lectronique
"
om
d e l' AT90S8515
singlN:hip.
'"
c,
'c,
""
PAOJAOO
PAlIADI
PA2/A02
PAl/AD3
PMIAOot
"'"''''
'''''''''
PAr/AD1
""'''
pel /AlI
PCl/A10
PellAl1
PC.'A 12
PCSlA13
PC6lAl~
Entres-sorties
32
Tableau 7.6.
Caractristiques
Flash
8Ko
de]' AT90S8S15.
eEPROM
512 octets
RAM
512 octets
Watchdog
Code protection
Instructions
""'
Type d'oscillateur
Ouartz, AC interne
l,
Frquen maximum
8MHz
Temps d'exKution
125 ns
,
1
!,
118
Interruptions externes
UART
SPI
Tlmer(s)
PWM
"";
Comparateur analogique
CAN
--
Botier
OlP40
Plage d'alimentation
2,7V6V
Consommation
3mA
Programmation
ISP, programmateur
Fonctlon(s) spclale(s)
II n'y a pas besoin de tirer la / RESET Vcc au travers d'une rsistance externe, elle l'est naturellement au moyen d'une rsistance
interne (100 500 H l ).
Schma lectronique
de l 'AT90S8515
txtended.
-r-a, L
---1I-J - J -''l
1ljXT"'L2
OC16
XT ... L1
"'LE
8101Hz
,c,
,>W'o
PB1fl"1
PB2/.,;na
PB3IAln1
PB<I/SS
P... OI... OO
PA'/AC1
PA2JAC2
PA3IAD3
P.... /~
pewosi
PASlAD5
P9SlMlSO
'"''''''
PB7ISCK
""""0
POlfl"O
P02IImo
P03llNTI
""
PD5JQC, ...
'''''''''
P01IRO
... roOS8515
P... 71AD7
1-"'-,
7
7.13 ATMEGAB (ATMELI
Les performances ellcs caractristiques de l'ATMega8 d 'Atme!
(figure 7.18 et tableau 7.7) en font un circuit impressiOiUlanl : les
PC6-IRESET
al
f------------------------""1
=F~~,,-"
...
100"1'
Av ec
"
Figure 7.18.
Schmol ledroniqu e
de l'ATMega8.
...
PCS/-'DC5ISCL
PC'IIA0C41S0A
PClIAOC3
PC2IADC2
PClIADCl
PCOIADCO
Tableau 7.7.
Caractristiques
del'ATMcga8.
Entres-sorties
23
Flash
6Ka
i
j
,
EEPROM
512 octets
RAM
1Ka
Walchdog
QUI,
Code protection
Oui
Instructions
130
Type d 'oscillateur
Quartz, AC interne
Frquence maximum
16 MHz
Temps d'excution
62,5 ns
j,
,
l
oscillateur dcll
11391
Interruptions externes
UART
SPI
TImer(s)
2 tlmers 8 bits
1 limer 16 bits
RTC
PWM
Comparateur analogique
CAN
4 canaux tO bits
2 canaux 8 bits
Boitier
DIP28
Plage d'alimentation
4,SVS,SV
Consommation
3,6 mA
Programmation
ISP, programmateur
Fonction(s) spciale(s)
7
7.14 MC68H01Al (MOTO ROLA)
La famille 68I-1C11 est en gnral utise en mode extended. ce qui
offre une plage mmoire de 64 Ko, tout en laissant l'utilisateur
de nombreuses enlres-sorties d'usage gnral ou ddies aux
priphriques internes (UART, SPI, limers). Le MC68HClIAl
(figure 7.19 et tab leau 7.8) est sans doute le plus cou rant, pour
entrer dans la gamme des microcontr61eurs Motorola. Le jeu
d'instruction tendu (architecture CISC) en fait un processeur
performant et puissant, notamment sur des donnes de 16 bits
(figure 7.20) .
."
~41kOSi.
P87/A.15
P9&',,'4
PB5iA1J
P&uAI2
P831"11
P82/A,O
PSI/AS
"""
"""""
""'",,,
"0' "0'o.
PCTIMJ7
"0' 0'
'"0' '"0'
'CM...
"""~,
PC21A.02
PCII""1
'"0'
""""'"
'"
0'
0<
"
PA2IICI
PAMel
PAOIlC3
""""
PDo4JSCK
POJNOSI
PD2IMISO
Figure 7.19.
Schma lectronique
du MC68HCn
rxlended.
11411
Tableau 7.8.
Caractristiques
du MC68HCll .
Entres-sorties
22
Plage mmoire'
64 Ko
AAM interne
256 octets
EEPAOM interne
512 octels
Watchdog
Oui
Code protection
Instructions"
109
Type d'oscillateur
Quartz
Frquence maximum
8MHz
Temps d'excution
500"
Interruptions eKternes
UART
SPI
Timer(s)
1 timer 16 bils
1 gnrateur d'interruption temps rel
1 accumulateur d'impulsions
PWM
Comparateur analogique
CAN
8 canauK, 8 bits
Botier
PLCC52
Plage d'alimentation
s,av
Consommation
35mA
Programmation
EPAQM eKterne
Fonction(s) spciale(s)
FlTn'il ,,,
"lt.Flf ~ ..
,7 kil SI.
,"--C~="C,C,,"
1'91)/"" .
Pf!~"'13
l'lW'A'2
PlI3IA11
PlIl/A'O
P'II ' I"'~
-~
;
l
~
"
1,
,
""
PE71" ~ 7
PE&I"'~
PE5IA N ~
l'HIA ""
PEJlAN3
PE2IA N2
PEI/ANI
PEO/ANO
'"
Figure 7.20.
Schma lectronique
du MC68HC11
extended avec PRU.
,~-,~--l---LJl
H AL
ST_AS
S TRBlllw
" ODAlUR
Figure 7.21.
Schma lectronique
du MC68HC811E2.
.,.
7
Enlres-sorties
38
EEPROM interne'
2 Ko
RAU Interne
256 octets
Watchdog
Oui
Tabluu 7.9.
Caractristiques
du MC68HC811E2.
Code protection
Instructions"
109
Type d'oscillaleur
Quartz
Frequence maximum
8 MHz
Temps d'excution
500",
Interruptions elternes
"ART
SPI
nmer(s)
,,i
1,
,
l
j
1 timer 16 bits
1 gnrateur d'interruption temps rel
1 8CC1Jrnuialeur d'impulsions
PWM
Comparateur analogique
CAN
B canaux, 8 bits
......
i
DIP48
Plage d'alimentation
s,av
Consommation
35 mA
Programmation
Programmateur, SCI
Fonction(s) spci.le(l)
MrTlOlre de programme.
"Instructions de base, dclines en fonction du (des) regislre(s) utiliss.
7.16PS0C32SBPN (PHILIPS)
Le P80C32SBPN de Philips (figure 7.22 et tableau 7.10) est bas sur
le noyau 8051 de (nleL Il est donc entirement compatible avec son
anctre, mais quelques points onl t amliors: le programmeur
dispose de plusieurs pointeurs de donnes, de modes de consommation rduite, etc. Il trouvera sa place aussi bien sur une nouvelle
application, que sur une application dveloppe avec un 8051 que
l'on souhaite booster ".
[1451
Figure 7.'12.
Schma lectronique
du 1'8OC32SBPN.
",
Il ,
Tableau 7.10.
Caractristiques
du P80C32SBPN.
Entres-sorties
32
EPROM externe
641<0
641<0
RAM Interne
256 octets
EEPROM Interne
Watchdog
Code protection
Instructions
256
Type d'oscillateur
Quartz, rsonateur
Frquence maximum
16MHz
Temps d'excution
750ns
Interruptions externes
UART
SPl
TImer(s)
3 llfners 16 bits
7
CAN
Botier
DIP4Q
Plage d 'alimentation
2,7Vas,SV
Consommation
15,5 mA
Programmation
EPAOM externe
Fonction(s) spclale(l)
PW.
Comparateur analogique
!
,-
,
5
Tableau 7.11.
Entres-sorties
52
EPROM externe
641<0
641<0
RAU interne
256 octets
EEPROM Interne
Wotd>dog
Ou;
Code protection
Instructions
256
Type d'oscillateur
Quartz
Frquence maximum
16MHz
Temps d'excution
750 ns
Interruptions externes
UARl
SPI
Tlmer(s)
4 timers 16 bits
Caractristiques
du SAB80C537.
[147j
PWM
Oui
Comparateur analogique
CAN
4 canaux, 8 bits
Boitier
PLCC84
Plage d'alimentation
4,5V5.5V
Consommation
52,3 mA
Programmation
EPROM externe
Fonction(s) spciale(s)
~TA~'
"'
'"~
"
'"
'"
~
~
~
~
~
~
~
''''
'"'"
'"
'"
,~
VAR"
VAGHO
"'" ,
'"
m
m
'"
".
'"
".
m
'"
'"
'"
~,
'"'"
'"
'"
'"
".
".
'"
"""
""
'",
~
~,
~,
Figure 7.23.
Schma lectronique
du SA880C537.
~ ,
~.
~.
~
~
'"
[1481
,Q
,Q
~
~
'" '"
.,'"roro ro
., "
~
00
( H .. PIT . .
CIRCUITS DERESET
ET SUPERVISEURS
D'ALIMENTATION
150
151
83 Superviseur d'alimentation
et sauvega rde RAM
152
153
10
Programmation
des microcontrleurs
163
11
Ralisation nO1 :
robot ( ubic
12
Ralisation nO2 :
robot Quadripode
191
215
171
"..
V
0.1
~f
ON'
MCP130
ON'
Figure 8. 1.
Su~rviseur
d '~li ment~tion
simple.
GND
:.1
Rese!
[
Figure 8.2.
,,
,
:1
:0---'"
[150]
'
-o,~
8
Rfrence
Min. (V)
Typ. (V)
Max. (V)
MCPl3Q-450
4,25
4,375
4,50
MCPl 3(}.460
4,35
4,475
4,60
MCPl 3Q-475
4,5
4,625
4,75
MCP1 JO.485
4,6
4,725
4,85
Tablea u 8.1.
10kH
~'"
,---1 '"
LC_'_--,GN'r0'--.JTl77'05
0.1
~,
~F
__
__-L______L-________________
poussoir par exemple; l'entre Sense mesure la tension d'alment.ltion. L'alimentation du TL770S peut provenir de tte mme
alimentation ou tre spare. La sortie / Reset_out est collecteur
ouvert
[151)
Figure 83.
Superv iseu r
d ' illi men tilti on
paril mtrilbl e.
seur, de la mme manire que pour les circuits tudis prcdemment, mais il alimente cette fois la RAM pt1r la batterie. Il faut
veiller ce que l'entre /CE de la RAM soit force J'tat haut,afin
de garantir son mode stand-by (faible consommation et sauvegarde
des donnes).
~\'-
'''1 -
"1'-
"1'-
,~,
~,
~o
w.
-l
W'_
Figure 8.4.
Supe rviseur
d'al i menlalion
el siluvegilrde KAM.
1>-
~"
~,
/,
1::::'
,~
~.
..",
d,
~,
10 !Q,
""'
d,
~p ~c
ONO
-""
c ..... " ..
.AC l
STRUCTURE DES
PROGRAMMES
ET ALGORITHMES
1;4
154
157
158
16<1
10
Programmation
des microcontrleurs
163
11
171
12
191
215
[153)
Un programme est une suite d'instructions excutes par le processeur en vue de la ralisation d'une opration, C'est donc un
ensemble structur qui obit des rgles prcises. Nous allons en
tudier les grandes lignes, sans entrer dans les dtails spcifiques
aux diffrents langages et processeurs. De plus, ces exemples
seront orients vers le domaine qui nous intresse, la robotique.
~... oonst.nIn)
1
1
1
l 'Nh."
l00,,lIeoonoinoFIoqi
-_ .... iP. _ _
_ CI'iPi"'" .. , ''''001'''''
''ni"'!Ie
1101_ I....
wn
1. :~:::::=======] h"'
,"" """ _ ".,.-
~
__ -1
~~
......
R"""'-
""""-(ulcul. _
_1Ie_
1
1_ _ ....
R"""'- -
Ile _
<le_
iP ..'\qoM
""')
,- ---
Figure9.1.
Structure-type
d'un programme.
pSl
Actl~atlon
9
: Routine d'Interruption
tO_h r :
: Test de la RAM Interne
lnt ra ..~test:
: Gestion de 1'[[PROH Interne
read eeprOIl :
~r l te_eepra.:
: Economies d'nergie
j)Ower. down;
Idle:
;Interruptlon de rception
uHCIsr:
,,
,,
,!
,
,
te_co.and:
[155)
Autres routines
pas forcment sur des priphriques (routines logiques, arithmtiques, conversions, etc.).
; Conversion en
upcase;
m~jusules
; Conversion ASCII-)binalre
~si12bin;
; Conversion binaire-)ASCII
bln2ascll;
: Multiplications et divisions
mula"a:
mul16-16:
diva/a;
dlv16/16;
Lecture(s) Cilpteur(S)
Test(a)
Comparalson(s)
Analyse(s)
Mise en rn6moire
Commande des
-~
En fonction
des rsultats
Figurc9.2.
Les vnements lus au travers des capteurs vont forcer le programme prendre des dcisions, et en fonction des routines appliques sur ces info rmations, des ordres seront transmis vers les
actionneurs.
9
9,31RAITEMENT ARCHITECTURE PRIORITAIRE
li s'agit de la manire la plus simple d'<:rire un programme
linaire, Dans un premier temps, on liste toutes les tches que le
robot aura accomplir, p uis on les classe de la moins importante
la plus importante.
Dans cel exemple, le robot avance, jusqu' rencontrer un obstacle
(mur, palet, ctc.). S'il s'agit d'un pa let, il doit en ramasser trois,
puis s'arr{>ter ; si c'esl un autre obstade, il doit reculer et tourner:
tche 1 : avancer ;
tche 2: reculer et tourner;
leur priorit:
lest 1 : dtection d'obstacle?
lest 2: palet ou obstacle?
test 3: 3 palets ramasss?
,\i
,
,
,,
,
i,
l
,
1
[157J
Dto,.,._
If.. _
~,,,.
Tkt10 n' ,
,,-
00._'
T.
P .... ?
TkfII n' 2
R.wIoIII ""' ......
Tk/Io n' l
,~
,-,
,.
n.
"'"
Tk/Io
Figurc9.3.
A 19orithme
.
d'une ~rch l teclure
prioritaire.
9
pour excuter une routine spcifique (voir algorithme de la
figure 9.4). Dans cel exemple, le robot s'arrte, puisque 5.1 tche
esl accomplie.
r=r::J.-li=:!==:~
Dmarrage et
lecture dM
capteurs
Capleu' IR
de balise
Interruption par
dtecteur de balise
inrtJalisabOm
___
_dn
....
Fln du programme
(boucle vide inflf1te )
Tests des
resullals
Commande
'" """""
Figure 9.4 .
!,
,,
i,
,
j
Dans le second cas, le limer RTl (Real time illtermpt) provoque une
interruption frquence fixe. chaque fois que cette interruption
arrive, le p rog ramme lit l'tat d e tous ses capteurs et positionne
des flags d 'indication (voir algorithme de la figure 9.5). Le programme principal ne fait qu'analyser ces flags pour piloter tes
moteurs.
OMecteurs d'obstacles
~=::{=J-C:J=;:=-
___
Capteur IR
de balise
Dmarrage et
inijialisations
InterruptIOn
temps rel
j
Lecture des
d'obstacles
InitialisatIOn du
Timer RTl
capteu~
j
Posij!Or1nement
des lIags
j
Action sur
les moteurs
Lecture de
capteu r de balise
Posijjormement
du lIag
Retour
Figure 9.5.
Fm du programme
(boucle vide Infi me)
9
Dans l'exemple d e la figure 9.6, on utilise une interru ption temps
rel (RTl) il 10 ms. chaque appel de cette interruption, le processeur excute une routine diffrente (tche Tl T10).
Chaque tche doit se tcnniner en moins de 10 ms (avanll'inlerruption suivante). Ainsi, on peut faire tourner 10 tches diffrentes,
ml
300"..
800 ms
200""
11
"
Tl
"
11t
T7
TI
"
110
Int8ll\lptJon RTl. 10 ms
Dans les variables globales. on utilisera un flag " numro de tche ",
pour que l'interruption RTl sache quelle tche doit tre excu te
(voir ,1lgorithme de la figure 9.7).
On peul aussi faire communiquer les tches entre eUes par le biais
d'autres variables globales.
1
,
,
!
Figure9.6.
""""""
I_isabono
gIoI:ll ..
~i'u
-00
,
o
,
o
E ~ ion tkho3
:, ,
'" ,
E.uIioo """" 10
Figure 9.7.
,-
C"""1" .
PROGRAMMATION
DES MICROCONTRLEURS
10.1 Gnralits
164
166
166
168
169
11
Ralisation nO 1 :
robot Cubic
171
12
Ralisation nO 2 :
robot Quadripode
191
215
10.1 GNRALITS
D'une manire concrte, la programmation d'un microcontrlcur
se fait en trois tapes majeures:
criture du code source excuter;
L'assembleur est le langage de plus bas niveau auquel peul accder le programmeur. On pense souvent - tort - qu 'il est dsuet
et rbarbatif. C'est faux, en manipulant correctement l'assembleur,
la comprhension d ' un systme microprogramm est facilite,
ainsi que la rechen::he d'erreur (dbogage). Par ailleurs, l'optimisation en taille et en rapidit est des plus efficace.
Devinette: quelle est la taille d'un code pour SAB8OC537 devant
faire l'acquisition en temps rel de 256 entres analogiques ct
144 entres logiques, 10 ms avec chantillonnage/blocage simultan et envoi par liaison parallle ECP dans un systme de mesure
industriel?
Eh bien, moins de 256 octets quand il est crit en assembleur...
En revanche, ds qu'il s'agit de faire des calculs mathmatiques,
de l'analyse de signal, ou du squencemenl complexe, le Coffre
toute 5.1 puissance. De plus, l'criture et la relecture du code sont
plus aises qu'en assembleur (surtout si on tente de modifier du
code crit par une autre personne !).
10
On trouvera sur le march des centaines de compilateurs, en fonction du langage utilis pour le code source, du constructeur, du
type de microconlrleur.
En utilisant le C. le compilateur (en particulier les logiciels profus.
sionncls) sera fourni avec des libra iries prtes l'emploi. Une
toujours fausse ", .. cette fonction appele n'existe pas .., etc. Le
.7'.;.0", ......<
File l .a . m
;
i
i,
1,
,
,
,j
,
:::::::------------------------------,
File2 u m
"'"
/
COMPILATEUR
uu -j Co rreclkm~ . rreu,.
,,
,
Lialioge du ~
Table dM
--------- -------,
.~mboI 8'
PJogranwne HEX
FIChier obfet
IMPLAHTAT1OtoI
DU PROGRA MME
Figure 10.1.
Mthode d'criture en C
diteur eN
._tI
"".
/
lIb .. ,ri.l lob
FMI e
""-
Lib,.,1ie2hb
File2
C<>n'Ktion dH
COMPILATEUR
UNKER
-----------,
j
Ultage du ptogremmll
_un
,,
,
--------------------.---------_.
,--
P,ogo.,.,. H'"
---------------------------- 0{
MUUlEUR
IMPLANTATION
DU PROGRAMME
Figure 10.2.
10
....
"'
''''''''
'-
Figure 10.3.
Programmation
et mise en place
de l'EI'ROM externe.
N,,,.
ROMOTP
EPROM
""
~
Trne~
t
t
-
l;
R""
Figure 10.4.
Programmation
et mise en place
du microcontr leur.
Noy,"
RAM
EEPROM
""
III
III
III
III
oC
oC
1
1
Figure 10.5.
dIlns ,.EEPROM
10
10.5 FLAS H INTERN E
,L
Noyau
'LAS"
RAM
vo
III 1
IC
,
,1,
,
,
,
,
Figure 10.6.
REALISATION W1:
ROBOTCUBIC
11.1 Cnralits
172
11 .2 tude du dplacement
172
11.3 Palets
175
175
11 .5 lectronique:
circuit principal
11.6 lectronique:
capteurs d'obstacles
176
182
11.7 lectronique:
capteurs de palets
12
183
184
190
Ra lis.1tion nO2 :
robot Quadripode
191
215
~ 71l
11.1 GNRALITS
Ce robot (fig ure 11.1 ) se dplace grce deux servomoteurs
modi fis (rota tion libre sur 360). Sa tche princi pa le consiste
librer une aire de jeu des palets qui encombrent le sol. Pour la,
il se dplace de manire pseudo-alatoire, tout en vitant les
obstacles. Ds qu'il dtecte un palet dans ses guides, le robot le
pousse \'ers un bord de l'aire de jeu. Au bout de quelques minutes,
l'aire de jeu sera .. nettoye ".
[17i!
Connecteur
d'alimentation
Connecteurs
capteurs ---,
Marche/Arrt
~ONIOFF
J 1 /_
~&.i:d-+-~o-fJ- -Jhl
L,,"
'1
.~
....
'"
T
Capte<.Jf de
dtection d'obstacle
Opto-coupleurs de
dtectlOll de palets
dtection d'obstacle
Opto-eotJpleurs de
dtectIOn de palets
Cireurt Imp!1m
-----ru
S8fVomotel.lr'S
\ 11 ~
Captaur de
Vue de face
Support plastIQue
Connecteurs
Q ~
Capteur de
dtediofl
d'obsl3de
Vue de dessus
ErltretOI5e
Opto.lUpIe\.Ir de
1 dtecteur
Support plastique /
Servomoteurs !
Vue a ni re
.....-
Support pl astique
Vue de cOI'
de palet
~
~
/~--
.',
-'-. -".
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,
o,/ .'
-",
,
,,,
,
,,,
,
,,,
C~I.~<It
~IIM!OM'e
.'
,,
,,
,
Figure Il.2.
lnplilctmenl
pseudo-alaloire.
Figure 11.3.
11
11.3 PALETS
;
,
1,,
!,
moteurs.
"
Les plaques verticales sont colles sur 1<1 plaque horizontale basse
avec de la colle adapte (figure 11.6, page 171). Les entretoises sont
,,
l,
Figure 11.4.
les servomoteurs sont modifis mcaniquement et lectroniquement afin de les librer sur 36(}0, ct sans bute (voir chapitre 3,
section 3.4).
-------,T-
L-_ _@
-'
~
Figure 115.
Montage
VisM3
d' u n servomoteur.
Le premier comporte les capteurs de dtection d'obstacle. Les optocoupleurs de dtection de palets seront monts en l'air , mais
fixs sur ce circuit imprim. Le second circuit imprim comporte
le microcontrleur 8 bits Atmel, ainsi que six Led et un boutonpoussoir; les servomoteurs viennent se brancher directement sur
la carte, qui leur fournit leur alimentation ainsi que le signal de
commande.
11
l',
.1
i
l,
!
i
,,,
,"
!
!
"
33
23
"
1.
.1
Figure 11.6.
Schma mcanique :
plaques horizonta les
et verticales.
8;
no
ri
~
(Hil
....
.~
~I
:;; ";
E .-0
1
.,
,1 ".
."V'. ..
~".
-' ~
d li
'.
-"- """2".g"r.I-,
,
III'
.x~
-_.
,1 .... Dt"',1'
Q ..
JV\"
0,,11
,1 .... Dt
Q>. ".".
1
A/'o .... Dt
JO,!'
0'"
-_.
c ..
d-1I1
~.
_8
0_
>
>
-8
o
,
>
~
>
."
fT
i 1-
-1
f
,
-~ !
>
'Il'
~.
III'
J"V'",
O Ai
Il
, 1 0:;'
-'-' DtN
-_.
III.
-_.
Il
11
0
Uo
000
...
8w
0
1)
0
0
0
0
0
0
0
0
Il
0-...0
Figure 11.8.
Circuit imprim
du circuit principal.
o
i
l,
,
Figure 11.9.
Implantation
des composants pour
le circuit principal.
[li9)
walchdog ;
UART;
SPI;
' 321/0;
compa rateur analogique;
2 entrc$ d 'interruptions extemes;
CMOS fa ible consommation.
typesn<2oo/soo,
Les Led bleues indiquent la dtection d'un obstacle, les Led rouges
la dtection d'un palet et lcs Led vertes l'activation des servomoteurs.
Il
,"'~'-
~ GND
:"
0 Vcc
:' ____ 0 Signal
,, ,,
"/
.J
0 ............
""""" .......
_---.!
_____--11
, ,
, '._---'.
...
,
'------
~
GND
0 Signal
0 Vcc
Figure 11.10.
Brochilse
des connecteurs.
,---
+t=:;--Pack 4 .1 ,2V
1 850 mAH
+
Vers bornler
!
1,
Figure 11.11.
Connexion du pilck
de qUiltre bilUeries
Ni/Mh..
La figure 11.12 prsente le schma lectronique du circuit des capteurs d'obstacles, la figure 11 .n le circuit imprim et la figure 1l.14
l'implantation des composants.
,("SZ
'",,
,
LDl
lO2 H
"
~~
"'", ,
<0,
'''''
Go'
IS 411F
es.c)
~-~
-,~
""
'",
,,
. . :sZ lD214
~D2
~
"
~~
,
"'",
<0,
o.,
~~
Go'
IS.rlF
Droit.
-L
I:igure 11.12.
Schma lectronique
des capteurs
d'obstacles.
eS.c3
Glue'"
11
o
11.7 LECTRONIQ UE : CAPTEURS DE PALETS
,,
OND
v~
OUT
l,
,,
,,
,,
1,
,., n
10 krl
p-
E C
1
l
Figure 11.15.
Cblage
des opto-coupleurs.
"
""''''
"""
A
K
I~~
v"
Pelet 0
GNO
Droit.
"'
HOA 1405 2
"'''' "
A
Figure 11.16.
Schma lectronique
des cilpteurs de palets.
1(
~~
""'.,
C
V"
Palet G
Gauche
GNO
0'
HOA '.OS 2
l'un la suite de l'autre, toutes les 20 ms (figure 11.17). l 'interruption temps rel est donc active ce rythme l'aide du Imer1.
Comme les servomoteurs ont t modifis pour tourner !ibment sur J6OO, seules deux valeurs de commande sont utilises :
l ms pour la rotation dans un sens, et 2 ms pour la rotation dans
l'autre sens.
Pour gnrer ces deux dures, on utilise le ImerO.
Il
'-'------t::=:::;'------"---'----"-------Dt,
,
SMO
id
,' DT=20ms ,,
,,
,,,
,,
,,
,,
S MG
,
,,
<>-
dl proportIOnnel la direction
,,
,,
,,
,,
,,
,
,,~--
~-_/ ,,~--
Marhe avant
~-_/
Virage
Figure 11.17.
,
l,
,
l
1
l
,t,
Algorithme global
Mise sou, tension
~
Ini~alrsatlon
Dtection d'objet
(mise il j our FLAG)
Dtaction de palet
(mise jour FLAG)
Compot1.emef1t
(mise jour de la direction)
Gnration de Itajecloue
pseudo-alatoire
Figure Il.lS.
Algorithme d'initialisation
Initlalisallon
TlMERO CK/1024
TlMER1 CKJ1024
Tl MER1
init il 20 ms
Figure 11.19.
Fin
Il
Interruption temps rel
nt.4ER1ISR
R4Mruli~TIMeRI
----
'---
~RCHE ?.......---
0
Commande du servomoteor
drOIt en Ioncbon de
la direction
Commande du servomoteur
gauche en fonction de
la directIOn
Incr6menlatio!'1 du compteur
de changement de directon
~Ioi ...
F.
1,
t
j
Figure 11.20,
Dtection d'obstacles
ObjeCCdeteetIOf1()
Capteur droit
ac1I~.
0
obs_status_d" 1
Led bleue dro;te ON
<
Caple\Jr gauche
obs_ status_d= 0
Led bleue drOlie OFF
iICIj~.
0
obs_swws-.Q = 1
Led bleue gauche ON
obs_statuS-lj = 0
Led bleue gaucM OFF
F"
Figure 11.21.
Dtection de palets
D,se_deteclion()
Capteur droit
acb~.
0
pajecstatus_d = 1
Led rouge drOite ON
<
Capteur gauche
actl~ ?
0
palet_status_o = 1
Led rouge gauct1e ON
Figure 11.22.
F"
Il
Comportement
Robot_BiO
P ...
.-"
~~1
0
Recul 0,4.
V...geO.4 1
Avance
Obslade
droite 1
0
Virage ;auc:he 0 4
~bstade
gauche?
0
Virage drole 0 4 Il
,,,
Figure 1I .D.
Circuit principal
Rfrence
Dsignation
JP1
JP2
JPS
SW1
Interrupteur SPOT
U1
l4931C50
U2
a1
Quartz 8 MHz
C1
100 IJF/25 V
C2
100 nF
C3,C4
22 pF
PB1
Bouton-poussoir KSA
At R6
330
LOt , LD2
Led 2 mA verte
LD3,LD4
Led 2 mA rouge
LOS, LOO
Led 2 mA bleue
Capteurs d'obstacles
Capteurs de palets
Rfrence
Dsignatlon
Dsignation
Rfrence
Ut, U2
1S471F
Rt, R3
180
LD 1,lD2
LD274
R2,R4
10'"
Ct , C2
330 oF
01,02
HQA140S
JP1, JP2
c ..... n ..
REALISATION N 2:
ROBOT
QUADRIPODE
12.1 Gnralits
12.2 lude de la dmarche
12.3 Mcanique el motorisation
192
195
198
202
208
214
21 5
12.4 lectronique
12.1 GNRALITS
Ce robot (fi gures 12.1 et 12.1bis) a la particularit de se dplacer
grce quatre pattes, chacune pouvant voluer indpendamment
de bas en haut et d'avant en arrire. En coordonnant prcisment
les pattes, le robot peut avancer, reculer et tourner.
Toutefois, il ne faut pas s'attendre il le voir voluer avec grce et
volupt, courir ou sauter un obstacle: il reste un sujet d'exprimentation el de curiosit.
11921
12
EntretOiIM
Circuit
imPfi~
SoNo
A,~VA"',. /
Servo HeutlBa.
Mouvement Haut/Ba.
Vue de 'acl
Plaque ern.re
CWc!.iil lmprimj
o
o
Vue
Ir",,..
Figure 12.1.
Robot Quadripode
(vue de face et vue anire).
1
J,
11931
En\fetor&e
Circuit Imprim
Support plalltiql,lll
MOl/IIement AvantlAmere
12
Arrire
SM'
AT90S8515
Connecteur. pour
Figure 12.2.
Numrotation
des servomoteurs.
Avant
MMChe
ev.nr
PMle~"
Pette eu miheu
1
Patte
t
J,
g9.
o
Le mouvement coordonn des quatre pattes du robot est dcompos en huit sq uences, numrotes de ! 8. Un changement de
squence est effectu au bout de 0,3 s. Cette dure a t dtermine
exprimentalement, elle permet tous les servomoteurs d'effl">
tuer leurs changements de position correctement et au robot de
garder un quilibre relatif. Lorsque les huit squences ont t
excutes, le cycle reprend partir de la squence 1.
en_
Figure 12.3.
Conventions
pour la dmarche
du robot.
1
1
Figure 12.4.
M~rche
avant.
1
Figure 12.5.
Marche arrire.
12
1
.'---,- "
Figure 12.6.
Vi rage droite .
A""""-.--.
12
/
+
"
/
+
"
~o
,
;
+
0
"10
"-
./
1 l
10
"
10
, , 10
t"'
,
il
Figure 12.8.
Dcoupe
du chssis princi pal.
--/ 0,
>
05mm
o ",.t
/
0
0 0
0
02mm
00 0
0
0 3,5 mm
"
0
N
0
N
00 0
"- 0 /
\. o -'
10
0
0
00 0
1 1
Figure 12.9.
l'erage du chssis
principal.
[,200)
2,5
25
12
Figure 12.10.
t lmenls d'une patte.
03,5mm
02mm
:1
_ 10 .
_ 10 _
. 10 _
Patte (1)
Patte (2)
1~
j 0 0 ';.
10 _
_17_
Patte (3)
Plaque (-4)
06,5 mm
_20_
11 1
, j .
!,
j
j
8
-4
(\
N
N
1,,
20_
,/
r------------------------------,~
,!,
N
N
.'5~~
""
03.Smm
f~
j
Figure 12.11.
Plaque ma rche/.urt
- recharge.
,
,,,
)
1~(11]
Patte (2)
Plaque (4)
Chssis
')~
')
0
li
-----
000
w
,
Servomoteur
Hautleas
Figure 12.12.
Montage
d'une palle.
Patte (3)
, Patte (1)
ooo
~ SeNomoteur
Avant/Arrire
SeNomOleur
Haut/Bas
Patte (1)
12.4 LECTRONIQU E
L'lectronique du robot Quadripode se limite un seul circuit
imprim simple face. Il comporte tous les lments ncessaires au
fonctionnement du robot: un nucrocontrleur 8 bits Atmel, trois
capteurs de dtection d'obstacle, quatre Led et trois boutonspoussoirs. Les servomoteurs viennent se brancher directement
sur la carte, qui leur fournit leur alimentation ainsi que le signal
de commande.
Un circuit de rgulation simple permet de fourn ir + 5 Vdc aux
composants.
12
-,
0_
,t--IH
C:
"
C:
~:
.--.
-'i
-.
0"
"
-s
0_
0_
0"
o
""
.
., ,
, !
"
,
0
~
,
t:l
,.
;1 1
!!
-.
o .
,.
-,
<
0
Figure 12.13.
Schma ltronique
du robot Quadripode.
~(13\)
,
IlOOOO
"<
N
-
~
o
Figure 12.14.
Circuit imprim
du robot Quadripode.
12
0
ft
...
<
...
...
...
.hhm~i
Hem-e
'"
"l90S~1I1
o
Figure 12.15.
Implantation
120S)
watchdog ;
UART;
SPI;
321/0;
comparateur analogique;
2 entres d'interruptions externes;
CMOS faible consommation.
Le quartz QI fait fonctionner 8 MHz le microcontrleur, ce qui
est S.l vitesse maximale. Un cycle d'excution se fait en 125 ns,ce
qui permet l'emploi de routines trs rapides. Les condensateurs
C7 et CS garantissent la stabilit de l'oscillateur.
Le connecteur lPl (OB9 mle coude) sert la programmation
ISP du microconlrleuT. Elle peut se faire avec un programmateur
Atmel de type SfK200/SOO, un programmateur commercial ou
un programmateur fait maison . Bien entendu, si on nc se sert
pas de la fonctionnalit 151', il est possible de programmer le
mcrocontrleur sur un programmateur, puis de le placer ensuite
sur son support.
Le colUlecteur JP2 est un connecteur d 'extension utilis.lntl'UART,
si on dsire ajouter une carte lectronique supplmentaire (capteurs, actionneurs, etc.). On trouvera les deux lignes TD et RD,
ainsi qu'une masse commune et l'alimentation +5 V.
Le bouton-poussoir PB3 est connect J'entre RESET, pour une
remise fi zro manuelle. Cette entre est tire Vcc en interne
au travers d'une rsistance de 100 fi 500 ka.
Le bouton-poussoir l'B2 est colmect l'entre PD6, il s'agit de
la commande stand-by. Le robot se met .. debout , et attend l'ordre
de mise en marche. Ce bouton fait aussi office de mise l'arrt
(il reste nanmoins dans le mode ct dans la position stmrd-by).
Une rsistance interne de tirage Vcc est programme, pour viter
d'en souder une externe.
Le bouton-poussoir l'BI est connect fi l'entre 1'07, il s'agit de la
commande marche . Le robot avancer" et contournera les ventuels obstacles rencontrs. Ici aussi, une rsistance interne de tirage
Vcc est programme, pour viter d 'cn souder une externe.
Quatre Led sont connectes respectivement aux ports l'CO PC3.
Ce sont des modles 2 mA, on peut donc les piloter directement
avec le microcontrlcur. Les rsistances R4 R7 servent fi limiter
le courant dans les Led.
12
La Led rouge indique un tat de reset
urs
;;--
:
l
l
-f-
,,,
,,
,,
,,
,,
,,
,,
,
,,
---
Figure 12.16.
f2081
12
Int..,.,."ption temps
r~ 1
SM'
1n ~
n,,,
,,
,,
5M2
du IJervc>moleur
,,
,
1 0 :00
5M3
000
n o
n o
000
00 .
non
O.
D, on
0,
1 0
5"'
1 o
SM'
1 o
SMG
%
"
!
-s.,
j
",
0
Z
"0
1
SM'
1
SM'
Figure 12.17.
:
1
Algorithme global
lnillallsatlon
GesbOrl du po'nteur
de Hquence
MOOE STAt-ID-BY
MODE MARCHE
MOOE RECUL
,,""
MODE VIRAGE
Test de changelll4ltlt
"""~
.pm RECUL el
aprMVIRAGE
Figure 12.18.
12
Algori thme d'initialisation
Inlllaiisatlon
PORTA
PORTB en
en
lOftie
entr~
R6alstanees de pull-up
PORe T en enlr6elsome
Rn..lal1Q8!l de pull-op
PORTO en entre
Rkl$lan de P\lII.up
TlMER! CK/l024
TlMeRI init. 20 ms
,,
t,,
ReMI
~ ag
TI MER !
,,,
Figure 12.19.
D""
Rnetnag
< - ;agOVF ?
Figure 12.20.
,.
;/1
12
Interruption temps rel
TIMER11SR
R4wlrtlatiulion lIMER1
<
ARRI!T 7
---
STANDBY 7
CPT_SEO"
Tempo SM1
T..,MARCHE
~
MARCHE 7
.....
VIRAGE D 7
CPT_SEO_
CPT_V1R ....
Tempo SM1
Table VlRAGE_G
.....
~RAGEG ?
CPT_SEOCPT_VIR_
Tempo SM1
5MB
hble VlRAGE_D
RECUL 7
CPT_SEO_
CPT_RECUl_
Tempo SM!
TfbIe RECUL
.....
F.
Figure 12.21.
13
Dsignation
Rfrence
JPl
JP2
JP'
JP5 JP12
SW I
Interrupteur SPOT
PBt PB3
Boulon-poussoir K5A
Cl
470 IJFf2S V
C2, C3, C6
100 IJF/tG V
C4, CS, Cg
100 nF
C7,ce
22 pF
QI
Quartz 8 MHz
Ul
l4931CSO
U2
A4 A7
330
LOI
Led 2 mA rouge
L02
Led 2 mA jaune
L03, L04
Led 2 mA verte
LOS lO7
lD274
US US
1S471F
les LD274.
REMERCIEMENTS
ET LIENS INTERNET
Je tiens remercier :
leurs conseils;
Alexand re, bouquiniste, pour ses thories. ses piles de livres et
ses obstacles divers;
David et Thomas, patrons de l'Elixir Caf, pour les journes de
trava il passes dans leur tablissement ;
la communaut GNV/Linux pour les logiciels de dvelop~ment gra tuits et performants :
WINAVR GNV GCC compiler for Windows : http://winavr.
sourceforge.net,
AV R-CCC - GNV GCC compiler for GNV - Linux : hltp:/ /
microbot. free.fr / gnu-avr.html.
Les codes sources et codes compils pour les deux robots sont
disponibles su r le si te de l'au teur :
hllp:/ /microbot.free.fr