🛠 Premier branchement et initialisation du module 4-Encoder Motor Driver
Objectifs
Ce tutoriel vise à réaliser le premier démarrage sécurisé du module 4-Encoder Motor Driver Unit. Contrairement aux modules simples, ce dispositif intègre un microcontrôleur STM32F030C8T6 et quatre ponts en H DRV8837DSGR. L'objectif est de valider la chaîne d'alimentation, la communication I2C et l'intégrité des encodeurs avant toute commande de mouvement. Nous aborderons la gestion des tensions externes et la configuration de l'adresse I2C.
Matériel nécessaire
- Module M5Stack 4-Encoder Motor Driver Unit.
- Une source d'alimentation DC externe (6V à 12V), idéalement une batterie LiPo 3S ou une alimentation à courant limité.
- Un contrôleur hôte compatible I2C (ex: M5Stack Core2, ESP32 ou Arduino).
- Un moteur à engrenages 6 fils ou type TT avec encodeur (3-15 PPR).
- Câbles Grove HY2.0-4P et connecteurs PH2.0-6P.
- Multimètre pour vérifier les tensions.
Étapes
- Préparation de la source d'alimentation : Le module accepte une entrée DC de 6 à 12V. Ne branchez jamais une tension supérieure à 12V. Pour un premier test, utilisez une alimentation réglable à 7,4V (2S LiPo) pour limiter le courant de démarrage. Vérifiez la polarité sur le connecteur d'alimentation externe.
- Connexion du moteur : Connectez un moteur à engrenages 6 fils sur le connecteur PH2.0-6P n°1. Respectez le brochage standard : deux fils pour le moteur (OUT1/OUT2), deux fils pour l'alimentation de l'encodeur (VCC/GND) et deux fils pour les signaux d'encodeur (A/B). Une inversion des fils moteur est sans risque, mais une inversion des fils encodeur inversera le sens de lecture.
- Connexion à l'hôte : Reliez le module au contrôleur via un câble Grove HY2.0-4P. Ce port transporte l'I2C (SDA/SCL) et le 5V. Le module dispose d'un convertisseur DC-DC interne fournissant jusqu'à 5V @ 8A, mais assurez-vous que votre hôte est correctement alimenté indépendamment si nécessaire.
- Vérification matérielle : Avant d'envoyer des commandes, utilisez un multimètre pour vérifier la présence de 5V sur les broches VCC du connecteur Grove. Vérifiez également que la LED RGB WS2812C s'allume (elle peut clignoter ou rester éteinte selon le firmware initial).
- Scan I2C : Lancez un scan I2C sur votre hôte. L'adresse par défaut est 0x24. Si le module ne répond pas, vérifiez les connexions SDA/SCL et la mise à la terre commune. L'adresse est configurable entre 0x08 et 0x77, mais nécessite une commande spécifique une fois la communication établie.
Vérification
- La LED RGB doit réagir aux commandes de test (si le firmware le permet).
- Le scan I2C doit détecter l'adresse 0x24.
- La rotation manuelle du moteur doit modifier les valeurs de l'encodeur lues via I2C (commandes de lecture de registre).
Pour aller plus loin
Une fois la communication établie, explorez les modes de contrôle avancés comme la régulation de vitesse en boucle fermée. Vous devrez configurer les registres de PID via I2C pour compenser les écarts entre la consigne et la position réelle mesurée par les encodeurs.
Autres tutoriels pour cette carte
- Premier branchement et mise en route du Driver Moteur 4-Encoder
- Découverte des entrées-sorties : LED RGB et lecture d'encodeurs
- Automatiser un châssis robotique avec le Driver 4-Encoder
- Premier branchement et mise en route du 4-Encoder Motor Driver
- Pilotage GPIO et LED RGB sur le Driver Moteur 4-Encodeurs
- Automatisation et Boucle Fermée avec le Driver 4-Encoder
Exemples de code pour cette carte
i2c-motor-spin.inoarduinoclosed-loop-speed-control.inoarduinorelative-position-move.inoarduinorgb-led-status-indicator.inoarduinodifferential-drive-robot.inoarduinoi2c_basic_motor_control.pyPython