0% ont trouvé ce document utile (0 vote)
54 vues261 pages

3

Le document présente une introduction au fonctionnement des moteurs électriques, en particulier des moteurs à courant continu (MCC). Il explique la conversion de l'énergie électrique en énergie mécanique, ainsi que les composants principaux d'un moteur, tels que le rotor et le stator. Des notions de magnétisme et de circuit électrique sont également abordées pour illustrer comment un moteur génère du mouvement.

Transféré par

Isee No
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
54 vues261 pages

3

Le document présente une introduction au fonctionnement des moteurs électriques, en particulier des moteurs à courant continu (MCC). Il explique la conversion de l'énergie électrique en énergie mécanique, ainsi que les composants principaux d'un moteur, tels que le rotor et le stator. Des notions de magnétisme et de circuit électrique sont également abordées pour illustrer comment un moteur génère du mouvement.

Transféré par

Isee No
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Ÿ [Link]

com/

@Eskimon
[Link]

olyte

Licence CC BY-NC-SA

Dans Matériel et électronique

Objectif : Apprendre à faire

Temps de lecture estimé à moins


d’une minute.

Dernière mise à jour vendredi 31


mars
2023 à 20h30

Ÿ arduino

Ÿ diy

Ÿ électronique

Ÿ Le mouvement grâce aux


moteurs

Ÿ Un moteur qui a de la tête : le


Servomoteur

Nul doute que vous connaissez


l’existence des moteurs car il en
existe toute une panoplie ! Le
premier qui vous viendra
certainement à l’esprit sera le
moteur de voiture, ou peut-être
celui présent dans une perceuse
électrique. Voilà deux exemples
d’objets dans lesquels on peut
trouver un moteur. Bien entendu,
ces deux
moteurs sont de type différent, il
serait en effet peu probable de
faire avancer votre voiture avec
un moteur de perceuse
électrique… et puis l’utilisation
d’une perceuse intégrant un
moteur de voiture de plusieurs
centaines de kilos serait
fastidieuse . Voyons donc
comment fonctionne le moteur
électrique le plus répandu : le
moteur à courant continu…

Ÿ Un moteur, ça fait quoi au juste ?

Ÿ Alimenter un moteur

Ÿ Piloter un moteur
Ÿ Et Arduino dans tout ça ?

Un moteur, ça fait
quoi au juste ?
Commençons en douceur par
l’explication de ce à quoi sert un
moteur et son fonctionnement.

Ce chapitre n’est pas un des plus


simples car il va faire apparaître
des notions de mécanique qui
sont indispensables pour
comprendre le mouvement. Il
prend en général plusieurs
heures de cours pour être bien
expliqué. Nous allons donc vous
faire ici uniquement une
introduction à la mécanique du
moteur. Cependant, cette
introduction présente des notions
très importantes pour bien
comprendre la suite, ne la
négligez donc pas !

Prenons un moteur électrique


des plus basiques qui soient :
Un moteur classique à courant
continu - (CC-BY-
SA, Dcaldero8983)

Vous avez devant vos yeux un


moteur électrique tel que l’on
peut en trouver dans les engins
de modélisme ou dans les
voitures téléguidées. Mais
sachez qu’il en existe de toute
sorte, allant du miniature au
gigantesque, adaptés à d’autres
types d’applications. Nous nous
contenterons ici des moteurs
électriques "basiques".

Transformation de l’énergie
électrique en énergie
mécanique
Un moteur ça fait quoi ? Ça
tourne ! On dit qu'un moteur est
un composant de conversion
d’énergie électrique en énergie
mécanique. Les moteurs à
courant continu (ce terme
deviendra plus clair par la suite)
transforment l’énergie électrique
en énergie mécanique de
rotation, pour être précis. Mais ils
peuvent également servir de
générateur d’électricité en
convertissant une énergie
mécanique de rotation en
énergie électrique. C’est le cas
par exemple de la dynamo sur
votre vélo !

Ce dernier point n’est pas à


négliger, car même si dans la
plupart des applications votre
moteur servira à générer un
mouvement, il sera possible qu’il
soit actionné "à l’envers" et
génère alors du courant. Il faudra
donc protéger votre circuit pour
ne pas l’abîmer à cause de cette
"injection" d’énergie non désirée.
On
va revenir dessus plus loin.

Principe de fonctionnement
du moteur à courant continu

[Link]
v=u_SAJhvQ2a8

Du vocabulaire

Éclaté d’un MCC


Tout d’abord, nous allons
prendre une bonne habitude. Le
moteur à courant
continu s’appelle aussi "Machine
à Courant Continu", que
j’abrégerais en MCC. Le moteur
à courant continu est composé
de deux parties principales :
le rotor (partie qui tourne) et
le stator (partie qui ne tourne
pas, statique). En
électrotechnique (science traitant
l’électricité en tant qu’énergie) le
stator s’appelle
aussi inducteur (qui fait l’action
d’induire) et le rotor s’appelle
l'induit (qui subit l’action
d’induction). Sur l’image à droite,
vous pouvez observer au milieu -
entouré par les aimants bleu et
rouge qui constituent le stator - le
rotor composé de fils de cuivre
enroulés sur un support lui
même monté sur un axe. Cet
axe, c’est l'arbre de sortie du
moteur. C’est lui qui va
transmettre le mouvement à
l’ensemble mécanique (pignons,
chaîne, actionneur…) qui lui est
associé en aval. Dans le cas
d’un robot sur roues par
exemple, on va mettre la roue
sur cet axe, bien souvent par
l’intermédiaire d’un réducteur qui
diminue la vitesse de rotation
tout en augmentant le couple. On
verra tout à l’heure pour éclaircir
ces termes qui doivent, pour
l’instant, ne pas vous dire grand
chose.

De nouvelles bases sur


l’électricité

Vous le savez peut-être, lorsque


un courant circule dans un fil il
génère un champ magnétique .
Plus le courant qui circulera dans
le fil sera grand, plus l’intensité
du champs magnétique sera
élevée. Lorsqu’on enroule du fil
électrique sur lui même, on
forme une bobine. Un des
avantages de la bobine est que
l’on "cumule" ce champ
magnétique. Donc plus on a de
tours de fil (des spires) et plus le
champ magnétique sera élevé
pour
un courant donné.

Bobine de cuivre - champ


magnétique généré représenté
par les lignes bleues

En somme, on retiendra que


lorsque l’on crée une bobine de
fil électrique, en général du
cuivre, on additionne les champs
magnétiques créés par chaque
spire de la bobine. Ainsi, vous
comprendrez aisément que plus
la bobine contient de spires et
plus le champ magnétique
qu’elle induit est important. Je ne
vous ai pas trop perdu, ça va
pour le moment ? Bon,
continuons.

Le magnétisme
Oui, parlons-en. Ce sera bref,
rassurez-vous. Je vais faire
appel à votre expérience… avec
les aimants. Vous avez tous déjà
eu l’occasion d’avoir deux
aimants dans la main et
d’observer la résistance qu’ils
émettent lorsque l’on veut les
rapprocher l’un de l’autre, ou au
contraire lorsqu’ils s’attirent
soudainement dès qu’on les met
un peu trop près. Ce phénomène
est dû au champ magnétique
que génèrent les aimants. Voilà
un aimant permanent le plus
simple soit-il :
Ÿ

Aimant permanent

Il possède un pôle Nord et un


pôle Sud. Cet aimant génère
un champ magnétique
permanent, c’est à dire que le
champ magnétique est toujours
présent. C’est quelque chose de
totalement invisible mais qui
permet de faire des choses
intéressantes.

Champ magnétique généré par


un aimant permanent

Notez bien que j’ai ajouté des


flèches représentatives du sens
de parcours du champ
magnétique, c’est important pour
la suite. Bon, pour terminer mon
explication sur le champ
magnétique, je vous propose
d’imaginer qu’il s’agisse
d’un flux invisible, un peu comme
le courant. Pour se rapprocher
de l’analogie avec l’eau, on peut
imaginer aussi que l’aimant est
une fontaine qui propulse de
l’eau (champ magnétique) et qui
la récupère à l’opposé de là où il
l’a éjectée. Tout ça, pour en
arriver à vous dire qu’approcher
deux aimants avec le même
pôle, ils se repoussent
mutuellement (les deux fontaines
éjectent de l’eau l’une contre
l’autre, ce qui a pour effet de les
repousser). Et on le comprend
bien lorsque l’on regarde le sens
du champ magnétique :
Ÿ

Deux aimants permanents qui se


repoussent mutuellement
En revanche, deux aimants
orientés dans le même sens se
rapprocheront car leur champ
magnétique ira dans le sens
opposé. La première "fontaine"
va aspirer ce que l’autre éjecte,
et l’autre va aspirer ce que la
première éjecte.

Résultat de la mise en "série" de


deux aimants permanents
identiques

Par conséquent, le champ


magnétique global sera plus
intense. On peut alors
schématiser le résultat sous la
forme d’un seul aimant plus
puissant.
Ÿ

Schématisation du résultat
précédent

Ça nous amène où tout ça ? Je


comprends mieux comment
fonctionne les aimants, mais
pour un moteur électrique, c’est
pareil ? :roll:

Eh oui, sans quoi mes


explications n’auraient eu aucun
sens si je vous avais dit qu’un
moteur fonctionnait
complètement
différemment. Décomposons
notre explication en deux parties.

Le stator
Le stator, je l’ai dit au début, est
une partie immobile du moteur.
Sur l’image, il se trouve sur les
côtés contre le châssis. Il forme
un aimant avec ses pôles Nord
et Sud. Cet ensemble
aimant+châssis constitue donc le
stator :

Stator d’une MCC

Il n’y a pas plus de choses à dire,


l’essentiel du phénomène de
rotation créé par un moteur
électrique va se jouer dans le
rotor.

Le rotor et la mise en
mouvement
Le rotor, je le rappelle, est situé
au centre du stator. Pour faire
très simple, je vous donnerai les
explications ensuite, le rotor est
la pièce maîtresse qui va
recevoir un courant continu et va
induire un champ magnétique
variable pour mettre en rotation
l’arbre du rotor. Si l’on veut, oui, il
s’auto-met en rotation. :roll:

Waaho ! Avec du courant continu


il arrive à créer un champ
magnétique variable ?

Surprenant n’est-ce pas ? Eh


bien, pour comprendre ce qu’il se
passe, je vous propose de
regarder comment est constitué
un rotor de MCC (j’abrège) :
Ÿ

