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 |