Note
Bonjour, bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez au cœur de Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques grâce à l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des conseils et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et à des aperçus privilégiés.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et concours : Participez à des concours et des promotions durant les fêtes.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
Leçon 4 : Maîtriser le moteur TT
Dans les leçons précédentes, nous avons exploré les rovers martiens et leurs systèmes de suspension. Dans ce cours passionnant, nous allons explorer le fonctionnement des moteurs, un composant clé qui entraîne les rovers martiens.
Note
Si vous suivez ce cours après avoir entièrement assemblé le GalaxyRVR, vous devez déplacer cet interrupteur vers la droite avant de téléverser le code.
Objectifs du cours
Comprendre les principes de base des moteurs et les caractéristiques du moteur TT.
Apprendre à contrôler la direction et la vitesse du moteur TT.
Comprendre comment le GalaxyRVR Shield contrôle six moteurs.
Matériel du cours
Carte SunFounder R3
Moteur TT
GalaxyRVR Shield
Batterie
Câble USB
Arduino IDE
Ordinateur
Étapes du cours
Étape 1 : Qu’est-ce qu’un moteur ?
Les moteurs font partie intégrante de notre vie quotidienne. Des ventilateurs électriques aux mixeurs en passant par les voitures électriques, les moteurs font bouger les choses !
Un moteur convertit l’énergie électrique en énergie mécanique. Le principe derrière un moteur est l’induction électromagnétique : lorsque l’électricité alimente un moteur, elle génère un champ magnétique qui interagit avec d’autres aimants à l’intérieur du moteur, le faisant tourner.
Le type de moteur utilisé dans notre GalaxyRVR est un moteur TT à engrenages. Il combine un moteur standard avec une série d’engrenages dans une coque en plastique, ce qui augmente le couple pour déplacer des charges plus lourdes.
Étape 2 : Explorer le fonctionnement du moteur
Si vous connectez un moteur directement à une batterie, il tourne. Inversez les connexions et il tourne dans la direction opposée ! Mais les broches de signal d’Arduino ne produisent qu’environ 20mA, ce qui est insuffisant pour entraîner un moteur. C’est là qu’intervient un driver de moteur - il prend le signal de commande à faible courant d’Arduino, l’amplifie et l’envoie au moteur.
Étape 3 : Comment le moteur est contrôlé par le driver
Le GalaxyRVR Shield sert de centre de contrôle. Il comporte six ports moteur répartis en deux groupes : trois ports « Left » contrôlés par une puce (broches 2 et 3), et trois ports « Right » contrôlés par une autre (broches 4 et 5).
1. Connexion du circuit : Insérez le Shield dans la carte R3, connectez un moteur et branchez la batterie.
2. Écriture du code :
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop() {
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
}
3. Logique de pilotage : La table de vérité du driver :
INA |
INB |
Moteur |
|---|---|---|
L |
L |
Veille |
L |
H |
Horaire |
H |
L |
Antihoraire |
H |
H |
Frein |
Étape 4 : Contrôle de la vitesse du moteur
La PWM (Modulation de Largeur d’Impulsion) permet de simuler une tension variable en commutant rapidement entre HIGH et LOW. Comme les broches 2-5 n’ont pas de PWM matérielle, nous utilisons la bibliothèque SoftPWM.
Installez
softpwmdepuis le LIBRARY MANAGER.
#include <SoftPWM.h>
const int in1 = 2;
const int in2 = 3;
void setup() { SoftPWMBegin(); }
void loop() {
SoftPWMSet(in1, 0);
SoftPWMSet(in2, 255);
}
La vitesse est une valeur entre 0 (arrêt) et 255 (pleine vitesse). Vous pouvez utiliser une boucle for pour augmenter progressivement la vitesse :
for (int i = 0; i <= 255; i++) {
SoftPWMSet(in2, i);
delay(100);
}
Étape 5 : Réfléchir et s’améliorer
Vous savez maintenant contrôler la direction et la vitesse des moteurs. Mettez-vous au défi : comment modifier la boucle for pour diminuer progressivement la vitesse ? Comment contrôler le moteur en accélération/décélération en sens antihoraire ?