closed-loop-speed-control.ino
Configures motor channel 1 in automatic speed regulation mode using integrated encoder data.
Requires the M5Stack_MotorDriverUnit library. The module uses encoder pulses to adjust PWM in real-time. Ensure the motor has an encoder connected to the PH2.0-6P connector.
closed-loop-speed-control.ino
#include <M5Stack_MotorDriverUnit.h>
M5Stack_MotorDriverUnit motorDriver;
void setup() {
M5.begin();
if (!motorDriver.begin()) {
Serial.println("Motor Driver Unit not found!");
while (1);
}
// Configurer le canal 1 pour le contrôle en boucle fermée (vitesse)
motorDriver.setMode(1, MODE_SPEED);
motorDriver.setSpeed(1, 50); // Objectif : 50% de la vitesse max
}
void loop() {
// Le module gère la régulation PID en interne via les données de l'encodeur
// Lecture optionnelle de la vitesse actuelle
int currentSpeed = motorDriver.getSpeed(1);
Serial.printf("Motor 1 Current Speed: %d\n", currentSpeed);
delay(1000);
}