Rotor de MCC

Il s’agit bien d’un schéma de


principe, normalement un moteur
à courant continu est constitué
de trois bobines sur son rotor.
Autrement on pourrait obtenir un
équilibre qui empêcherait la
rotation de l’arbre du moteur,
mais surtout le moteur tournerait
dans un sens aléatoire. Ce qui
n’est pas très adapté quand on
veut faire avancer son robot.

Voilà donc le rotor de notre


moteur. Bien,
passons à la prati…

Eh oh, attends !! :shock: C’est


quoi ces deux bobines, comment
on les alimente ?

Ha, j’oubliais presque ! Merci de


me l’avoir rappelé. Il y a en effet
un élément dont nous n’avons
pas encore évoqué l’existence, il
s’agit du collecteur. Comme son
nom le suggère, c’est un élément
du moteur qui se situe sur l’arbre
de rotation (ou l’axe du moteur si
vous préférez) et qui a pour
objectif de récupérer le courant
afin de l’amener jusqu’aux
bobines. On peut faire le schéma
complet du moteur avec les
bobines et le collecteur :
Ÿ

Schéma complet du moteur

Dites-vous bien qu’il ne s’agit là


que d’un schéma de principe
simplifié, car je le disais, les
moteurs n’ayant que deux
bobines n’existent pas.

Le collecteur est représenté ici


sur la partie droite de l’image. Il
est situé sur l’arbre du moteur
(son axe). Ce collecteur est
constitué de deux pastilles
métalliques auxquelles sont
reliées les extrémités des
bobines. Le contact électrique
entre la pile qui alimente le
moteur et les bobines se fait par
le collecteur et par des éléments
"spéciaux"
que l’on appelle les charbons.
Ces deux éléments servent à
amener le courant dans les
bobines en faisant un simple
contact électrique de toucher.
C’est à dire que les charbons
frottent sur les pastilles
métalliques lorsque le moteur
tourne.

Et y tourne comment ce moteur,


on le saura un jour ? :mad:

Ça vient, patience. Prenons la


configuration du moteur tel qu’il
est sur l’image précédente.
Faites bien attention au sens des
bobines, car si elles sont
bobinées dans un sens opposé
ou bien si le courant circule dans
un sens opposé, le moteur ne
tournera pas. J’ai donc pris le
soin de mettre un point bleu et
rouge, pour indiquer le sens des
bobines (vous allez comprendre).
Nous y voilà. Sur le schéma
précédent, le pôle positif de la
pile est
relié, via le collecteur, à l’entrée
bleue des deux bobines. Leur
sortie, en rouge, est donc reliée,
toujours via le collecteur, à la
borne négative de la pile. Vous
admettrez donc, avec ce que l’on
a vu plus haut, qu’il y a un
courant qui parcourt chaque
bobine et que cela génère un
champ magnétique. Ce champ
est orienté selon le sens du
courant qui circule dans la
bobine. Dans un premier temps,
on va se retrouver avec un
champ magnétique tel que celui-
ci :
Ÿ

Champ magnétique

Ce champ va être opposé aux


deux aimants permanents du
stator du moteur,
cela va donc mettre en
mouvement l’axe du rotor. Et ce
mouvement est défini par le fait
que deux aimants orientés par
leurs pôles opposés (face nord
de l’un face au nord du
deuxième, idem pour le sud) se
repoussent. Par conséquent,
l’axe du moteur, je le disais, va
se mettre à tourner jusqu’à ce
que les aimants permanents du
stator se retrouvent face à
chacun de leur complément créé
par le champ magnétique des
bobines :
Ÿ

L’axe du moteur se met à tourner

ATTENDEEEEZ ! Ce n’est pas


fini ! Non, car dans cette
configuration, si rien ne se
passe, eh bien… rien ne se
passera. Et oui, puisque le
moteur est arrivé dans une
phase de stabilité. En effet,
chaque aimant est face au
champ magnétique opposé, donc
ils s’attirent mutuellement ce qui
a pour effet de régir cette
situation d’équilibre. L’élément
qui va s’opposer à cet équilibre
est le branchement des bobines
du rotor. Vous ne l’avez peut-être
pas remarqué, mais les bobines
ne sont plus connectées comme
à la situation précédente. Le
point rouge des bobines est
maintenant relié au pôle positif
de la pile et le point bleu au pôle
négatif. Le champ magnétique
généré par les bobines change
alors d’orientation et l’on se
retrouve avec des champs
opposés. Le moteur est à
nouveau en situation de
déséquilibre (car les champs
magnétiques se repoussent) et
cela entraîne un mouvement de
rotation de l’axe du
moteur. Vous l’aurez compris,
ces situations se répètent
indéfiniment car le moteur n’est
jamais dans une configuration
équilibrée. C’est cette situation
de déséquilibre qui fait que le
moteur tourne.

Alors attention, je le répète une


dernière fois, un moteur n’ayant
que deux bobines comme sur
mes schémas ne peut pas
fonctionner, car c’est un modèle
simplifié qui engendrerait
immédiatement une situation
équilibrée à la mise sous tension.

Pour vous prouver que ce que je


dis est vrai, voilà des photos du
rotor d’un moteur à courant
continu que j’avais démonté il y a
bien, bieen, bieeeeeen
longtemps :
Ÿ

Rotor d’un moteur à courant


continu

Rotor d’un moteur à courant


continu, encore

Vous voyez ? Trois bobines et


trois pastilles reliées à chacune,
sur le
collecteur. Bon, je ne vous refais
pas les explications, vous êtes
capables de comprendre
comment cela fonctionne.

La mécanique liée au moteur

A présent, nous allons détailler


quelques notions de mécanique
liées aux moteurs.

Le couple

Le couple est une notion un peu


dure à comprendre, mais on va y
arriver ! Partons de son unité.
L’unité du couple est le Newton-
Mètre (Nm), attention j’ai bien dit
Newton-Mètre et non pas
Newton par mètre ! Cette unité
nous informe de deux choses : le
couple est à la fois lié à une
distance (le mètre) mais aussi à
une force (le Newton).
Maintenant je rajoute une
information : le couple
s’exprime par rapport à un axe.
On peut en conclure que le
couple est la capacité du
moteur à faire tourner quelque
chose sur son axe. Plus le
couple est élevé et plus le
moteur sera capable de mettre
en mouvement quelque chose de
lourd. Exemple : Vous avez peut-
être déjà essayé de dévisser un
écrou sur une roue de voiture.
Vous avez probablement
remarqué que plus vous avez
une clef avec un bras long
(un effet de levier important) et
plus il était facile de faire bouger
l’écrou (pour le premier tour,
quand il est bien vissé/coincé).
Ce phénomène s’explique
simplement par le fait que vous
avez plus de couple avec un
levier long qu’avec un levier
court. Et c’est logique ! Si l’on
considère que le couple
s’exprime en Newton-mètre, le
Newton se sera la force de vos
muscles (considérée fixe dans
notre cas d’étude, sauf si vous
vous appelez Hulk) et le mètre
sera la longueur du levier. Plus
votre levier est grand, plus la
distance est élevée, et plus le
couple augmente. Ce qui nous
permet d’introduire la formule
suivante :

C=F×rC=F×r

Avec :

Ÿ CC : le couple, en Newton-mètre

Ÿ FF : la force exercée, en Newton

Ÿ rr : le rayon de l’action (la


longueur du levier si vous
préférez), en mètre

On pourra également se
souvenir que plus la force
exercée sur l’axe de rotation d’un
moteur est grande, plus il faudra
un couple élevé. Et plus le
couple du moteur
sera élevé, moins votre futur
robot aura de difficultés à
supporter de lourdes charges.
Cela dit, tout n’est pas parfait car
plus la charge est lourde, plus la
consommation électrique du
moteur va augmenter. On va voir
la relation qui recoupe ces deux
informations.

Dans le système international,


l’expression du couple se fait en
N.m (Newton mètre), mais le
commun des mortels arrive
mieux à interpréter des kilos
plutôt que des Newtons, donc les
constructeurs prennent des
raccourcis. Pour passer des
Newtons en kilos, il suffit
simplement de les multiplier par
la constante gravitationnelle 'g'
(qui vaut environ 9.81).
Soit 9.81N≃1kg9.81N≃1kg. Il en
équivaut alors la même formule
introduisant les
mètres : 9.81N.m=1kg.m9.81N.m
=1kg.m.
La vitesse de rotation

La vitesse de rotation est


mesurée par rapport à l’axe de
rotation du moteur. Imaginons
que le moteur entraîne son axe,
lorsqu’il est alimenté par un
courant, ce dernier va avoir une
vitesse de rotation. Il peut
tourner lentement ou rapidement.
On mesure une vitesse de
rotation en mesurant l’angle en
radians parcourus par cet axe
pendant une seconde. C’est à
dire que le moteur est en
fonctionnement, que son axe
tourne et que l’on mesure
jusqu’où va l’axe de rotation, à
partir d’un point de départ fixe,
en une seconde. Regardez plutôt
l’image suivante pour mieux
visualiser ce que je veux vous
dire (comprenez que le truc gris
et rond c’est le moteur que j’ai
dessiné. :roll: On le voit de face
et le cercle au milieu c’est son
axe) :
Ÿ

Marquage de l’axe du moteur par


un point jaune

Mesure de l’angle

Marquage de l’axe du moteur par


un point jaune (première image).
Au bout d’une seconde (seconde
image), mesure de
l’angle αα entre la position de
départ et
d’arrivée du point jaune. On
obtient alors la vitesse de
rotation de l’axe du moteur. Cette
mesure est exprimée en angle
par seconde.

Savez-vous pourquoi l’on


mesure ainsi la vitesse de
rotation de l’axe du moteur ? Eh
bien car cette mesure est
indépendante du diamètre de cet
axe. Et oui, car un point éloigné
du centre de l’axe du moteur a
une distance beaucoup plus
grande à parcourir que son
homologue proche du centre de
l’axe. Du coup, pour aller
parcourir une distance plus
grande en un temps donné il est
obligé d’aller plus vite :
Ÿ

La distance parcourue par le


point jaune et vert est nulle

La distance parcourue par


chaque point est différente

En prenant la mesure à partir


d’un point de départ fixe, la
distance parcourue par le point
jaune et vert est nulle (première
image). En faisant tourner l’axe
du moteur pendant une seconde,
on s’aperçoit que la distance
parcourue par chaque point est
différente (seconde image). La
distance parcourue par le point
vert est quasiment 20 fois plus
grande que celle parcourue par
le point jaune ! Et c’est pourquoi
le point vert aura été plus rapide
que le point jaune car la distance
qu’il parcourt en un même temps
est beaucoup plus grande.

