🛠 Première mise en route du Driver Moteur Encoder

Unité de pilotage moteur à encodeur M5Stack (DRV8837DSGR) · intermediaire · Apprenez à brancher, alimenter et initialiser l'unité DRV8837DSGR pour un premier test fonctionnel.

Objectifs

Ce tutoriel vise à réaliser le premier branchement physique et la mise sous tension de l'Encoder Motor Driver Unit (DRV8837DSGR) de M5Stack. Vous apprendrez à identifier les connecteurs, à fournir l'alimentation correcte et à vérifier la communication I2C initiale. À la fin, vous saurez si votre unité est fonctionnelle et prête pour le contrôle moteur.

Matériel nécessaire

Étapes

  1. Vérification des composants : Assurez-vous que l'unité n'a pas de dommages visibles. L'adresse I2C par défaut est 0x2F. Si vous changez l'adresse, notez-la immédiatement.
  2. Connexion du moteur : Branchez le moteur sur les bornes du moteur de l'unité. Pour un moteur à 6 fils, respectez le schéma de brochage standard (Phase A/B et Encodeur A/B). Pour un moteur TT, connectez les deux fils de puissance.
  3. Alimentation externe : Connectez votre source DC (6-12V) aux bornes d'alimentation externe (GND et VCC). L'unité convertira cela en 5V internes pour le moteur (max 1.2A).
  4. Liaison I2C : Connectez l'unité à votre carte maître via le port Grove. Assurez-vous que les lignes SDA et SCL sont correctement reliées. Ne connectez pas l'alimentation moteur avant d'avoir vérifié la liaison logique.
  5. Initialisation logicielle : Ouvrez l'IDE Arduino. Installez la bibliothèque M5Stack. Créez un nouveau projet. Incluez la bibliothèque M5Unified.h ou la lib spécifique au driver si disponible.
  6. Code de test : Écrivez un code minimal pour initialiser I2C et scanner le bus. Exemple de commande de base :
#include <Wire.h>
void setup() {
  Serial.begin(115200);
  Wire.begin();
  Serial.println("Scanning I2C...");
  for (byte i = 8; i < 120; i++) {
    Wire.beginTransmission(i);
    if (Wire.endTransmission() == 0) {
      Serial.print("Found address: ");
      Serial.println(i, HEX);
    }
  }
}
void loop() {}
  1. Téléversement : Compilez et téléversez le code sur votre carte maître.

Vérification

Ouvrez le moniteur série à 115200 bauds. Vous devriez voir l'adresse 0x2F s'afficher dans le scanner I2C. Si l'adresse apparaît, la communication est établie. La LED RGB WS2812C peut s'allumer brièvement au démarrage, indiquant une alimentation correcte. Si aucune adresse n'est trouvée, vérifiez les connexions SDA/SCL et l'alimentation.

Pour aller plus loin

Une fois la communication confirmée, explorez les modes de contrôle en boucle fermée. Testez la lecture de l'encodeur pour mesurer la vitesse réelle du moteur. Vous pouvez ensuite implémenter un PID simple pour maintenir une vitesse constante malgré les charges variables.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels