🛠 Control de Motor con PWM y ADC en HPM5100
Objetivos
Este tutorial explica cómo configurar el HPM5100 para controlar un motor DC o BLDC utilizando la sincronización por hardware entre los temporizadores PWM y los convertidores analógico-digitales (ADC). El objetivo es implementar un bucle de control de corriente o velocidad con latencia mínima, aprovechando las capacidades DSP del núcleo RISC-V de 400 MHz.
Materiales necesarios
- Placa de desarrollo HPM5100 (HPM5151)
- Carga resistiva o pequeño motor DC
- Osciloscopio o analizador lógico (opcional)
- Cables de conexión
- SDK HPM v1.13.0 instalado
Pasos
- Inicialización de reloj: Configure el sistema de reloj para que el núcleo RISC-V funcione a 400 MHz. Los periféricos PWM y ADC deben estar alimentados por fuentes estables para evitar el jitter.
- Configuración de PWM: Utilice los 32 canales PWM. Configure un temporizador PWM en modo centrado para generar señales complementarias necesarias para los puentes en H. Habilite los eventos de disparo para el ADC.
- Configuración de ADC SAR: Active uno de los cuatro ADC SAR de 16 bits. Configure el canal para leer la corriente del motor a través de una resistencia shunt. Defina el disparo en el evento de fin de período PWM para muestrear en el punto medio del pulso.
- Implementación del bucle de control: En el archivo principal, cree una rutina de servicio de interrupción (ISR) vinculada al fin de la conversión ADC. Lea el valor bruto, conviértalo a corriente real y calcule el error respecto al punto de consigna (PID). Actualice el registro de comparación PWM.
- Seguridad y Depuración: Habilite los comparadores de hardware si están disponibles para cortar el PWM en caso de sobrecorriente detectada en el ADC, asegurando una protección rápida por hardware.
Verificación
Abra una consola serie vía UART a 115200 baudios. Muestre los valores de corriente leídos por el ADC en tiempo real. Use un osciloscopio para verificar que los flancos de subida del PWM están sincronizados con los muestreos ADC. La estabilidad de las lecturas bajo carga indica un funcionamiento correcto.
Para ir más allá
Explore el uso de amplificadores operativos internos configurables como PGA para amplificar la señal de shunt antes del ADC, mejorando así la resolución efectiva de la corriente medida.