relative-position-move.ino

Unit 4-Encoder Motor Driver (DRV8837DSGR) · Archivo : relative-position-move.ino · Lenguaje : arduino · Uso : Déplacer un moteur d'un nombre précis de pas (positionnement relatif) pour un bras robotique.

Usa el modo de posición para mover el motor 2 1000 pasos relativos, útil para un control preciso de articulaciones.

El módulo calcula la distancia basada en los ticks del codificador. La función isBusy() permite sincronizar el código principal con el final del movimiento físico. Verifique el sentido de rotación según el cableado.

relative-position-move.ino

#include <M5Stack_MotorDriverUnit.h>

M5Stack_MotorDriverUnit motorDriver;

void setup() {
  M5.begin();
  motorDriver.begin();
  // Mode Position (Boucle fermée sur l'encodeur)
  motorDriver.setMode(2, MODE_POSITION);
  // Déplacer le moteur 2 de 1000 pas dans le sens horaire
  motorDriver.moveRelative(2, 1000, 30); // 30% de vitesse max
}

void loop() {
  // Attendre que le mouvement soit terminé
  while (motorDriver.isBusy(2)) {
    delay(10);
  }
  Serial.println("Move completed.");
  delay(2000);
  // Revenir à la position initiale
  motorDriver.moveRelative(2, -1000, 30);
  while (motorDriver.isBusy(2)) delay(10);
}

← Volver a la ficha