En mécanique, comme on aime


les choses marrantes on exprime
la vitesse de rotation en radians
par seconde rad/srad/s et son
symbole est le caractère
grec ωω, prononcez 'oméga’.
Pour rappel, 360 est aux degrés
ce que 2 pi est aux radians
(autrement dit, une vitesse de
2pi/secondes équivaut à dire
"l’axe fait un tour par seconde").
Cela se traduit
par 360360°=2π=2π radian.
Malheureusement, la vitesse de
rotation angulaire n’est pas
donnée avec les caractéristiques
du moteur. En revanche, on
trouve une vitesse en
tour/minutes (tr/mntr/mn). Vous
allez voir que pour passer de
cette unité aux rad/s, c’est assez
facile. En effet, on sait qu’un tour
correspond à une rotation de
l’axe sur 360°. Soit 1tr = 360°. Et
dans une minute il y a 60
secondes. Donc l’axe
tourne 160601 de tour par
seconde, s’il fait un tour par
minute. On peut alors établir la
relation suivante :

1tr/mn=360×160=6∘/s1tr/
mn=360×601=6∘/s

Hors, on sait
que 360∘=2πrad360∘=2πrad, ce
qui donne une nouvelle relation :

1tr/mn=2π×160=π30rad/s1tr/
mn=2π×601
=30πrad/s

On peut finalement donner la


formule qui convertit un radian
par seconde en tours par
minutes :

1rad/s=1π30=30π≈9,55trs/
mn1rad/s=30π1=π30≈9,55trs/mn

Et je fais comment si je veux


savoir à quelle vitesse ira mon
robot ?

Eh bien comme je vous


l’expliquais précédemment, pour
répondre à cette question il faut
connaitre le diamètre de la roue.
Prenons l’exemple d’une roue
ayant 5cm de diamètre (soit 0.05
mètres) et un moteur qui tourne
à 20 rad/s. Le périmètre de la
roue vaut donc 15.7 cm (0.157
m) d’après la formule du
périmètre d’un cercle qui
est P=2×π×rP=2×π×r, avec rr le
rayon du cercle. Cela signifie
qu’en faisant tourner la roue sur
une surface plane et en lui
faisant faire un tour sur elle-
même, la roue aura parcouru
0,157m sur cette surface. On
admet que le moteur tourne à 20
rad/s ce qui représente donc
3.18 tours de l’axe du moteur par
seconde (d’après la dernière
formule que je vous ai donnée).
On peut donc calculer la distance
parcourue en une seconde grâce
à la formule :

V=dtV=td

Avec :
Ÿ VV : la vitesse en mètre par
seconde (m/s)

Ÿ dd : la distance en mètre (m)


Ÿ tt : le temps en secondes (s)

On va donc adapter cette


formule avec la distance qu’a
parcouru la roue en faisant un
tour sur elle-même (drouedroue)
et le nombre de tours par
seconde de l’axe du moteur
(ttourttour) : V=drouettourV=ttour
droue On sait
que droue=0.157mdroue
=0.157m et
que ttour=3,18tr/s=13,[Link]
=3,18tr/s=3,181tr.s V=0,15713,1
8=0,157×3,18V=3,1810,157
=0,157×3,18 V=0,5m/sV=0,5m/s
Le robot parcourt donc une
distance de 50 centimètres en
une seconde (ce qui équivaut à
1800 mètres par heure). Vous
avez maintenant toutes les
cartes en main pour pouvoir faire
avancer votre robot à la vitesse
que vous voulez !

Les réducteurs
Un moteur électrique est bien
souvent très rapide en rotation.
Hors si vous avez besoin de faire
un robot qui ne va pas trop vite, il
va falloir faire en sorte de réduire
sa vitesse de rotation. On peut
très bien mettre un "frein" qui va
empêcher le moteur de tourner
vite, ou bien le piloter (on va voir
ça toute à l’heure). Cela dit,
même si on réduit sa vitesse de
rotation, le moteur ne va pas
pouvoir supporter des charges
lourdes. Autrement dit, votre
robot ne pourra même pas se
supporter lui-même ! Nous avons
donc besoin de couple. Et pour
avoir du couple, tout en réduisant
la vitesse de rotation, on va
utiliser ce que l’on appelle
un réducteur. Un réducteur est
un ensemble composé
d'engrenages qui permet de
réduire la vitesse de rotation de
l’axe du moteur tout en
augmentant le couple de sortie.
Sur l’image suivante, extraite du
site de
l'Académie d’Aix Marseille, on
peut observer un ensemble
moteur + réducteur + roue :

Ensemble moteur + réducteur +


roue

Source : http://
[Link]-aix-
[Link]/spip/[Link]?
article35&id_document=51

La règle qui régit son


fonctionnement indique qu’entre
deux engrenages la
puissance est conservée (aux
pertes près qui sont dues au
frottement des engrenages entre
eux). Et comme la puissance
mécanique est dépendante du
couple et de la vitesse (partie
suivante), on peut facilement
passer de l’un à l’autre.
Reprenons notre roue faisant
5cm de diamètre. Mettez en
contact contre elle une grande
roue de 10cm de diamètre (deux
fois plus grande). Lorsque la
petite roue fait un tour, elle va
entrainer la deuxième roue plus
grande qui va faire… un demi-
tour. Oui car le périmètre de la
grande roue est deux fois plus
grand que celui de la petite.
Lorsque la petite parcourt
0,157m en faisant un tour sur
elle-même, la grande parcourt
elle aussi cette distance mais en
ne faisant qu’un demi-tour sur
elle-même.
Ÿ

La petite entraîne la grande


Lorsque la petite roue fait un
demi tour, la grande roue fait un
quart de tour
Deux roues en contact, la petite
entraîne la grande dont le
diamètre est deux fois plus grand
que la petite (première image).
Le point vert et jaune sert à
repérer la rotation de chaque
roue. Lorsque la petite roue fait
un demi tour, la grande roue fait
un quart de tour (seconde
image). Si elle fait un tour
complet, la grande roue ne fera
qu’un demi-tour.

Ce que l’on ne voit pas sur mon


dessin, c’est le couple. Hors, ce
que vous ne savez peut-être pas,
c’est que l’axe de la grande roue
bénéficie en fait de deux fois plus
de couple que celui de la petite.
Car les réducteurs ont pour
propriété, je le disais, de modifier
le couple de sortie et la vitesse.
Et ce selon la relation suivante
qui donne le rapport de
réduction :
R=ωentreeωsortie=CsortieCentr
eeR=ωsortieωentree=Centree
Csortie

Avec :

Ÿ RR : le rapport de réduction du
réducteur

Ÿ ωentreeωentree : la vitesse de
rotation de l’axe du moteur en
entrée du réducteur

Ÿ ωsortieωsortie : la vitesse de
rotation de l’axe du moteur en
sortie du réducteur

Ÿ CsortieCsortie : couple exercé


par l’axe de sortie du réducteur

Ÿ CentreeCentree : couple exercé


par l’axe du moteur, en entrée du
réducteur
Un réducteur s’apparente donc à
un système qui modifie deux
grandeurs qui sont liées : le
couple et la vitesse. On peut
schématiser le fonctionnement
d’un réducteur de la manière
suivante :

Schéma d’un réducteur

C’est quoi ça, les pertes


mécaniques ? :roll:

Justement, venons-en à un autre


point que je voudrais aborder.

La puissance et le rendement

Dans un moteur, on trouve deux


puissances distinctes :

Ÿ La première est la puissance


électrique. Elle représente la
quantité d’énergie électrique
dépensée pour faire tourner l’axe
du moteur. Elle représente aussi
la quantité d’énergie électrique
induite lorsque le moteur tourne
en générateur, c’est à dire que le
moteur transforme une énergie
mécanique de rotation en une
énergie électrique. Elle se
calcule simplement à partir de la
formule suivante :

Puissance = Tension x Courant

Pelec=U×IPelec=U×I
Selon les conventions, la tension
est exprimée en Volt et le
courant en Ampère. Quant à la
puissance, elle est exprimée
en Watt (W).

Ÿ La seconde est la puissance


mécanique. Elle correspond au
couple du moteur multiplié par sa
vitesse angulaire :

Pmeca=C×ωPmeca=C×ω

Le couple doit être exprimé en


Newton-Mètre (Nm) et la vitesse
en radians par seconde (rad/s).
Pour la puissance mécanique, il
s’agit encore de Watt.

Une puissance (mécanique ou


électrique) s’exprime
habituellement
en Watts (symbole W). On
retrouve cependant d’autres
unités telle que le Cheval Vapeur
(CV), avec 1 CV qui vaut
(arrondi) 735,5 W.
Mais comme dans tout système,
la perfection n’existe pas, on va
voir la différence qu’il y a entre la
puissance mécanique et
électrique, alors que à priori elles
devraient être équivalentes.
Lorsque le moteur est en
fonctionnement, il génère
des pertes. Ces pertes sont
dues à différents phénomènes
électriques ou thermiques (éch
auffement) ou tels que
les frottements
mécaniques (air, pièces en
contact, magnétique). Il y a donc
une différence entre la
puissance (électrique) en
entrée du moteur et la
puissance (mécanique) en sa
sortie. Cette différence
s’exprime avec la notion
de rendement. Le rendement
est une caractéristique
intrinsèque à chaque moteur et
permet de définir l’écart entre la
puissance d’entrée du moteur et
sa puissance de sortie. Il
s’exprime sans unité. Il permet
également de savoir quel
est le pourcentage de pertes
provoquées par le moteur. Le
rendement se note avec la lettre
grecque eta (ηη) et se calcule
grâce à la formule suivante :

η=PsortiePentreeη=Pentree
Psortie

Dans le cas du moteur, on aurait


alors les puissances électrique et
mécanique telles quelles :

η=PmecaPelecη=PelecPmeca

Et dans le cas où le moteur est


utilisé en générateur électrique
(on fait tourner l’axe à la main
par exemple), la formule reste la
même mais la place des
puissances électrique et
mécanique est inversée :

η=PelecPmecaη=PmecaPelec
Attention, le rendement est une
valeur sans unité, on peut en
revanche l’exprimer sous forme
de pourcentage.

Si l’on prend un exemple : un


