From 945ba42f7550d5a203e43d82b43ed82dc981d9e9 Mon Sep 17 00:00:00 2001 From: tao_z <tzj0429@163.com> Date: Wed, 30 Jun 2021 22:05:52 +0800 Subject: [PATCH] 霍尔输入中断正常,需要调试马达转动 --- USR/INC/motor.h | 38 +++++++++++++++++++++++++++++--------- 1 files changed, 29 insertions(+), 9 deletions(-) diff --git a/USR/INC/motor.h b/USR/INC/motor.h index 0ca8444..701ee7c 100644 --- a/USR/INC/motor.h +++ b/USR/INC/motor.h @@ -1,6 +1,7 @@ #ifndef MOTOR_H #define MOTOR_H -#include "" +#include "gpio.h" +#include "gd32e23x_exti.h" /* �������תʵ�ֽṹ�� */ #define SPEED_FILTER_NUM 30 // �ٶ��˲����� @@ -16,16 +17,35 @@ /* �ۼ� 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 (4800u) +#define SPEED_PERIOD_COUNT (30000u) +/* ͨ�ÿ��ƶ�ʱ��ʱ��Դ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) +#define HALL_C_EXTI (EXTI_5) +#define HALL_B_EXTI (EXTI_15) + +#define MOTOR_OUT_CH_U (TIMER_CH_1) +#define MOTOR_OUT_CH_V (TIMER_CH_0) +#define MOTOR_OUT_CH_W (TIMER_CH_2) + +#define MOTOR_U_L_ENABLE (gpio_bit_write(PWM_LIN2_PORT, PWM_LIN2_PIN, SET)) +#define MOTOR_U_L_DISABLE (gpio_bit_write(PWM_LIN2_PORT, PWM_LIN2_PIN, RESET)) + +#define MOTOR_V_L_ENABLE (gpio_bit_write(PWM_LIN3_PORT, PWM_LIN3_PIN, SET)) +#define MOTOR_V_L_DISABLE (gpio_bit_write(PWM_LIN3_PORT, PWM_LIN3_PIN, RESET)) + +#define MOTOR_W_L_ENABLE (gpio_bit_write(PWM_LIN1_PORT, PWM_LIN1_PIN, SET)) +#define MOTOR_W_L_DISABLE (gpio_bit_write(PWM_LIN1_PORT, PWM_LIN1_PIN, RESET)) extern void HAL_HallExti_TriggerCallback(void); - -#endif \ No newline at end of file +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); +extern void Motor_Init(void); +#endif -- Gitblit v1.8.0