#ifndef _MOTOR_PARAM_H__ #define _MOTOR_PARAM_H__ #if 0 #define MOTOR_R 0.33f #define MOTOR_Ld 0.00136f #define MOTOR_Lq 0.00136f #define MOTOR_POLES 2 #else //编码器电机 3505 #define MOTOR_R 0.08f #define MOTOR_Ld 0.000032f #define MOTOR_Lq 0.000032f #define MOTOR_POLES 10 #endif /* 编码器参数 */ #define ENC_MAX_RES 4096 /*min. 490 Hz, max 603 Hz*/ #define ENC_PWM_Max_P (1.0f/490.0f) #define ENC_PWM_Min_P (1.0f/603.0f) #define ENC_PWM_MAX_RES 4119.0F #define ENC_PWM_INIT_WIDTH 12.0F //PWM 起始宽度 #define ENC_PWM_ERROR_WIDTH 4.0f //PWM 指示错误的宽度 #define ENC_PWM_END_WIDTH 0.0F #define ENC_PWM_Error_P (ENC_PWM_INIT_WIDTH/ENC_PWM_MAX_RES) #define ENC_PWM_MIN_duty ((ENC_PWM_INIT_WIDTH + ENC_PWM_ERROR_WIDTH + ENC_PWM_END_WIDTH)/ENC_PWM_MAX_RES) #define ENC_Duty_2_Pluse_Nr(duty) (duty * ENC_PWM_MAX_RES - (ENC_PWM_INIT_WIDTH + ENC_PWM_ERROR_WIDTH + ENC_PWM_END_WIDTH)) //通过占空比计算有几个脉冲 #define ENC_Pluse_Nr_2_angle(Nr) (360.0f/(float)ENC_MAX_RES * (Nr)) #endif /* _MOTOR_PARAM_H__ */