tao_z
2021-06-24 bc6c916bff0b8d342c1cd62da73a2a09f18d22a8
USR/INC/motor.h
@@ -1,6 +1,6 @@
#ifndef MOTOR_H
#define MOTOR_H
#include ""
#include "gd32e23x_exti.h"
/* µç»ú¿ØÐýתʵÏֽṹÌå */
#define SPEED_FILTER_NUM 30 // ËÙ¶ÈÂ˲¨´ÎÊý
@@ -16,16 +16,25 @@
/* ÀۼƠTIM_Period¸öºó²úÉúÒ»¸ö¸üлòÕßÖжϠ     
   µ±¶¨Ê±Æ÷´Ó0¼ÆÊýµ½65535£¬¼´Îª65535´Î£¬ÎªÒ»¸ö¼ÆÊýÖÜÆÚ */
#define HALL_PERIOD_COUNT (0xFFFF)
/* Í¨ÓÿØÖƶ¨Ê±Æ÷ʱÖÓÔ´TIMxCLK = HCLK = 72MHz
    É趨¶¨Ê±Æ÷ƵÂÊΪ = TIMxCLK / (PWM_PRESCALER_COUNT) / PWM_PERIOD_COUNT = 9.987Hz
   ÖÜÆÚ T = 100ms */
#define SPEED_PRESCALER_COUNT (6400u)
#define SPEED_PERIOD_COUNT (300u)
/* Í¨ÓÿØÖƶ¨Ê±Æ÷ʱÖÓÔ´TIMxCLK = HCLK = 64MHz
    É趨¶¨Ê±Æ÷ƵÂÊΪ = TIMxCLK / (SPEED_PRESCALER_COUNT) / SPEED_PERIOD_COUNT = 33.333Hz
   ÖÜÆÚ T = 30ms */
#define HALL_PRESCALER_COUNT (110)
#define HALL_A_EXTI (EXTI_4)
#define HALL_B_EXTI (EXTI_5)
#define HALL_C_EXTI (EXTI_15)
extern void HAL_HallExti_TriggerCallback(void);
#define MOTOR_OUT_CH_U (TIMER_CH_1)
#define MOTOR_OUT_CH_V (TIMER_CH_0)
#define MOTOR_OUT_CH_W (TIMER_CH_2)
#endif
extern void HAL_HallExti_TriggerCallback(void);
extern void BLDC_SpeedAndPID(void);
extern float get_motor_speed(void);
void hall_enable(void);
void hall_disable(void);
void set_pwm_pulse(uint16_t pulse);
#endif