Leçon 8

Deux moteurs

Le servo-moteur

Servo veut dire esclave. Un servo-moteur peut tourner, mais surtout, il peut maintenir sa position. On pourra lui commander de se mettre à une position précise, il se positionne puis ne bouge plus.
Le servo-moteur que nous utiliserons ne peut tourner que d'un demi-tour, soit 180°. Il peut donc prendre 180 positions de 0° à 179°.
On pourra lui demander de se mettre à 30°, il ira à cette position et ne bougera plus.
On pourrait se servir d'un servo-moteur pour simuler le mouvement d'une pince d'un robot.
Pour positionner le servo-moteur à l'angle choisi on utilisera un potentiometre branché à une entrée analogique.

D'autre part pour convertir les signaux de l'entrée analogique allant de 0 à 1023 en un angle allant de 0° à 179° on utilisera la fonction de mappage.

Et enfin au moment où le sevo-moteur se met à tourner, il consomme plus de courant que s'il était déjà en mouvement.
Cela créera une chute de tension sur la carte. Pour remédier à cela on placera deux condensateurs entre l'alimentation et la masse du potentiomètre.
Un condensateur est un réservoir de tension électrique.
Attention à connecter la cathode (-) à la masse, côté marqué par une bande noire, et l'anode (+) à l'alimentation.
Si vous les placez à l'envers, ils peuvent exploser !!!!

Reproduire le montage ci-dessous et recopiez le code du script servoMoteur

Servo-moteur et bouton pousoir

Dans cet exercice, l'angle de rotation du servo-moteur dépendra du temps où le bouton poussoir sera enfoncé. Puis lors du relâchement du bouton poussoir reviendra à sa position initiale.
Reproduire le montage ci-dessous (la résistance utilisée est de 10 kΩ ) et recopiez le code du script BoutonServoMoteur.

Le moteur à rotation continue

Le servo-moteur,permet de réaliser des mouvements de rotation jusqu'à 180°. Mais s'il s'agit de réaliser un robot qui roule, un servo-moteur ne peut pas être utilisé pour la propulsion (ou la traction). Il nous faut donc utiliser un moteur qui peut tourner infiniment dans un sens ou dans l'autre.
C'est le moteur que nous allons étudier dans ce paragraphe.

Le transistor

Dans ce paragraphe nous souhaitons faire fonctionner le moteur via un bouton poussoir.
Mais entre le bouton poussoir et le moteur nous utiliserons un intérupteur électronique, autrement dit un intérupteur qui fonctionnera par commande venant de la carte arduino. Cet intérupteur est un transistor ou encore un MOFSET.

La diode

Lorsqu'on alimente un moteur, une bobine de cuivre crée un champ magnétique qui va mettre en rotation l'arbre, (l'axe du moteur).
L'inverse est aussi vrai : un moteur peut générer de l'électricité lorsqu'on tourne son arbre. Ainsi lorsqu'on coupe l'alimentation du moteur, il continue à tourner jusqu'à être immobile. Et lorsqu'il tourne, il génère une tension dans le sens contraire au courant qu'il a induit.
Cette tension inverse peut endommager le transistor. Pour empêcher ce retour on utilisera une diode .

Elle sera installée en parallèle avec le moteur. La diode ne laisse passer le courant que dans un seul sens, protégeant ainsi le circuit.

L'alimentation du moteur

Souvent la tension de la carte est insuffisante pour faire fonctionner le moteur . On va donc alimenter le moteur de manière indépendante en utilisant une pile de 9 v. Reproduire le montage ci-dessous et recopiez le code du script moteur.

Exercice 1

La broche 3 de l'Arduino permet une sortie digitale (elle est suivie d'une tilde (~)). On peut donc, remplacer l'instruction digitalWrite(pinMoteur,1) de la ligne 11 par analogWrite(pinMoteur,vitesse) où vitesse sera un entier compris entre 50 et 100.
Faire cette modification en choisissant une vitesse.

Exercice 2

Dans cet exercice la variable vitesse dépendra de la valeur d'un potentiomètre que vous aurez branché à la broche A0 de votre Arduino.
Modifier le montage ainsi que le script pour obtenir le résultat attendu.

Le pont en H

Le pont en H , ci-dessous, va permettre de faire tourner le moteur dans les deux sens.

Si les interrupteurs A et D sont fermés, le circuit ira dans un sens et le moteur aussi.
Si les interrupteurs B et C sont fermés, le circuit ira dans l'autre sens et le moteur aussi.

Pour envisager la connection de deux moteurs pour faire fonctionner deux roues par exemple nous alons utiliser un double pont en H par l'intermédiaire d'une puce électronique, la L293D.

La partie avec un détrompeur (encoche) est la partie haute.

La partie gauche commande le premier pont (demi-pont 1 et demi-pont 2) :

La partie droite commande le second pont (demi-pont 3 et 4) :

Dans cet exercice nous allons faire tourner un moteur dans un sens ou dans l'autre à une vitesse. Un bouton poussoir branché à la broche 4 de l'Arduino contrôlera le sens de rotation.
Puis un autre bouton poussoir branché à la broche 5 de l'Arduino allumera ou éteindra le moteur.
Nous utiliserons un potientiomètre branché à la broche A0 de l'Arduino pour ajuster la vitesse du moteur.

Brachement du circuit intégré

Recopiez le script ci-dessous

Branchez l'Arduino à l'ordinateur, puis la pile sur son connecteur et téléversez le script.

Exercice 3

Dans cet exercice nous ferons marcher deux moteurs sans potentiomètre.
On propose ci-dessous le branchement du L293D à l'arduino, ainsi que le code.