BoooomFOC_STSPIN32G4_EVB/BoooomCTL/Controller/Controller.c

30 lines
747 B
C
Raw Normal View History

2024-05-08 03:04:20 +08:00
//
// Created by ZK on 2023/3/14.
//
2024-05-10 02:39:53 +08:00
//#include "main.h"
#include <stdbool.h>
2024-05-08 03:04:20 +08:00
#include "Controller.h"
2024-05-10 02:39:53 +08:00
#include "SVPWM/SVPWM.h"
tFOC FOC;
float uAlpha1;
float uBeta1;
bool Generate(float ud, float uq, float Theta) {
inversePark(ud, uq, Theta, &uAlpha1, &uBeta1);
if (0 == SVPWM(uAlpha1, uBeta1, &FOC.dtc_a, &FOC.dtc_b, &FOC.dtc_c)) {
// set_a_duty((uint16_t)(Foc.dtc_a * (float) HALF_PWM_PERIOD_CYCLES));
// set_b_duty((uint16_t)(Foc.dtc_b * (float) HALF_PWM_PERIOD_CYCLES));
// set_c_duty((uint16_t)(Foc.dtc_c * (float) HALF_PWM_PERIOD_CYCLES));
// TIM1->CCR1 = (uint16_t) FOC.dtc_a;
// TIM1->CCR2 = (uint16_t) FOC.dtc_b;
// TIM1->CCR3 = (uint16_t) FOC.dtc_c;
}
return FOC.dtc_a;
}
2024-05-08 03:04:20 +08:00