🛠 Configuración avanzada y validación del bus I2C

Unidad de control de motor con encoder M5Stack (DRV8837DSGR) · avance · Apprenez à configurer l'adresse I2C personnalisée et à valider la communication avec le DRV8837DSGR via le registre de statut.

Objetivos

Este tutorial está dirigido a usuarios avanzados que desean ir más allá de la configuración predeterminada. El objetivo es modificar la dirección I2C de la unidad Encoder Motor Driver (DRV8837DSGR) para evitar conflictos en el bus, y luego verificar la comunicación de bajo nivel leyendo los registros internos. Confirmaremos que el microcontrolador STM32G031G8U6 responde correctamente a las solicitudes y que el puente en H DRV8837DSGR está inicializado.

Material Necesario

Pasos

  1. Conexión de Hardware: Conecte la unidad a su placa a través del conector Grove o los pines I2C. Asegúrese de que SDA y SCL estén correctamente cableados. Conecte la alimentación DC (6-12V) al puerto dedicado. El regulador interno convertirá esto a 5V para el motor y la interfaz.
  1. Escaneo I2C Inicial: Antes de la configuración, escanee el bus para detectar la dirección predeterminada 0x2F. Utilice un código de escaneo I2C estándar para confirmar la presencia de la unidad.
  1. Configuración de Dirección: Para cambiar la dirección (rango 0x08 a 0x77), envíe un comando específico al registro de configuración. Usando la biblioteca M5Stack o comandos I2C crudos, escriba la nueva dirección en el registro de identificación. Tenga en cuenta que este cambio persiste después del reinicio.
  1. Inicialización del Controlador: Envíe un comando de inicialización para activar el puente en H DRV8837DSGR. Verifique que el circuito de detección de corriente INA199A esté activo leyendo el registro de estado correspondiente.
  1. Prueba de Comunicación: Envíe un comando de rotación lenta (PWM bajo) y lea los datos del codificador AB (3-15 PPR) para validar el flujo de datos bidireccional.

Verificación

Utilice un analizador lógico para observar los fotogramas I2C. Debería ver la dirección configurada respondiendo a las solicitudes de lectura. El LED RGB WS2812C puede programarse para parpadear al recibir comandos válidos, ofreciendo una confirmación visual inmediata de la actividad del bus.

Para Ir Más Allá

Explore el control de posición en lazo cerrado configurando los PID a través de registros avanzados. Pruebe la protección contra sobrecorrientes bloqueando manualmente el motor para observar la reacción del circuito INA199A.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales