🛠 Introducción al control de motores con PWM

HPMicro HPM5100: Microcontrolador RISC-V de 400 MHz para control de motores y adquisición analógica · debutant · Apprenez à générer des signaux PWM sur le HPM5100 pour piloter la vitesse d'un moteur CC.

Objectifs

Este tutorial le guía en la configuración del módulo PWM del HPM5100 para controlar la velocidad de un motor de corriente continua. Aprenderá a utilizar los 32 canales PWM disponibles y entenderá el principio de la modulación de ancho de pulso. Es una excelente introducción a las capacidades de gestión de motores del microcontrolador RISC-V.

Matériel nécessaire

Étapes

``c pwm_config_t config = { .period = 20000, // Ejemplo de periodo .pulse = 10000, // 50% de ciclo de trabajo }; pwm_set_config(HPM_PWM1, &config); pwm_enable(HPM_PWM1, PWM_CHANNEL_0, true); ``

``c while(1) { for(int duty = 0; duty <= 100; duty+=5) { pwm_set_duty(HPM_PWM1, PWM_CHANNEL_0, duty, 100); delay_ms(100); } // Invertir dirección de variación si es necesario } ``

  1. Conexión de hardware : Conecte el pin de salida PWM del HPM5100 a la puerta (Gate) del transistor MOSFET. Conecte el drenaje del MOSFET al polo positivo del motor. La fuente del MOSFET va a Tierra (GND). El otro polo del motor va a la alimentación positiva externa. No olvide el diodo de rueda libre en paralelo con el motor.
  2. Configuración del proyecto : Abra su IDE (ej. VS Code con plugin HPM) y cree un nuevo proyecto basado en la plantilla drivers/pwm.
  3. Inicialización del PWM : En su código C, inicialice el periférico PWM. El HPM5100 tiene temporizadores sincronizados. Configure la frecuencia de conmutación (ej. 20 kHz para evitar ruido audible).
  4. Bucle principal : Modifique dinámicamente el valor de pulse para cambiar la velocidad. Use una variable que aumente y disminuya progresivamente.
  5. Compilar y flashear : Compile el firmware con make y flashee la tarjeta vía USB.

Vérification

Observe el motor. Debe arrancar lentamente, acelerar hasta su velocidad máxima y luego reducir la velocidad. Si usa un LED, debe iluminarse gradualmente sin parpadeo visible. Si está disponible, verifique con un osciloscopio que la señal sea cuadrada y estable a 20 kHz.

Pour aller plus loin

Explore funciones avanzadas como el modo complementario para puentes en H, o use FreeRTOS para crear una tarea de control de velocidad regulada por retroalimentación mediante los ADC de 16 bits integrados.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales