Files
BLDC-Motor-Controller/Core/Inc/motor_controller.h
Adam Bissen fb42baa4c3 Add electrical specs to motor structs.
More #defines for PWM settings.
2025-10-05 15:06:14 -05:00

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