moteur de puissance électrique
100W, ayant une puissance
mécanique de 84W aura un
rendement
de : η=PmecaPelecη=Pelec
Pmeca η=P84P100η=P100P84 η
=0,84η=0,84 Ce qui correspond
à 84%. Sachez toutefois que le
rendement ne pourra dépasser
les 100% (ou 1), car il n’existe
pas de systèmes capables de
fournir plus d’énergie qu’ils
n’en reçoivent. Cela dit, si un
jour vous parvenez à en trouver
un, vous pourrez devenir le Roi
du Monde !!

Les moteurs électriques ont


habituellement un bon
rendement, entre 80% (0.8) et
95% (0.95). Cela signifie que
pour 100W électriques injectés
en entrée, on obtiendra en sortie
80 à 95W de puissance
mécanique. Tandis qu’un moteur
à explosion de voiture dépasse à
peine les 30% de rendement !

Quelques relations

Une toute dernière chose avant


de commencer la suite, il y a
deux relations à connaitre vis-à-
vis des moteurs.

Lien entre vitesse et tension

Dans un moteur CC, quelque soit


sa taille et sa puissance, il faut
savoir que la tension à ses
bornes et la vitesse de sortie
sont liées. Plus la tension sera
élevée et plus la vitesse sera
grande. Nous verrons cet aspect
dans la prochaine partie. Faites
attention à bien rester dans
les plages de tension
d’alimentation de votre moteur et
ne pas les dépasser. Il pourrait
griller ! En effet, vous pouvez
dépasser de manière
temporaire la tension maximale
autorisée pour donner un coup
de fouet à votre moteur, mais ne
restez jamais dans une plage
trop élevée ! Une deuxième
conséquence de cette relation
concerne le moment du
démarrage du moteur. En effet,
la relation entre tension et
vitesse n’est pas tout à fait
linéaire pour les tensions faibles,
elle est plutôt "écrasée" à cet
endroit. Du coup, cela signifie
que le moteur n’arrivera pas à
tourner pour une tension trop
basse. C’est un peu comme si
vous aviez une tension de seuil
de démarrage. En dessous de
cette tension, le moteur est à
l’arrêt, et au dessus il tourne
correctement avec une relation
de type "100 trs/min/volts"
(autrement dit, le moteur
tournera à 100
tours par minutes pour 1 volt,
puis 200 tours par minutes pour
2 volts et etc etc… bien entendu
le 100 est pris comme un
exemple purement arbitraire,
chaque moteur a sa
caractéristique propre).

Lien entre courant et couple

Comme nous venons de le voir,


la vitesse est une sorte d’image
de la tension. Passons
maintenant à une petite
observation : Lorsque l’on freine
l’axe du moteur, par exemple
avec le doigt, on sent que le
moteur insiste et essaye de
repousser cette force exercée
sur son axe. Cela est du au
courant qui le traverse et qui
augmente car le moteur, pour
continuer de tourner à la même
vitesse, doit fournir plus de
couple. Hors, le couple et le
courant sont liés : si l’un des
deux augmente alors l’autre
également.
Autrement dit, pour avoir plus de
couple le moteur consomme plus
de courant. Si votre alimentation
est en mesure de le fournir, il
pourra éventuellement bouger,
sinon, comme il ne peut pas
consommer plus que ce qu’on lui
donne, il restera bloqué et
consommera le maximum de
courant fourni.

Si vous faites circuler trop de


courant dans un moteur pour
trop longtemps, il va chauffer.
Les moteurs sont des
composants sans protection.
Même s’ils chauffent ils ne feront
rien pour s’arrêter, bien au
contraire. Cela peut mener à une
surchauffe et une destruction du
moteur (les bobines à l’intérieur
sont détruites). Attention donc à
ne pas trop le faire forcer sur de
longues périodes continues.
Alimenter un moteur
Bon, et si nous voyions un peu
comment cela se passe dans la
pratique ? Je vais vous montrer
comment alimenter les moteurs
électriques à courant continu.
Vous allez voir que ce n’est pas
aussi simple que ça en a l’air, du
moins lorsque l’on veut faire
quelque chose de propre. Vous
allez comprendre de quoi je
parle…

Connecter un moteur sur


une source d’énergie : la pile

Faisons l’expérience la plus


simple qui soit : celle de
connecter un moteur aux bornes
d’une pile de 9V :
Ÿ

C’est beau, ça tourne.

C’est tout ?

Ben oui, quoi de plus ? Le


moteur est connecté, son axe
tourne, la pile débite du
courant… Ha ! Voilà ce qui nous
intéresse dans l’immédiat : la pile
débite du courant. Oui et pas des
moindres car les moteurs
électriques sont bien
généralement de véritables
gloutons énergétiques. Si vous
avez la chance de posséder un
ampèremètre, vous pouvez
mesurer le courant de
consommation de votre moteur.
En général, pour un petit moteur
de lecteur CD on avoisine la
centaine de
milliampères. Pour un moteur un
peu plus gros, tel qu’un moteur
de modélisme, on trouve
plusieurs centaines de
milliampères de consommation.
Pour des moteurs encore plus
gros, on peut se retrouver avec
des valeurs dépassant largement
l’ampère voire la dizaine
d’ampères. Revenons à notre
moteur. Lui ne consomme pas
plus de 100mA à vide. Mais pour
une simple pile c’est beaucoup.
Et je vous garantis qu’elle ne
tiendra pas longtemps comme
ça ! De plus, la vitesse n’est pas
réglable, le moteur tourne
toujours à son maximum (si c’est
un moteur fait pour tourner à 9V).
Enfin, pour allumer ou arrêter le
moteur, vous êtes obligé de le
connecter ou le déconnecter de
la pile. En somme, utiliser un
moteur dans cette configuration,
par exemple pour faire avancer
votre petit robot mobile, n’est pas
la solution la plus adaptée.
Avec la carte Arduino

Vous vous doutez bien que l’on


va utiliser la carte Arduino pour
faire ce que je viens d’énoncer, à
savoir commander le moteur à
l’allumage et à l’extinction et faire
varier sa vitesse.

Ne faites surtout pas le


montage qui suit, je vous
expliquerai pourquoi !

Admettons que l’on essaie de


brancher le moteur sur une sortie
de l’Arduino :
Ÿ

Moteur branché sur une sortie de


l’Arduino

Avec le programme adéquat, le


moteur va tourner à la vitesse
que l’on souhaite, si l’on veut,
réglable par potentiomètre et
s’arrêter ou démarrer quand on
le lui demande. C’est mieux.
C’est la carte Arduino qui pilote
le moteur. Malheureux ! Vous ne
croyez tout de même pas que
l’on va se contenter de faire ça ?!
Non, oulaaaa. C’est hyper ultra
dangereux…
pour votre carte Arduino ! Il est
en effet impensable de réaliser
ce montage car les moteurs à
courant continu sont de
véritables sources de parasites
qui pourraient endommager, au
point de vue matériel, votre carte
Arduino ! Oubliez donc tout de
suite cette idée de connecter
directement le moteur sur une
sortie de votre Arduino. Les
moteurs, quand ils tournent,
génèrent tout un tas de parasites
qui peuvent être des surtensions
très grandes par rapport à leur
tension d’alimentation. De plus,
le courant qu’ils demandent est
bien trop grand par rapport à ce
que peut fournir une sortie
numérique d’une carte Arduino
(environ 40 mA). Ce sont deux
bonnes raisons de ne pas faire le
montage précédent.

Mais alors, on fait comment si on


peut pas piloter un moteur avec
notre carte
Arduino ?

Je n’ai pas dis que l’on ne


pouvait pas piloter un moteur
avec une carte Arduino. J’ai bien
précisé dans cette configuration.
Autrement dit, il faut faire
quelque chose de plus pour
pouvoir mener à terme cet
objectif.

Une question de puissance :


le transistor

Souvenez-vous, nous avons


parlé d’un composant qui
pourrait convenir dans [ce
chapitre](https://
[Link]/tutoriels/537/
arduino-premiers-pas-en-
informatique-embarquee/743/
gestion-des-entrees-sorties/
3424/afficheurs-7-segments/#5-
utiliser-plusieurs-afficheurs). Il
s’agit du transistor. Si vous
vous souvenez de ce que je vous
avais
expliqué, vous devriez
comprendre pourquoi je vous en
parle ici. Car, à priori, on ne veut
pas allumer un afficheur 7
segments. En fait, le transistor
(bipolaire) est comme un
interrupteur que l’on commande
par un courant. Tout comme on
avait fait avec les afficheurs 7
segments, on peut allumer,
saturer ou bloquer un transistor
pour qu’il laisse passer le
courant ou non. Nous avions
alors commandé chaque
transistor pour allumer ou
éteindre les afficheurs
correspondants. Essayons de
faire de même avec notre
moteur :
Ÿ

Avec un transistor

Ici, le transistor est commandé


par une sortie de la carte Arduino
via la résistance sur la base.
Lorsque l’état de la sortie est au
niveau 0, le transistor est
bloqué et le courant ne le
traverse pas. Le moteur ne
tourne pas. Lorsque la sortie
vaut 1, le transistor est
commandé et devient saturé,
c’est-à-dire qu’il laisse passer le
courant et le moteur se met à
tourner. Le problème, c’est que
tout n’est pas parfait
et ce transistor cumule des
inconvénients qu’il est bon de
citer pour éviter d’avoir de
mauvaises surprises :

Ÿ parcouru par un grand courant, il


chauffe et peut être amené à
griller s’il n’est pas refroidi

Ÿ il est en plus sensible aux


parasites et risque d’être
endommagé

Ÿ enfin, il n’aime pas les "hautes"


tensions

Pour répondre à ces trois


contraintes, trois solutions. La
première consisterait à mettre un
transistor qui accepte un courant
assez élevé par rapport à la
consommation réelle du moteur,
ou bien d’adjoindre
un dissipateur sur le transistor
pour qu’il refroidisse. La
deuxième
solution concernant les parasites
serait de mettre un condensateur
de filtrage. On en a déjà parlé
avec les [boutons poussoirs]
(https://
[Link]/tutoriels/537/
arduino-premiers-pas-en-
informatique-embarquee/743/
gestion-des-entrees-sorties/
3423/un-simple-bouton/) . Pour
le dernier problème, on va voir
que l’on a besoin d’une diode.

Le "bon" transistor

Comme je viens de vous


