33 lines
977 B
C
33 lines
977 B
C
#ifndef MOTOR_CONTROLLER_H
|
|
#define MOTOR_CONTROLLER_H
|
|
|
|
#include "stm32f0xx_hal.h"
|
|
#include "stm32f0xx_hal_def.h"
|
|
#include "stm32f0xx_hal_tim.h"
|
|
|
|
typedef struct {
|
|
TIM_HandleTypeDef* Driver_PWM_TIM;
|
|
uint32_t U_Phase_TIM_Channel;
|
|
uint32_t V_Phase_TIM_Channel;
|
|
uint32_t W_Phase_TIM_Channel;
|
|
} Cont_Mot_PWMInterface_TypeDef;
|
|
|
|
typedef struct {
|
|
uint32_t rpm_rated_speed;
|
|
uint32_t mA_rated_current;
|
|
uint8_t num_poles;
|
|
uint16_t v_rated_voltage;
|
|
uint16_t w_rated_power;
|
|
float vkrpm_bemf_constant;
|
|
uint32_t Nmm_rated_torque;
|
|
} Electrical_Specs_TypeDef;
|
|
|
|
typedef struct {
|
|
Cont_Mot_PWMInterface_TypeDef PWM_Interface;
|
|
Electrical_Specs_TypeDef Electrical_Specs;
|
|
} Motor_TypeDef;
|
|
|
|
void BLDC_PWM_Init(Cont_Mot_PWMInterface_TypeDef* PWM_Interface);
|
|
void BLDC_Loop();
|
|
|
|
#endif |