Dans ce cours on va étudier les moteurs dc (aussi appelé moteur à courant continu). C’est l’un des moteurs les plus utilisés pour convertir de l’énergie électrique en énergie mécanique.
Les moteurs DC possèdent la particularité de fonctionner dans les 2 sens, en fonction du sens du courant.
Nous verrons dans ce tutoriel comment inverser les bornes de celui-ci afin d’y inverser le sens.
Un moteur à courant continu est réversible, c’est-à-dire que l’on peut l’utiliser pour transformer de l’énergie électrique en énergie mécanique et inversement.
Le générateur de courant peut être souvent utiliser comme dynamo de vélo.
Pour faire tourner le moteur sans avoir besoin de le programmer, il faut le brancher sur le 5V et le GND de la carte Arduino.
Pour que le moteur tourne moins vite on peut le brancher sur le 3.3V.
Pour changer le sens de rotation du moteur, il suffit d’inverser les 2 câbles.
C’est plutôt simple et pratique de brancher le moteur ainsi, mais le problème c’est qu’on est toujours obligé de débrancher et rebrancher les câbles si on veut changer de sens. Ce n’est pas très pratique si on souhaite faire bouger le moteur d’une manière particulière ou de le contrôler avec des capteurs ou même une télécommande. Heureusement il existe une solution : l’utilisation du la carte moteur shield.
Le module moteur pour Arduino (« Arduino Motor Shield » en anglais) permet de contrôler facilement la direction et la vitesse d’un moteur grâce à l’Arduino.
La carte Motorshield que nous utilisons et que nous vous proposons dans le lien juste en dessous possèdent un module à 2 canaux. Ils permettent de contrôler 2 moteurs DC ou un moteur pas à pas. Néanmoins ce n’est pas le cas de toute les cartes Motorshield, dont certaines ne peuvent contrôler que deux moteurs à courant continu.
La carte motorshield pour arduino s’appose directement sur la carte arduino uno grâce à ses broches. Ceci est très pratique si vous avez une carte arduino Uno, car les pins correspondent parfaitement. Néanmoins si vous utiliser une carte arduino nano par exemple, vous allez avoir plus de mal à la connecter. On vous conseille alors d’utiliser le pont en H – L298N.
La carte moteur shield possède un pont en h permettant d’inverser la tension aux bornes du moteur afin de le faire changer de rotation.
Un pont en h est un système d’interrupteur s’ouvrant et se fermant afin de laisser passer le courant dans n’importe quel sens.
Il y a seulement 2 possibilités de fermeture des interrupteurs afin d’inverser la valeur du courant pour que le moteur change de sens :
Courant positif
Courant négatif
Tout ceci est géré par la carte motorshield et la librairie liée. Vous pouvez aussi faire varier la vitesse du moteur avec les broches pwm associées à la carte.
Le désavantage de la carte Arduino, est qu’elle peut contrôler le moteur que pour deux états : LOW qui correspond à 0V et HIGH qui correspond à 5V. Ainsi on ne peut pas avoir de tension intermédiaire pour faire varier la vitesse de notre moteur. La carte motor shield possède des pins appelé PWM permettant de faire varier la vitesse de notre moteur.
La PWM, appelé Pulse Width Modulation, va envoyer des impulsions de courant au moteur, avec des signaux ayant un état HIGH (5V) ou LOW (0V).
Le moteur est donc alternativement allumé et éteint mais le cycle est tellement rapide qu’on a l’impression que le moteur est allumé en permanence.
La carte motorshield possède de plus une alimentation externe pour supporter l’alimentation des moteurs. Vous pouvez brancher jusqu’à 12V dessus. Elle peut deliverer jusqu’a 2 ampères par moteur.
Pour les moteurs nécessitant du 9 volts, vous pouvez ajouter une alimentation externe 8 volts sur la carte motorshield.
La carte moteur shield sert à étendre les possibilités de la carte Arduino. Vous pouvez vous la procurer grâce à ce lien.
const int vitesseA = 3;
const int vitesseB = 11;
void setup() {
pinMode(vitesseA,OUTPUT);
pinMode(vitesseB,OUTPUT);
}
void loop() {
// Moteur A
digitalWrite(vitesseA,HIGH); // Allume le moteur
delay(5000);
digitalWrite(vitesseA,LOW); // On éteint le moteur
//Moteur B
digitalWrite(vitesseB,HIGH); // Allume le moteur
delay(5000);
digitalWrite(vitesseB,LOW); // On éteint le moteur
}
const int vitesseA = 3;
const int vitesseB = 11;
const int directionA = 12;
const int directionB = 13;
void setup() {
pinMode(vitesseA,OUTPUT);
pinMode(vitesseB,OUTPUT);
pinMode(directionA,OUTPUT);
pinMode(directionB,OUTPUT);
}
void loop() {
// Moteur A
digitalWrite(vitesseA,HIGH); // Allume le moteur
digitalWrite(directionA,HIGH); // Fait tourner le moteur dans une direction
delay(5000);
digitalWrite(directionA,LOW); // Fait tourner le moteur dansune direction
delay(5000);
digitalWrite(vitesseA,LOW); // Eteint le moteur
//Moteur B
digitalWrite(vitesseB,HIGH); // Allume le moteur
digitalWrite(directionB,HIGH); // Fait tourner le moteur dans une direction
delay(5000);
digitalWrite(directionB,LOW); // Fait tourner le moteur dans une direction
delay(5000);
digitalWrite(vitesseB,LOW); // Eteint le moteur
}
const int input_voltage = 9;
const int nominal_voltage = 5;
const int MAX_SPEED = int(nominal_voltage * 255 / input_voltage);// On définit la vitesse maximale du moteur par la vitesse à la tension nominale de celui-ci.
const int vitesseA = 3;
const int vitesseB = 11;
void setup() {
pinMode(vitesseA, OUTPUT);
pinMode(vitesseB, OUTPUT);
}
void loop() {
for (int i = 0; i < MAX_SPEED; i++) { //croissance de la vitesse jusqu’à la vitesse maximal
analogWrite(vitesseA, i); //Valeur de la vitesse pour le moteur A
delay(100);
}
for (int i =MAX_SPEED ; i > 0; i--) { // décroissance de la vitesse jusqu’à la vitesse maximal
analogWrite(vitesseA, i);
delay(100);
}
// Pareil pour le moteur B
for (int i = 0; i < MAX_SPEED; i++) {
analogWrite(vitesseB, i);
delay(100);
}
for (int i =MAX_SPEED ; i > 0; i--) {
analogWrite(speedB, i);
delay(100);
}
}
Un moteur à courant continu peut voir sa vitesse varier en lui ajoutant un potentiomètre. Pour cela, vous n’avez pas besoin de la carte motor shield (sauf si vous voulez que votre moteur tourne dans les deux sens).
Voici un exemple sans motor shield :
Voici le même circuit avec la carte motorshield :
En réalité, dans vos projets, vous aurez besoin d’un moto-réducteur. Un moto-réducteur est un moteur auquel on ajoute un réducteur afin d’adapter la vitesse et le couple en fonction des besoins.
Un réducteur est donc un système d’engrenage qui va vous permettre soit de démultiplier la vitesse, soit de la réduire.
Tout ceci dépend du projet que vous voulez entreprendre. La vitesse va vous permettre de vous déplacer plus rapidement. Mais vous aurez moins de couple donc vous pourrez déplacer des objets moins lourd ou bien il faudra que la contrainte sur les moteurs soit moindre si vous ne voulez pas que vos moteurs s’arrêtent.
Une autre différence entre un moteur qui va vite et un qui possède beaucoup de couple pour que vous compreniez bien. Un moteur qui a une vitesse importante vous pourrez l’arrêter avec vos deux doigts parce que le couple n’est pas important (Ne faites pas ça chez vous). Alors qu’au contraire, un moteur qui a beaucoup de couple et peu de vitesse, vous verrez le moteur tourner, néanmoins vous ne pourrez pas l’arrêter avec vos doigts.
En effet, le couple est lié à la vitesse de rotation du moteur avec la formule :
Avec P la puissance de sortie en watt, T le couple en newton-mètre, et W la vitesse angulaire en radians par seconde.
On peut donc voir qu’à puissance égale, si on augmente le couple, la vitesse va forcément être plus faible.
Voici 2 exemples qui vont vous permettre de mieux comprendre ce dont vous avez besoin :
Il va vous falloir quelques formules afin de calculer quelle vitesse vous voulez obtenir et quel poids peut supporter votre moteur. Pour cela, il vous faudra la rotation de votre dernier engrenage ou bien le rayon du pignon du moteur (r).
Voici la formule pour transformer des rotations par minutes en mètre par seconde :
Transformation de mètre par seconde en kilomètre par heure :
Voici la formule inverse pour passer de kilomètre par heure en rotation par minute :
Convertir des Newtons mètre en kilogramme par mètre :
Avec g= 9.80665 la constante de gravité.
Pour convertir des kilogrammes par centimètre en Newton par mètre :
En cherchant sur internet, vous verrez que les moteurs n’ont pas forcément le couple ou la vitesse que vous recherchez. En effet, le constructeur du moteur indique la vitesse et le couple pour la tension nominale du moteur.
La tension nominale d’un moteur est la vitesse et le couple prévu par le constructeur. Cette valeur est définie par rapport à la tension que le constructeur à définie pour son moteur. Néanmoins en modifiant cette tension vous pourrez aussi modifier la vitesse et le couple de celui-ci.
Une fiche technique constructeur (datasheet) est un graphique affichant une vitesse en fonction d’une tension pour déterminer pour quelles valeurs le moteur fonctionne le mieux.
On va maintenant prendre un exemple de fiche technique (datasheet) de moteur :
Ce schéma s’appelle un abaque. On peut voir ici que les courbes sont données pour une tension fixée, u=7,2 volts. En vérité, la tension est l’une des valeurs les plus faciles à faire varier afin d’obtenir la valeur du couple ou de la vitesse que vous souhaitez. Néanmoins l’abaque le principe de l’abaque reste le même.
La première chose que l’on peut voir et qui corroborent ce que l’on disait c’est que la vitesse est inversement proportionnelle au couple (torque). C’est-à-dire que plus le couple augmente (abscisse), plus la vitesse descend (courbe verte).
La courbe orange nous indique quand et à quelle tension le rendement est maximum. Ici on peut voir que le rendement maximum est d’environ 72 % pour une tension de 7,2 volts et un courant (courbe bleu) d’environ 0.8 ampère. La valeur de l’intensité n’est pas donnée, néanmoins on sait que la puissance de sortie est donnée par P= U*I avec une tension de 7,2 volts, et une intensité de I = 0.8 ampère ce qui donne une puissance de 6 watt.
On peut retenir de cet abaque que le moteur choisit à un rendement maximum de 70% et que si vous choisissez une valeur de tension à ses bornes de 7,2 V et une intensité de 0,8 A, vous obtiendrez le meilleur rapport entre tension et intensité d’entrée et valeur obtenue. Avec ces valeurs, vous pourrez avoir une vitesse de 9500 rotations par minute et un couple de 3 N.m. Donc si votre projet demande des valeurs proches de celle-ci vous avez choisi le bon moteur. Sinon on peut voir que le moteur peut aussi fournir un couple allant jusqu’à 12 N.m. Pour obtenir ce couple il vous faudra soit augmenter la tension et/ou l’intensité. Néanmoins comme ce moteur ne fonctionne plus à sa valeur nominale, son rendement sera amoindri et une partie importante de l’énergie électrique apportée sera transformée en chaleur par effet joule. Donc si vous cherchez un couple entre [2-4] N.M et une vitesse de [10 000 – 9000] rotations par minute alors vous avez le bon moteur.
Les moteurs sont souvent déjà livrés avec leurs réducteurs intégrés, donc il faudra chercher en amont ce dont vous avez besoin.
Si vous avez du mal à trouver un moteur correspondant aux bons nombres de rotation par minute et le bon couple, ou bien si vous avez déjà acheté votre moteur et vous vous rendez compte qu’il n’est pas adapté à votre projet. Pour cela vous pouvez ajouter des engrenages en sortie du moteur.
Le démultiplicateur est un système d’engrenage qui va vous permettre de multiplier la vitesse de sortie du moteur en réduisant le couple.
Le réducteur permet lui de réduire la vitesse afin d’augmenter le couple avec un système d’engrenage.
On va maintenant voir quel engrenage choisir afin de réaliser un démultiplicateur ou un réducteur.
Avant de savoir quel engrenage vous devez prendre il vous faut connaître le rapport de réduction ou démultiplication par lequel vous voulez multiplier votre vitesse. Si vous cherchez à augmenter le couple, il vous faudra alors un réducteur qui vous permettra de réduire la vitesse et donc d’augmenter le couple.
Pour la suite des explications, nous résonnerons en vitesse parce que c’est le plus simple pour faire un démultiplicateur ou un réducteur. Si vous cherchez à modifier le couple, il vous faudra alors convertir cette modification de couple en une modification de vitesse afin de pouvoir faire votre réducteur.
Calculer le rapport de réduction entre la vitesse entrante et la vitesse sortante :
Grâce à ce rapport de réduction, vous pourrez chercher des qui fera le lien entre votre moteur et votre projet.
La dynamo est un moteur à courant continu utilisée pour produire du courant. Le vrai nom d’une dynamo est un alternateur. Ceux utilisé sur les vélos sont des alternateurs 3 watts : 2,4 watts pour l’éclairage avant et 0,6 watt pour l’éclairage arrière.
Voici les avantages d’un alternateur :
Inconvénient :
L’alternateur que vous allez choisir dépends des composants que voulez faire fonctionner avec. En effet vous allez devoir calculer la puissance totale des composants en utilisant la formule P=U*I. Avec U la tension de votre composant et I l’intensité de celui-ci.
Il existe d’autres types de moteur tel que le moteur pas à pas, je vous invite à lire notre cours sur ce composant.