🛠 Control FOC de Motor BLDC en HPM5100
Objetivos
Este tutorial tiene como objetivo implementar un Control Orientado al Campo (FOC) en un motor BLDC aprovechando las capacidades analógicas integradas del HPM5100. La meta es reducir el costo de hardware utilizando amplificadores operacionales internos como amplificadores de detección de corriente, mientras se configuran los ADC SAR de 16 bits para un muestreo preciso a 2 MSPS. Sincronizaremos las conversiones ADC con las señales PWM generadas por los 32 canales disponibles para minimizar el ruido de conmutación.
Material Necesario
- Placa de desarrollo HPM5100 (paquete QFN o LQFP).
- Motor BLDC trifásico con sensor de posición o algoritmo sin sensor.
- Etapa de potencia MOSFET trifásica (ej. L6234 o medios puentes discretos).
- Fuente de alimentación externa de 12V/24V adecuada para el motor.
- Cableado de potencia y control de longitud corta.
Pasos
Configure dos de los cuatro amplificadores operacionales integrados en modo PGA (Amplificador de Ganancia Programable). Conecte las derivaciones de medición de corriente de las fases U y V a las entradas diferenciales. Ajuste la ganancia para que el voltaje máximo de la derivación corresponda a la escala completa del ADC (generalmente 3.3V o 1.8V según la referencia interna). ``c // Pseudocódigo de configuración SDK adc_configure_input(ADC_CH0, PGA_GAIN_10X); adc_configure_input(ADC_CH1, PGA_GAIN_10X); ``
- Configuración de Amplificadores Operacionales (PGA)
Configure tres pares de canales PWM (6 canales en total de los 32 disponibles) para generar señales complementarias con tiempo muerto para las tres fases. Establezca la frecuencia de conmutación en 20 kHz. Asegúrese de que el registro de sincronización global esté habilitado para alinear todos los contadores PWM.
- Inicialización de PWM
Configure los cuatro ADC SAR para que sean disparados por la señal de inicio del ciclo PWM. Esto garantiza que el muestreo de corriente ocurra en el centro del pulso PWM, donde el ruido de conmutación es mínimo. Habilite el modo de doble búfer para no perder muestras durante el procesamiento. ``c pwm_trigger_adc_enable(PWM_TIMER0); adc_set_trigger_source(ADC_TRIG_PWM0); ``
- Sincronización ADC-PWM
En la interrupción de fin de conversión ADC, lea los valores brutos. Aplique las transformaciones de Clark y Park para obtener los componentes Id e Iq. Utilice controladores PI para regular estas corrientes. Las salidas de los controladores se transforman mediante la transformación de Park inversa para generar voltajes de referencia. Estos voltajes se convierten en ciclos de trabajo para los canales PWM.
- Implementación del Bucle de Control
Verificación
Utilice un osciloscopio para verificar que las señales PWM son correctamente complementarias con el tiempo muerto aplicado. Trace las corrientes de fase mediante salidas DAC (si están disponibles) o un analizador lógico. Compruebe que la rotación del motor es suave y que la velocidad responde a los puntos de consigna sin oscilaciones excesivas. Verifique que el modo de alto rendimiento (480 MHz) esté habilitado si es necesario para el cálculo rápido de FOC.
Para Ir Más Allá
Explore el uso de comparadores analógicos para protección por hardware contra sobrecorrientes. Implemente el arranque sin sensor inyectando señales HF. Pruebe Secure Boot para proteger el algoritmo de control.