l’expliquer, il nous faut un
transistor comme "interface" de
puissance. C’est lui qui nous sert
d’interrupteur pour laisser passer
ou non le courant. Pour l’instant,
nous avons beaucoup parlé des
transistors "bipolaires". Ils sont
sympas, pas chers, mais il y a un
problème : ils ne sont pas
vraiment faits pour faire de la
commutation, mais plutôt pour
faire de l’amplification de
courant. Le courant qu’il laisse
passer est proportionnel au
courant traversant sa base. Pour
les petits montages comme celui
des 7 segments ce n’est pas
vraiment un problème, car les
courants sont faibles. Mais pour
des montages avec un moteur,
où les courants sont bien plus
élevés, votre transistor bipolaire
va commencer à consommer. On
retrouvera jusqu’à plusieurs volts
de perdus entre son émetteur et
son collecteur, autant de volts qui
ne profiteront pas à notre moteur.

Mais alors on fait comment pour


pas perdre tout ça ?

Eh bien c’est facile ! On change


de transistor ! L’électronique de
puissance a donné naissance à
d’autres transistors,
bien plus optimaux pour les
questions de fonctionnement à
fort courant et en régime
saturé/bloqué. Ce sont les
transistors MOSFET (appelés
aussi "transistor à effet de
champ"). Leur symbole est le
suivant :

Symbole du transistor MOSFET


(canal N)

Il ressemble évidemment à un
bipolaire, cela reste un transistor.
Par contre il est fait pour faire de
l’amplification de tension.
Autrement dit, sa broche de
commande (que l’on appelle
"Gate") doit recevoir une
commande, une tension,
donc plus besoin de résistance
entre Arduino et le transistor. Son
fonctionnement est simple : une
différence de potentiel sur la gate
et il commute (laisse passer le
courant entre D (Drain) et S
(Source)) sinon il bloque le
courant. Facile non ? Un
inconvénient cependant : ils
coûtent plus chers que leurs
homologues bipolaires (de un à
plusieurs euros selon le modèle,
le courant qu’il peut laisser
passer et la tension qu’il peut
bloquer). Mais en contrepartie, ils
n’auront qu’une faible chute de
tension lorsqu’ils laissent passer
le courant pour le moteur, et ça
ce n’est pas négligeable. Il existe
deux types de MOSFET, le canal
N et le canal P. Ils font la même
chose, mais le comportement est
inversé (quand un est passant
l’autre est bloquant et vice
versa). Voici un schéma
d’exemple de branchement (avec
une
résistance de pull-down, comme
ça si le signal n’est pas défini sur
la broche Arduino, le transistor
sera par défaut bloqué et donc le
moteur ne tournera pas) :

Schéma simple de branchement

Protégeons l’ensemble : la
diode de roue libre
Une diode, qu’est-ce que c’est ?
Nous en avons déjà parlé à vrai
dire, il s’agissait des diodes
électroluminescentes (LED)
mais le principe de
fonctionnement reste le même
sans la lumière. Une diode, dont
voici le symbole :

Symbole d’une diode

…est un composant électronique


qui ne laisse passer le courant
que dans un sens (cf. [ce
chapitre](https://
[Link]/tutoriels/537/
arduino-premiers-pas-en-
informatique-embarquee/743/
gestion-des-entrees-sorties/
3420/notre-premier-programme/)
). Vos souvenirs sont-ils à
nouveau en place ? Alors, on
continue ! Reprenons le schéma
précédent avec le transistor
piloté par l’Arduino et qui
commande à son tour le moteur.
Saturons
le transistor en lui appliquant une
tension sur sa base. Le moteur
commence à tourner puis
parvient à sa vitesse de rotation
maximale. Il tourne, il tourne et
là… je décide de couper
l’alimentation du moteur en
bloquant le transistor. Soit. Que
va-t-il se passer ?

Le moteur va continuer de
tourner à cause de son inertie !

Très bien. Et que cela va t-il


engendrer ? Une tension aux
bornes du moteur. En effet, je l’ai
dit plus tôt, un moteur est aussi
un générateur électrique car il
est capable de convertir de
l’énergie mécanique en énergie
électrique même si son rôle
principal est de faire l’inverse. Et
cette tension est très dangereuse
pour le transistor, d’autant plus
qu’elle est très haute et peut
atteindre plusieurs
centaines de Volts (phénomène
physique lié aux bobines internes
du moteur qui vont se charger).
En fait, le moteur va générer une
tension à ses bornes et un
courant, mais comme le
transistor bloque la route au
courant, cette tension ne peut
pas rester la même et est obligée
d’augmenter pour conserver la
relation de la loi d’Ohm. Le
moteur arrive à un phénomène
de charge. Il va, précisément, se
charger en tension. Je ne
m’étends pas plus sur le sujet, il
y a bien d’autres informations
plus complètes que vous pourrez
trouver sur internet. La question :
comment faire pour que le
moteur se décharge et n’atteigne
pas des tensions de plusieurs
centaines de Volts à ses bornes
(ce qui forcerait alors le passage
au travers du transistor et
détruirait ce dernier) ? La
réponse : par l’utilisation d’une
diode. Vous vous en doutiez,
n’est-
ce pas ? Il est assez simple de
comprendre comment on va
utiliser cette diode, je vous
donne le schéma. Les
explications le suivent :

Schéma d’utilisation de la diode

Reprenons au moment où le
moteur tourne. Plus de courant
ne circule dans le transistor et la
seule raison pour laquelle le
moteur continue de tourner est
qu’il possède une inertie
mécanique. Il génère donc cette
fameuse tension qui est orientée
vers l’entrée du transistor.
Comme le transistor est bloqué,
le courant en sortie du moteur va
donc aller traverser la diode pour
revenir dans le moteur. C’est
bien, car la tension induite (celle
qui est générée par le moteur)
restera proche de la tension
d’alimentation du moteur et n’ira
pas virevolter au voisinage des
centaines de Volts. Mais ça ne
s’arrête pas là. Pour ceux qui
l’auraient remarqué, la tension
induite par le moteur est
opposée à celle que fournit
l’alimentation de ce dernier. Or,
étant donné que maintenant on
fait un bouclage de la tension
induite sur son entrée (vous me
suivez toujours ?), eh bien cela
alimente le moteur. Les deux
tensions s’opposent et cela a
pour effet de ralentir le moteur.
La diode de roue libre, c’est
comme ça qu’on l’appelle, sert
donc à deux choses : d’une part
elle protège le transistor de la
surtension induite par le moteur,
d’autre part elle permet au
moteur
de "s’auto-freiner".

Et on met quoi comme diode ?

Excellente question, j’allais


presque oublier ! La diode que
nous mettrons sera une
diode Schottky. Ne vous laissez
pas impressionner par ce nom
barbare qui signifie simplement
que la diode est capable de
basculer (passer de l’état
bloquant à passant) de manière
très rapide. Dès lors qu’il y a une
surtension engendrée par le
moteur lorsque l’on le coupe de
l’alimentation, la diode va
l’absorber aussitôt avant que le
transistor ait le temps d’avoir des
dommages. On pourra
également rajouter aux bornes
de la diode un condensateur de
déparasitage pour protéger le
transistor et la diode contre les
parasites. Au final, le schéma
ressemble à ça :
Ÿ

Schéma du montage complet du


moteur CC

Montage complet du moteur CC


Sa valeur devra être comprise
entre 1nF et 100nF environ. Le
but étant de supprimer
les petits parasites (pics de
tension).

[Link]
v=Y6J2WNK56xk https://
[Link]/watch?
v=jMBaWaWatUg

Petite illustration interactive :

!([Link]
embed/9V5aWTwkTZv)

Bon, nous allons pouvoir


attaquer les choses sérieuses !

Piloter un moteur
Les montages de cette partie
sont importants à connaître.
Vous n’êtes pas obligé de les
mettre en œuvre, mais si
vous le voulez (et en avez les
moyens), vous le pouvez. Je dis
ça car la partie suivante vous
montrera l’existence de shields
dédiés aux moteurs à courant
continu, vous évitant ainsi
quelques maux de têtes pour la
réalisation des schémas de cette
page.

Faire varier la vitesse : la


PWM

Maintenant que nous avons les


bases fondamentales pour faire
tourner notre moteur sans tout
faire griller ( :roll: ), nous allons
pouvoir acquérir d’autres
connaissances. À commencer
par quelque chose de facile : le
réglage de la vitesse de rotation
du moteur. Comme nous
l’expliquions dans le premier
morceau de ce chapitre, un
moteur à courant continu
possède une relation directe
entre sa tension d’alimentation et
sa vitesse de
rotation. En effet, plus la tension
à ses bornes est élevée et plus
son axe tournera rapidement
(dans la limite de ses
caractéristiques évidemment).
Cependant le microcontrôleur
d’Arduino n’est capable de
produire que des tensions de 0
ou 5V. En revanche, il peut
"simuler" des tensions variables
comprises entre 0 et 5V. Encore
un petit rappel de cours
nécessaire sur la PWM que nous
avons déjà rencontrée ici pour
vous rafraichir la mémoire. Nous
sommes en mesure de produire
à l’aide de notre microcontrôleur
un signal carré dont le rapport
cyclique est variable. Et grâce à
cela, nous obtenons une tension
moyenne (comprise entre 0 et
5V) en sortie de la carte Arduino.
Il faut juste bien penser à utiliser
les sorties adéquates, à savoir :
3, 5, 6, 9, 10 ou 11 (sur une
duemilanove/UNO). Je résume :
en utilisant la PWM, on va
générer une tension par
impulsions
plus ou moins grandes. Ce signal
va commander le transistor qui
va à son tour commander le
moteur. Le moteur va donc être
alimenté par intermittences à
cause des impulsions de la
PWM. Ce qui aura pour effet de
modifier la vitesse de rotation du
moteur.

Mais, si le moteur est coupé par


intermittences, il va être en
rotation, puis va s’arrêter, puis va
recommencer, etc. Ce sera pas
beau et ça ne tournera pas
moins vite. Je comprends pas
trop ton histoire.

Non, puisque le moteur garde


une inertie de rotation et comme
la PWM est un signal qui va trop
vite pour que le moteur ait le
temps de s’arrêter puis de
redémarrer, on va ne voir qu’un
moteur qui tourne à une vitesse
réduite.
Finalement, nous allons donc
pouvoir modifier la vitesse de
rotation de notre moteur en
modifiant le rapport cyclique de
la PWM. Plus il est faible (un état
BAS plus long qu’un état HAUT),
plus le moteur ira doucement.
Inversement, plus le rapport
cyclique sera élevé (état HAUT
plus long que l’état BAS), plus le
moteur ira vite. Tout cela couplé
à un transistor pour faire passer
de la puissance (et utiliser la
tension d’utilisation adaptée au
moteur) et nous pouvons faire
tourner le moteur à la vitesse
que nous voulons.

Génial non ? Pour l’instant je ne


vous ferai pas de démo (vous
pouvez facilement imaginer le
résultat), mais cela arrivera très
prochainement lors de l’utilisation
de l’Arduino dans la prochaine
sous-partie. Le montage va être
le même que tout à l’heure avec
le "nouveau" transistor et sa
résistance de base :

Schéma du montage complet du


moteur CC
Montage complet du moteur
CC[Link]
ch?v=UJWNOBeLNus
Maintenant que le moteur tourne
à une vitesse réglable, il pourra
être intéressant de le faire
tourner aussi dans l’autre sens
(si jamais on veut faire une
marche arrière, par exemple, sur
votre robot), voire même d’être
capable de freiner le moteur.
C’est ce que nous allons tout de
suite étudier dans le morceau
suivant en parlant d’un
composant très fréquent dans le
monde de la robotique : le pont
en H.

Tourner dans les deux sens :


le pont en H
Faire tourner un moteur c’est
bien. Tourner à la bonne vitesse
c’est mieux. Aller dans les deux
sens c’est l’idéal. C’est donc ce
que nous allons maintenant
chercher à faire !
Découverte du pont en H

Tout d’abord une question très


simple : pourquoi le moteur
tourne dans un seul sens ?
Réponse évidente : parce que le
courant ne va que dans un seul
sens ! Pour pouvoir aller vers
l’avant ET vers l’arrière il nous
faut donc un dispositif qui serait
capable de faire passer le
courant dans le moteur dans un
sens ou dans l’autre.

Vous pouvez faire l’expérience


en reprenant le premier montage
de ce chapitre où il n’y avait que
le moteur connecté sur une pile
de 9V. Essayez d’inverser les
deux bornes du moteur (ça ne
risque rien ) pour observer ce
qu’il se passe : le moteur change
de sens de rotation. C’est dû au
champ magnétique créé par les
bobines internes du moteur
qui est alors opposé.

Reprenons notre dispositif de


base avec un transistor (que
nous symboliserons ici par un
interrupteur). Si ce dernier est
activé le moteur tourne, sinon le
moteur est arrêté. Jusque là rien
de nouveau. Rajoutons un
deuxième transistor "de l’autre
côté" du moteur. Rien ne va
changer, mais il va falloir
commander les deux transistors
pour faire tourner le moteur. Ce
n’est pas bon. Essayons avec
quatre transistors, soyons fou !
Ÿ

Le pont en H
Eh bien, cela change tout ! Car à
présent nous allons piloter le
moteur dans les deux sens de
rotation. Pour comprendre le
fonctionnement de ce pont en H
(appelé ainsi par sa forme),
imaginons que je ferme les
transistors 1 et 4 en laissant
ouverts le 2 et le 3. Le courant
passe de la gauche vers la
droite.
Ÿ

Fonctionnement dans le sens


horaire

Si en revanche je fais le contraire


(2 et 3 fermés et 1 et 4 ouverts),
le courant ira dans l’autre sens !
C’est génial non ?
Ÿ

Fonctionnement dans le sens


anti-horaire

Et ce n’est pas tout !

Allons plus loin avec le pont


en H

Comme vous l’aurez sûrement


remarqué, les transistors
fonctionnent deux par deux. En
effet, si on en ferme juste un seul
et laisse ouvert les trois autres le
courant n’a nulle part où aller et
rien ne se passe, le moteur est
en roue libre. Maintenant, que se
passe-t-il lorsqu’on décide de
fermer 1 & 2 en laissant 3 et 4
ouverts ? Cette action va créer
ce que l’on appelle un frein
magnétique. Je vous ai expliqué
plus tôt comment cela
fonctionnait lorsque l’on mettait
une diode de roue libre aux
bornes du moteur. Le moteur se
retrouve alors court-circuité. En
tournant à cause de son inertie,
le courant généré va revenir
dans le moteur et va le freiner.
Attention cependant, c’est
différent d’un phénomène de
roue libre où le moteur est libre
de tourner.
Ÿ

Freinage avec 1 & 2


Freinage avec 3 & 4

Ne fermez jamais 1 & 3 et/ou 2


& 4 ensembles, cela ferait un
court-circuit de l’alimentation et
vos transistors risqueraient de
griller immédiatement si
l’alimentation est capable de
fournir un courant plus fort que
ce qu’ils ne peuvent admettre.

Les protections nécessaires


Les diodes de roue libre

Comme nous l’avons vu plus


haut, pour
protéger un transistor des
parasites ou lors du freinage
électronique du moteur, nous
plaçons une diode. Dans le cas
présent, cette diode devra être
en parallèle aux bornes du
transistor (regardez le schéma
qui suit). Ici nous avons quatre
transistors, nous utiliserons donc
quatre diodes que nous
placerons sur chaque transistor.
Ainsi, le courant trouvera
toujours un moyen de passer
sans risquer de forcer le passage
dans les transistors en les
grillant. Comme vu
précédemment, des diodes de
type Shottky sont
recommandées pour leurs
caractéristiques de tension de
seuil faible et commutation
rapide.
Ÿ

Pont en H avec ses diodes de


protection[Link]
m/watch?v=HTmEUpHtCIE https
://[Link]/watch?
v=fLavdfKYEgc

Un peu de découplage

Lorsque nous utilisons le moteur


avec une PWM, nous générons
une fréquence parasite. De plus,
le moteur qui tourne génère lui
même des parasites. Pour ces
deux raisons, il est souvent utile
d’ajouter des condensateurs de
filtrage aux bornes
du moteur. Comme sur le
montage suivant, on peut en
placer un en parallèle des deux
broches du moteur, et deux
autres plus petits entre une
broche et la carcasse du moteur.

Un peu de découplage

Un peu de découplage, schéma


Ensuite, lorsque le moteur
démarre il fera un appel de
courant. Pour éviter d’avoir à
faire transiter ce courant depuis
la source
de tension principale (une
batterie par exemple), il est de
bon usage de mettre un gros
condensateur polarisé aux
bornes de l’alimentation de
puissance du pont en H. Ainsi,
au moment du départ l’énergie
sera en partie fournie par ce
condensateur plutôt qu’en totalité
par la batterie (ce qui évitera un
échauffement abusif des
conducteurs mais aussi une
éventuelle baisse de la tension
due à l’appel de courant).

Des solutions intégrées :


L293, L298…

Afin d’éviter de vous torturer


avec les branchements des
transistors et leur logique de
contrôle, des composants "clés
en main" ont été développés et
produits. Nous allons maintenant
étudier deux d’entre eux que
nous retrouvons dans quasiment
tous les shields moteurs
Arduino : le L293(D) et son grand
frère, plus costaud, le L298.

Le L293(D)

Tout d’abord, voici un lien vers la


datasheet du composant . Les
premières données nous
apprennent que ce composant
est un "quadruple demi-pont en
H". Autrement formulé, c’est un
double pont en H (car oui, 4 fois
un demi ça fait 2 !). Ce
composant est fait pour
fonctionner avec des tensions de
4.5V à 36V et sera capable de
délivrer 600 mA par canaux
(dans notre cas cela fera 1,2A
par moteur puisque nous
utiliserons les demi-ponts par
paire pour tourner dans les deux
sens). Un courant de pic peut
être toléré allant jusqu’à 1,2A par
canaux (donc 2,4A dans notre
cas). Enfin, ce composant existe
en deux versions, le L293 et le
L293D. La seule différence (non
négligeable) entre les deux est
que le L293D intègre déjà les
diodes en parallèle des
transistors. Un souci de moins à
se préoccuper ! En revanche,
cela implique donc des
concessions sur les
caractéristiques (le courant max
passe à 1A par canaux et 2A pic
pour la version sans les diodes).
Le branchement de ce
composant est assez simple
(page 2 de la datasheet), mais
nous allons le voir ensemble
maintenant. Ce composant a 16
broches et fonctionne selon un
système de symétrie assez
simple.
Ÿ

Le L293
De chaque côté les broches du
milieu (4, 5, 12 et 13) servent à
relier la masse mais aussi à
dissiper la chaleur. On trouve les
entrées d’activation des ponts
(enable) sur les broches 1 et 9.
Un état HAUT sur ces broches et
les ponts seront activés, les
transistors pourront s’ouvrir ou
se fermer, alors qu’un état BAS
désactive les ponts, les
transistors restent ouverts.
Ensuite, on trouve les broches
pour piloter les transistors.
Comme un bon tableau vaut
mieux qu’un long discours, voici
les cas possibles et leurs
actions :
Input 1 (broche 2 et 10)Input 2
(broche 7 et 15)Effet01Tourne
dans le sens horaire10Tourne
dans le sens anti-
horaire00Frein11Frein

Commande et impact sur le


moteur
Ainsi, en utilisant une PWM sur
la broche d’activation des ponts
on sera en mesure de faire varier
la vitesse. Il ne nous reste plus
qu’à brancher le moteur sur les
sorties respectives (3 et 6 ou 11
et 14 selon le pont utilisé) pour le
voir tourner. Et voilà ! Vous
savez à peu près tout ce qu’il
faut savoir (pour l’instant ) sur ce
composant.

Attends attends attends,


pourquoi il y a deux broches Vcc
qui ont des noms différents, c’est
louche ça !

Ah oui, c’est vrai et c’est


important ! Le composant
possède deux sources
d’alimentation. Une pour la partie
"logique" (contrôle correct des
transistors), VCC1 ; et l’autre
pour la partie puissance (utile
pour alimenter les moteurs à la
bonne tension), VCC2. Bien que
ces deux entrées
respectent les mêmes tensions
(4.5V à 36V), nous ne sommes
pas obligés de mettre des
tensions identiques. Par
exemple, la tension pour la
logique pourrait venir du +5V de
la carte Arduino tandis que la
partie puissance pourrait être
fournie par une pile 9V par
exemple (n’oubliez pas de bien
relier les masses entre elles pour
avoir un référentiel commun).

N’utilisez JAMAIS le +5V de la


carte Arduino comme
alimentation de puissance (pour
la logique c’est OK). Son
régulateur ne peut fournir que
250mA ce qui est faible. Si vous
l’utilisez pour alimenter des
moteurs vous risquez de le
griller !

Comme je suis sympa ( ) je vous


donne un exemple de
branchement du
composant avec un moteur et
une carte Arduino (j’ai pris le
modèle L293D pour ne pas
m’embêter à devoir mettre les
diodes de protection sur le
schéma :roll: ) :

Schéma d’utilisation du L293D


Montage du L293D

Vous noterez la présence du


gros
condensateur polarisé (100
µF / 25V ou plus selon
l’alimentation) pour découpler
l’alimentation de puissance du
L293D. Comme je n’utilise qu’un
seul pont, j’ai relié à la masse les
entrées de celui qui est inutilisé
afin de ne pas avoir des entrées
qui "grésillent" et fassent
consommer le montage pour
rien. Enfin, vous remarquez que
j’utilise trois broches de
l’Arduino, deux pour le sens (2 et
4) et une PWM pour la vitesse
(3).

[Link]
v=VpuscclthLE
Le L298

Étudions maintenant le grand


frère du L293 : le L298 . Si je
parle de grand frère ce n’est pas
innocent. En effet, son
fonctionnement est très similaire
à celui
du L293, mais il est capable de
débiter des courants jusqu’à 2A
nominal par pont et jusqu’à 3A
pendant un bref instant. Il
propose aussi une fonction
pouvant être intéressante qui est
la mesure du courant passant au
travers du pont (pour vérifier si
votre moteur est "rendu en
butée"1 par exemple). Que dire
de plus ? On retrouve deux
broches d’alimentation, une pour
la logique et l’autre pour la
puissance. Celle pour la logique
peut aller de 4.5 à 7V (là encore
on pourra utiliser celle de
l’Arduino). L’entré puissance, en
revanche, admet une tension
comprise entre 5 et 46V. Pour un
fonctionnement optimal, la
documentation nous
recommande de placer des
condensateurs de 100nF sur
chaque ligne d’alimentation. Et
comme pour le L293, on pourra
aussi placer un gros
condensateur polarisé de 100µF
(tension à choisir selon
l’alimentation) sur
la ligne d’alimentation de
puissance. Comme le
fonctionnement est le même que
celui du L293, je vais juste vous
proposer une liste des broches
utiles (oui je suis fainéant !).

le L298

Pour le premier pont :

Ÿ Les sorties sont situées sur les


broches 2 et 3.

Ÿ Les entrées pour le sens de


rotation sont la 5 et 7 et la PWM
(enable) ira
sur la broche 6.

Pour le second pont :

Ÿ Les sorties sont situées sur les


broches 13 et 14.

Ÿ Les entrées pour le sens de


rotation sont la 10 et 12 et la
PWM (enable) ira sur la broche
11.

Pour les deux ponts :

Ÿ La masse, qui est au milieu sur


la broche 8.

Ÿ L’alimentation de la logique de
commande (le 5V) sur la broche
suivante, la 9.

Ÿ Et l’alimentation de la partie
puissance
sur la broche 4.

Je ne mentionne pas les broches


1 et 15 qui sont celles servant à
mesurer le courant traversant les
ponts. Je doute que vous vous
en serviez dans un premier
temps et si vous arrivez jusque là
je n’ai aucun doute que vous
arriverez à les mettre en oeuvre
(indice : il faudra utiliser une
résistance )

Le L298 n’existe pas avec les


diodes de roue libre intégrées.
Prenez donc garde à bien les
rajouter dans votre montage
sous peine de voir votre
composant griller.
Comme précédemment, voici un
schéma d’illustration (l’image
représentant le L298 n’est pas
exacte, mais le boitier multiwatt
n’existe pas encore dans Fritzing
donc j’ai dû feinter) :
Ÿ

Schéma du L298 avec un moteur


et ses diodes

Montage du L298 avec un


moteur et ses diodes

Ÿ s’il rencontre un obstacle qui


freine sa course↩
Et Arduino dans tout
ça ?
Bref rappel sur les PWM

Si vous avez bien lu la partie


précédente, vous avez dû
apprendre que pour pouvoir
modifier la vitesse de rotation du
moteur il faut utiliser un signal
PWM. Mais vous souvenez-vous
comment on s’en sert avec
Arduino ? Allez, zou, petite
piqûre de rappel ! Commençons
par redire où sont situées les
broches utilisables avec la PWM.
Elles sont au nombre de 6 et ont
les numéros 3, 5, 6, 9, 10 et 11.
Pour les utiliser, vous devrez les
configurer en sortie dans le
setup() de votre programme :
const int brochePWM = 3; void
setup() { // configuration en sortie
de la broche 3
pinMode(brochePWM,
OUTPUT); }

Ensuite, vous pourrez agir sur


le rapport
cyclique du signal PWM (le ratio
entre temps à l’état HAUT et
temps à l’état BAS) en utilisant la
fonction analogWrite(broche,
ratio).
L’argument broche désigne… la
broche à utiliser et
l’argument ratio indique la portion
de temps à l’état haut du signal.

/* le signal PWM est généré sur


la broche 3 de la carte Arduino
avec un rapport cyclique de 50%
(état HAUT égal en temps à celui
de l'état BAS */
analogWrite(brochePWM, 127);

La fonction analogWrite
Le rapport cyclique est défini par
un nombre allant de 0 à 255.
Cela signifie qu’à 0, le signal de
sortie sera nul et à 255, le signal
de sortie sera à l’état HAUT.
Toutes les valeurs comprises
entre ces
deux extrêmes donneront un
rapport cyclique plus ou moins
grand. Dans notre cas, le moteur
tourne plus ou moins vite selon si
le rapport cyclique est grand ou
petit. Pour savoir quel rapport
cyclique correspond avec quelle
valeur, il faut faire une règle de
trois :

Valeur argumentRapport cyclique


(%)0012750255100

Quelques exemples de rapport


cyclique

Le calcul donnant la valeur pour


chaque portion est défini par
cette relation :
argument=x×100255argument=2
55x×100

Le résultat de ce calcul donne la


valeur de l’argument pour le
rapport cyclique recherché. x est
la valeur du rapport
cyclique que vous souhaitez
donner au signal.

Utiliser un shield moteur

Comme nous l’avons vu


précédemment, réaliser un pont
en H demande quelques efforts
(surtout si vous désirez tout faire
vous mêmes ). Afin de rendre
ces derniers plus accessibles
aux personnes ayant moins de
moyens techniques (tout le
monde ne dispose pas du
matériel pour réaliser ses
propres cartes électroniques !),
l’équipe Arduino a développé et
mis en productions un shield
(une carte d’extension) pour
pouvoir utiliser facilement des
moteurs. Cette extension
possède ainsi tout ce qu’il faut
pour mettre en œuvre
rapidement un ou des moteurs.
La seule contrepartie est que les
broches à utiliser sont imposées.
Cependant, il existe une
multitude de shields moteurs non
officiels pouvant faire les mêmes
choses ou presque. L’avantage
de ces derniers est
indéniablement leur prix souvent
moins cher. En revanche, il n’est
pas toujours facile de trouver leur
documentation et le format de la
carte ne se soucie pas forcément
du "standard" Arduino (et n’est
donc pas forcément adaptable
en "s’ajoutant par dessus"
comme un shield officiel le
ferait). Je vais donc maintenant
vous présenter le shield officiel,
son fonctionnement et son
utilisation, puis ensuite un shield
non-officiel (acheté pas cher sur
le net) que je possède et avec
lequel je ferai mes
photos/vidéos. Vous devriez
alors avoir assez de
connaissances pour utiliser
n’importe quel shield non-officiel
que vous pourrez trouver. Les
deux shields présentés ont un
point commun : ils utilisent tous
les deux le L298 comme
composant pour les ponts en H.

Le shield officiel d’Arduino

Tout d’abord, voici l’adresse de


description de ce shield : le
shield moteur . Comme vous
avez bien lu la partie précédente
à propos du L298, vous
connaissez déjà la majeure
partie des choses à savoir. Parmi
elles, vous savez que le L298
nécessite trois broches de
"pilotage" (par pont intégré) et
envoie la puissance sur deux
broches (par moteur).
Éventuellement nous disposons
aussi des deux "sondes de
courant" mais nous y
reviendrons plus tard. Voici un
petit synoptique de résumé que
je vous ai concocté pour
l’occasion :
Ÿ

Le shield moteur officiel en


image

Voici comment il fonctionne et les


quelques précautions
d’utilisation.

Ÿ L’alimentation de puissance sur


les borniers à visser à gauche
est reliée à l’Arduino et peut
donc lui servir de source
d’alimentation. Si vous voulez
dédier cette alimentation à la
carte moteur, il faut donner un
coup de cutter sur le strap
marqué Vin en dessous de la
carte

Ÿ Les entrées/sorties du shield


sont reliées à l’Arduino de la
manière
suivante :

FonctionBroches mot. ABroches


mot.
BDirection1213PWM311Frein98
Mesure de courantA0A1

Entrées/sorties du shield

La mesure de courant se fait sur


les broches A0 et A1. Si vous
avez besoin de ces broches pour
d’autre applications, vous pouvez
là encore désactiver la fonction
en coupant le strap en dessous
de la carte. Sinon, la mesure se
fera simplement avec la fonction
porte logique OU Exclusif, on
peut déactiver la fonction de
"frein" tout en gardant celle du
sens. Grâce à cela, on peut se
limiter à seulement deux broches
pour commander chaque
moteur : celle du sens et celle de
la vitesse. Voici comment ils ont
fait : Tout
d’abord, regardons la table de
vérité du OU EXCLUSIF. Cette
dernière s’interprète comme suit :
"La sortie est à 1 si une des deux
entrées uniquement est à 1".
Sous forme de tableau on obtient
ça:

Entrée AEntrée
BSortie000101011110

Le OU Exclusif (XOR)

Maintenant rappelez-vous, les


conditions de freinage étaient
justement représentées lorsque
les deux entrées du pont étaient
au même niveau. En couplant
intelligemment le résultat de
cette porte logique et les entrées
de pilotage, on peut décider oui
ou non d’avoir la fonction de
frein. Afin de mieux comprendre,
je vous invite à consulter cet
extrait du schéma technique du
shield :
Ÿ

Astuce de pilotage du moteur

Grâce à ce montage, vous


pouvez choisir ou non d’avoir un
mode de frein sur vos moteurs.
Si vous préférez avoir deux
broches disponibles et ne pas
avoir de frein (juste une roue
libre lorsque la PWM est à 0),
alors il vous suffira une fois de
plus de couper les straps en
dessous de la carte.
N’ayez pas peur d’avoir des
regrets ! Si vous coupez un
strap, vous pourrez toujours le
remettre en ajoutant un petit
point de soudure pour relier les
deux pastilles prévues à cet
effet. Le mieux
aurait été d’avoir la possibilité de
mettre des cavaliers que l’on
enlève à la main, mais bon, c’est
comme ça.

Vous savez maintenant tout à


propos de ce shield. Je vais
maintenant vous en présenter un
non-officiel et ensuite nous
passerons à un petit
montage/code d’exemple pour
finir ce chapitre.

Mon shield non-officiel

Maintenant que vous connaissez


le fonctionnement global du
shield officiel, vous allez pouvoir
utiliser sans problème la plupart
des shields moteurs. Afin de ne
pas faire de publicité pour un site
ou un autre, je vais vous
présenter mon shield qui vaut
aussi bien qu’un autre (mais pas
forcément mieux). Il n’y a aucun
parti pris, j’ai acheté ce dernier
afin de profiter de
tarif intéressant lors d’une
commande avec d’autres
composants. Si j’avais été
uniquement à la recherche d’un
shield moteur, j’en aurais peut-
être pris un autre qui sait ! Bref,
assez de ma vie, passons à
l’étude du module ! Afin de bien
commencer les choses, je vais
d’abord vous montrer une photo
d’identité de ce dernier. Ensuite
je vous expliquerai où sont les
broches qui nous intéressent et
ferai un parallèle avec le shield
officiel. Les deux étant basés sur
un L298 l’explication sera assez
rapide car je n’ai pas envie de
me répéter. Je ferai néanmoins
un petit aparté sur les différences
(avantages et inconvénients)
entre les deux.
Ÿ

Le shield moteur étudié

Voici une petite liste des points


importants :

Ÿ À gauche en jaune : les entrées


de
commande. EnA, In1, In2 pour
le moteur A ; EnB, In3, In4 pour
le moteur B. On trouve aussi une
broche de masse et une sortie
5V sur laquelle je reviendrai.

Ÿ En bas
en vert différents jumpers (des
cavaliers si vous préférez ) pour
activer des résistances de pull-
down (force une entrée/sortie à
l’état bas) et câbler la mesure de
courant de sortie des ponts

Ÿ À droite en bleu, les bornes pour


brancher les moteurs A et B
(respectivement en haut et en
bas) et au milieu le bornier pour
amener l’alimentation de
puissance (et une entrée ou
sortie) de 5V

Au milieu on retrouve le L298


avec de chaque côté (en haut et
en bas) les diodes de roue libre
pour chaque moteur. Une petite
précision s’impose par rapport à
ce shield. La carte embarque un
régulateur 5V (le petit bloc noir
en haut à gauche marqué
78M05). Ce dernier peut être
utilisé ou non (Activez-le avec le
jumper
vert juste à coté). Si vous le
laissez activé, c’est lui qui
fournira l’alimentation pour la
logique du L298. Si vous le
désactivez, vous devrez fournir
vous-même le 5V pour la
logique. Dans tous les cas, il
vous faut relier les masses
puissances et logiques entre
Arduino et le shield afin d’avoir
un référentiel commun. Si vous
l’activez, alors vous obtiendrez
une sortie de 5V sur le bornier
bleu à droite (utile pour alimenter
l’Arduino par exemple). Si vous
le désactivez, alors vous devrez
fournir le 5V (et donc le bornier
bleu devra être utilisé comme
une entrée). Ce shield n’est en
fait qu’une simple carte
électronique disposant du L298
et facilitant l’accès à ses
broches. Le fonctionnement se
fait exactement comme nous
l’avons vu dans le chapitre
précédent, lorsque je vous
présentais le L293 et L298 pour
la première fois. Pas de
facétie avec des portes logiques
pour gagner des broches. Ici,
tout est brut de décoffrage, on
commande directement le pont
en H. Il vous faudra donc trois
broches par moteur, deux pour
gérer la direction et le frein et
une (PWM) pour la vitesse.

Petit programme de test

Nous allons maintenant pouvoir


passer aux choses sérieuses :
l’utilisation du moteur avec
l’Arduino !

L’électronique
Pour cela, nous allons
commencer par câbler le shield.
En ayant la partie précédente
concernant le vôtre sous les
yeux, vous devriez pouvoir vous
en sortir sans trop de difficulté.
(Désolé, pas de
schéma ce coup-ci car le logiciel
que j’utilise ne possède pas
encore le shield moteur dans sa
base de données, faites donc
preuve d’imagination. )
Personnellement, je n’utiliserai
qu’un seul moteur (car dans
l’immédiat j’en ai qu’un sous la
main ). Je vais donc le brancher
sur les bornes bleues "Moteur A".
Ensuite, je vais relier les
différentes broches de
commande à mon Arduino. La
broche EnA sera reliée à une
sortie de PWM (dans mon cas la
broche 3) et les broches In1 et
In2 seront reliées à n’importe
quelles broches numériques (2 et
4 pour moi). Il ne nous reste plus
qu’à nous occuper de
l’alimentation. Tout d’abord, je
mets un fil entre la masse du
shield et celle de l’Arduino (pour
avoir un référentiel commun).
Comme ma carte possède son
propre régulateur de tension 5V,
pas besoin de l’amener depuis
Arduino. Enfin,
je relie les deux fils pour la
puissance. Dans mon cas ce
sera une alimentation 12V (400
mA max, wouhou) qui vient d’un
adaptateur allume-cigare (censé
fournir du 5V) que j’ai démonté
pour obtenir une source de 12V.
Je vous propose aussi de
rajouter un potentiomètre sur une
entrée analogique. De cette
façon nous allons pouvoir faire
varier la vitesse sans recharger
le programme . Et voilà, point de
vue électronique tout est prêt.
Voilà ce que ça donne chez moi
(un beau bazar , mais j’ai oublié
le potentiomètre) :
Ÿ

Le montage avec le shield et


Arduino
L’informatique

Maintenant, nous allons devoir


nous occuper du code et comme
toujours, nous commençons par
lister les variables concernant les
broches utilisées :

// la PWM pour la vitesse const


int enable = 3; // les broches de
signal pour le sens de rotation
const int in1 = 2; const int in2 =
4; // une entrée analogique (A0)
pour régler la vitesse
manuellement const int potar =
0;

Ces différentes broches seront


bien entendu des broches de
sortie (sauf l’analogique), donc
nous les déclarons comme telles
dans le setup() :

void setup() { pinMode(enable,


OUTPUT); pinMode(in1,
OUTPUT); pinMode(in2,
OUTPUT); // j'utilise la liaison
série pour verifier // la vitesse
définie par le potentiomètre
[Link](115200); // on
démarre moteur en avant et en
roue libre analogWrite(enable,
0); digitalWrite(in1, LOW);
digitalWrite(in2, HIGH); }

Un setup pour l’utilisation d’un


moteur à courant continu

Et voila, si vous exécutez le code


maintenant votre moteur sera…
arrêté ! Eh oui, j’ai
volontairement mis une vitesse
nulle à la fin du setup() pour
éviter que le moteur ne s’emballe
au démarrage du programme.
Mais si vous changez cette
dernière (mettez 50 pour voir)
vous verrez votre moteur se
mettre à tourner. Nous allons
donc rajouter un peu
d’interactivité, pour que vous
puissiez vous-même
augmenter/diminuer la vitesse en
fonction
de la valeur lue sur le
potentiomètre :

void loop() { // on lit la valeur du


potentiomètre int vitesse =
analogRead(potar); // division de
la valeur lue par 4 vitesse /= 4; //
envoie la nouvelle vitesse sur le
moteur analogWrite(enable,
vitesse); // on affiche la vitesse
sur le moniteur série
[Link](vitesse);
delay(50); }

Utilisation basique d’un moteur à


courant continu

Mais pourquoi tu divises la


vitesse par 4 à la ligne 5 ? Je
veux aller à fond moi !

C’est très simple. La lecture


analogique nous renvoie une
valeur entre 0 et 1023 (soit 1024
valeur possibles). Or la fonction
analogWrite ne peut aller
qu’entre 0 et 255
(total de 256 valeurs). Je divise
donc par 4 pour rester dans le
bon intervalle !
Car : 4×256=10244×256=1024.

Programme plus élaboré

Maintenant, je vous fais cadeau


d’un code vous permettant d’aller
dans les deux sens et à vitesse
variable. Mais, je vous conseille
d’essayer de le faire par vous-
même avant de regarder ce qu’il
y a dans la balise secret. Le
potentiomètre est utilisé comme
régulateur de vitesse, mais on va
virtuellement décaler l’origine.
Autrement dit, entre 0 et 511
nous irons dans un sens, et entre
512 et 1023 nous irons dans
l’autre sens. Nous ferons aussi
en sorte que la vitesse soit de
plus en plus élevée lorsque l’on
"s’éloigne" du 0 virtuel (de la
valeur 512 donc). Je vous donne
le code tel quel (avec des
commentaires
bien sûr). Libre à vous de le
traiter comme un exercice. À sa
suite, une petite vidéo du
résultat.

Afficher/Masquer le contenu
masqué

Bravo à ceux qui ont essayé de


faire ce programme, même s’ils
n’y sont pas arrivé ! Dans ce
dernier cas, vous pouvez aller
voir sur les forums et poser vos
éventuelles questions après
avoir vérifié que vous avez bien
tout essayé de
comprendre. Voilà la vidéo qui
montre le fonctionnement du
programme :
[Link]
v=K1NRLzt_zSI

Désolé pour la qualité de la


vidéo, il faut vraiment que je
change d’appareil…
Vous savez désormais comment
fonctionne un moteur à courant
continu et quels sont les moyens
de le piloter. Il va dorénavant être
possible de vous montrer
l’existence de moteurs un peu
particuliers qui se basent sur le
moteur à courant continu pour
fonctionner. Et vous allez voir
que l’on va pouvoir faire plein de
choses avec !

Ÿ Le mouvement grâce aux


moteurs

Ÿ Un moteur qui a de la tête : le


Servomoteur

Zeste de Savoir •
Version : v31/c0cef18
Ÿ API

Ÿ CGU

Ÿ Crédits techniques

Ÿ L’association
Ÿ Adhérer
Ÿ Contact

Ÿ Les cookies

Vous aimerez peut-être aussi