Un moteur pas à pas (stepper motor en anglais) permet de transformer une impulsion électrique en un mouvement angulaire.
On trouve trois types de moteur pas à pas :
Nous allons utiliser un moteur à aimant permanent -> 28BYJ-48
Les moteurs pas à pas sont utilisés pour les positionnements angulaires précis (imprimantes, scanners, disques durs …).
Les moteurs pas à pas possèdent de nombreux avantages. Ils sont bon marché et faciles à utiliser. Ils tiennent leur position, peuvent également tourner sans limites et changer de direction. La rotation peut être contrôlée de façon précise.
Il existe plusieurs types de moteurs : moteur à courant continu, moteur pas à pas ou servomoteur qui ont différentes qualités, on va voir quel moteur est adapté à quel type de projet.
Le servomoteur est un moteur qui tourne qu’à 180 degrés. C’est-à-dire qu’il ne pourra jamais faire un tour complet sur lui-même, il va soit faire 180 degrés dans un sens, ou bien 180 degrés dans l’autre sens. Il ne sera pas adapté pour des projets ou le moteur doit faire des tours complets comme faire tourner des hélices d’un hélicoptère. Néanmoins on peut contrôler la position du servomoteur très précisément sous forme d’angle, comme dans un moteur pas à pas.
Le moteur à courant continu lui peut tourner à 360 degrés. Il sera utile pour faire tourner des hélices ou bien faire avancer une voiture par exemple. Néanmoins on ne peut pas contrôler l’angle d’un moteur à courant continu, il ne sera pas utilisable pour des projets où l’on recherche de la précision.
Vous l’aurez compris, le moteur pas à pas est une sorte d’hybride entre le moteur à courant continu et le servomoteur. Il n’a pas les contraintes d’un servo moteur, c’est-à-dire qu’il peut faire un tour sur lui-même. De plus, il permet d’être contrôlé avec un angle précis, pas comme un moteur à courant continu. Néanmoins les moteurs pas à pas ne peuvent pas tourner à des vitesses très importantes.
Dans ce cours nous utiliserons un moteur à aimant permanent : 28BYJ-48.
C’est un moteur 5 V donc nous n’avons pas besoin de d’alimentation externe pour le faire fonctionner. Néanmoins d’autre moteur pas à pas doivent être alimenté en 12 V. Veiller donc à avoir une alimentation externe afin de pouvoir alimenter celui-ci.
Pour pouvoir faire tourner votre moteur pas à pas dans les deux sens, vous aurez besoin d’un pont en h qui va permettre d’inverser la tension à ses bornes. Pour cela vous avez deux possibilités :
Le pont en h fournit avec votre moteur pas à pas :
Le pont en h inclut dans la carte motorshield :
Pour le schéma, nous ne pouvons pas le représenter ici mais il faut bien que les deux fils d’alimentation soit séparé de deux broches sur les 4 avec le fils + proches des résistances et l’autre à l’opposé des deux autres broches.
Une bibliothèque existe pour contrôler le mouvement des moteurs pas à pas : Stepper.h. Mais il est également possible de les contrôler sans librairie.
Voici un programme qui vous permet d’utiliser un stepper moteur sans librairie. On vous a mis en commentaire les lignes que vous devez changer pour
Vous avez en gris dans le code ce qu’il faut ajouter pour faire fonctionner le même programme sans la librairie.
Voici le programme sans la librairie :
Pour le schéma, c’est exactement le même que celui avec librairie.
On va maintenant voire comment contrôler un stepper moteur avec une carte motorshield.
Voici le code sans librairie permettant de faire tourner le moteur dans le sens anti-horaire :
Ci-contre le schéma associé au code.
Comme vous pouvez voir vous n’avez pas besoin de la borne rouge.
Je pense que vous avez tous vu des circuits ou l’on modifie la vitesse d’un moteur à courant continu avec un potentiomètre. Dans ce cas ce ne sera pas possible car entre le moteur pas à pas et la carte arduino uno il y a un pont en h.
Le pont en h pour fonctionner à besoin d’une certaine tension et il se coupe quand on lui applique une tension trop faible.
Une des solutions au problème précédant est de faire varier la vitesse dans le programme du moteur pas à pas.
En reprenant le premier code de ce cours, on voit qu’il faut modifier cette ligne :
La plage réglable du pas à pas est de 0 à 17
Si on règle à 17 on est au plus vite et à 0 le moteur pas à pas ne tourne plus.