新型电机正常运转
This commit is contained in:
parent
337edab694
commit
8f6daf1e41
|
@ -334,71 +334,123 @@
|
|||
|
||||
#endif
|
||||
|
||||
#define NEW_MOTOR
|
||||
|
||||
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
|
||||
///水平电机减速比
|
||||
#define PTZ_HORI_MOTOR_RATIO 3.0
|
||||
///水平大齿轮减速比
|
||||
#define PTZ_HORI_BIG_GEAR_RATIO 50.0
|
||||
///水平总减速比
|
||||
#define PTZ_HORI_RATIO 150.0
|
||||
///水平电机调速模拟电压最大值
|
||||
#define PTZ_HORI_VR_MAX 1999
|
||||
///水平电机调速模拟电压最小值
|
||||
#define PTZ_HORI_VR_MIN 250
|
||||
#ifndef NEW_MOTOR
|
||||
///水平电机减速比
|
||||
#define PTZ_HORI_MOTOR_RATIO 27.0
|
||||
///水平大齿轮减速比
|
||||
#define PTZ_HORI_BIG_GEAR_RATIO 50.0
|
||||
///水平总减速比
|
||||
#define PTZ_HORI_RATIO 1350.0
|
||||
///水平电机调速模拟电压最大值
|
||||
#define PTZ_HORI_VR_MAX 1999
|
||||
///水平电机调速模拟电压最小值
|
||||
#define PTZ_HORI_VR_MIN 50
|
||||
|
||||
///转速单位 转/每分
|
||||
///水平电机最大转速
|
||||
#define PTZ_HORI_MOTOR_MAX_SPEED 3000
|
||||
///水平电机最小转速
|
||||
#define PTZ_HORI_MOTOR_MIN_SPEED 405.0
|
||||
///水平云台最大转速
|
||||
#define PTZ_HORI_MAX_SPEED 20.0
|
||||
///水平云台最小转速
|
||||
#define PTZ_HORI_MIN_SPEED 2.7
|
||||
///水平云台默认最佳速度
|
||||
#define PTZ_HORI_BEST_SPEED 14.4
|
||||
///转速单位 转/每分
|
||||
///水平电机最大转速
|
||||
#define PTZ_HORI_MOTOR_MAX_SPEED 3000
|
||||
///水平电机最小转速
|
||||
#define PTZ_HORI_MOTOR_MIN_SPEED 405.0
|
||||
///水平云台最大转速
|
||||
#define PTZ_HORI_MAX_SPEED 2.2
|
||||
///水平云台最小转速
|
||||
#define PTZ_HORI_MIN_SPEED 0.3
|
||||
///水平云台默认最佳速度
|
||||
#define PTZ_HORI_BEST_SPEED 1.5
|
||||
#endif
|
||||
#ifdef NEW_MOTOR
|
||||
///水平电机减速比
|
||||
#define PTZ_HORI_MOTOR_RATIO 3.0
|
||||
///水平大齿轮减速比
|
||||
#define PTZ_HORI_BIG_GEAR_RATIO 50.0
|
||||
///水平总减速比
|
||||
#define PTZ_HORI_RATIO 150.0
|
||||
///水平电机调速模拟电压最大值
|
||||
#define PTZ_HORI_VR_MAX 1999
|
||||
///水平电机调速模拟电压最小值
|
||||
#define PTZ_HORI_VR_MIN 50
|
||||
|
||||
///转速单位 转/每分
|
||||
///水平电机最大转速
|
||||
#define PTZ_HORI_MOTOR_MAX_SPEED 3000
|
||||
///水平电机最小转速
|
||||
#define PTZ_HORI_MOTOR_MIN_SPEED 405.0
|
||||
///水平云台最大转速
|
||||
#define PTZ_HORI_MAX_SPEED 20.0
|
||||
///水平云台最小转速
|
||||
#define PTZ_HORI_MIN_SPEED 2.7
|
||||
///水平云台默认最佳速度
|
||||
#define PTZ_HORI_BEST_SPEED 14.4
|
||||
#endif
|
||||
|
||||
/**********************************************************/
|
||||
|
||||
///磁编码器和电机之间的减速比
|
||||
#define PTZ_VERT_MOTOR_RATIO 10.0
|
||||
///磁编码器与云台轴之间的减速比
|
||||
#define PTZ_VERT_BIG_GEAR_RATIO 50.0
|
||||
///垂直总减速比
|
||||
#define PTZ_VERT_RATIO 500.0
|
||||
///垂直电机调速模拟电压最大值
|
||||
#define PTZ_VERT_VR_MAX 1999
|
||||
///垂直电机调速模拟电压最小值
|
||||
#define PTZ_VERT_VR_MIN 50
|
||||
#ifndef NEW_MOTOR
|
||||
///磁编码器和电机之间的减速比
|
||||
#define PTZ_VERT_MOTOR_RATIO 27.0
|
||||
///磁编码器与云台轴之间的减速比
|
||||
#define PTZ_VERT_BIG_GEAR_RATIO 50.0
|
||||
///垂直总减速比
|
||||
#define PTZ_VERT_RATIO 1350.0
|
||||
///垂直电机调速模拟电压最大值
|
||||
#define PTZ_VERT_VR_MAX 1899
|
||||
///垂直电机调速模拟电压最小值
|
||||
#define PTZ_VERT_VR_MIN 50
|
||||
|
||||
///转速单位 转/每分
|
||||
///垂直电机最大转速
|
||||
#define PTZ_VERT_MOTOR_MAX_SPEED 3000.0
|
||||
///垂直电机最小转速
|
||||
#define PTZ_VERT_MOTOR_MIN_SPEED 405.0
|
||||
///垂直云台最大转速
|
||||
#define PTZ_VERT_MAX_SPEED 6.0
|
||||
///垂直云台最小转速
|
||||
#define PTZ_VERT_MIN_SPEED 0.81
|
||||
///垂直云台默认最佳速度
|
||||
#define PTZ_VERT_BEST_SPEED 4.3
|
||||
///转速单位 转/每分
|
||||
///垂直电机最大转速
|
||||
#define PTZ_VERT_MOTOR_MAX_SPEED 3000.0
|
||||
///垂直电机最小转速
|
||||
#define PTZ_VERT_MOTOR_MIN_SPEED 405.0
|
||||
///垂直云台最大转速
|
||||
#define PTZ_VERT_MAX_SPEED 2.2
|
||||
///垂直云台最小转速
|
||||
#define PTZ_VERT_MIN_SPEED 0.3
|
||||
///垂直云台默认最佳速度
|
||||
#define PTZ_VERT_BEST_SPEED 1.5
|
||||
#endif
|
||||
|
||||
#ifdef NEW_MOTOR
|
||||
///磁编码器和电机之间的减速比
|
||||
#define PTZ_VERT_MOTOR_RATIO 10.0
|
||||
///磁编码器与云台轴之间的减速比
|
||||
#define PTZ_VERT_BIG_GEAR_RATIO 50.0
|
||||
///垂直总减速比
|
||||
#define PTZ_VERT_RATIO 500.0
|
||||
///垂直电机调速模拟电压最大值
|
||||
#define PTZ_VERT_VR_MAX 1899
|
||||
///垂直电机调速模拟电压最小值
|
||||
#define PTZ_VERT_VR_MIN 100
|
||||
|
||||
//电机磁极对数
|
||||
#define PTZ_HORI_MOTOR_POLE_PAIRS 4.0
|
||||
//电机霍尔传感器对数
|
||||
#define PTZ_HORI_MOTOR_HALL_PAIRS 3.0
|
||||
//电机旋转一圈FG返回的霍尔脉冲数
|
||||
#define PTZ_HORI_ONE_CYCLE_HALL_NUM 12.0
|
||||
///转速单位 转/每分
|
||||
///垂直电机最大转速
|
||||
#define PTZ_VERT_MOTOR_MAX_SPEED 3000.0
|
||||
///垂直电机最小转速
|
||||
#define PTZ_VERT_MOTOR_MIN_SPEED 405.0
|
||||
///垂直云台最大转速
|
||||
#define PTZ_VERT_MAX_SPEED 6.0
|
||||
///垂直云台最小转速
|
||||
#define PTZ_VERT_MIN_SPEED 0.81
|
||||
///垂直云台默认最佳速度
|
||||
#define PTZ_VERT_BEST_SPEED 4.3
|
||||
|
||||
//电机磁极对数
|
||||
#define PTZ_VERT_MOTOR_POLE_PAIRS 4.0
|
||||
//电机霍尔传感器对数
|
||||
#define PTZ_VERT_MOTOR_HALL_PAIRS 3.0
|
||||
//电机旋转一圈FG返回的霍尔脉冲数
|
||||
#define PTZ_VERT_ONE_CYCLE_HALL_NUM 12.0
|
||||
#endif
|
||||
//电机磁极对数
|
||||
#define PTZ_HORI_MOTOR_POLE_PAIRS 4.0
|
||||
//电机霍尔传感器对数
|
||||
#define PTZ_HORI_MOTOR_HALL_PAIRS 3.0
|
||||
//电机旋转一圈FG返回的霍尔脉冲数
|
||||
#define PTZ_HORI_ONE_CYCLE_HALL_NUM 12.0
|
||||
|
||||
//电机磁极对数
|
||||
#define PTZ_VERT_MOTOR_POLE_PAIRS 4.0
|
||||
//电机霍尔传感器对数
|
||||
#define PTZ_VERT_MOTOR_HALL_PAIRS 3.0
|
||||
//电机旋转一圈FG返回的霍尔脉冲数
|
||||
#define PTZ_VERT_ONE_CYCLE_HALL_NUM 12.0
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -619,9 +619,9 @@ static void ptz_hori_pid_task()
|
|||
// else
|
||||
|
||||
#ifdef PTZ_HALL_SPEED_SL
|
||||
if (g_ptz.hori_speed_actual == 0) {
|
||||
h_pwm_duty_change(PTZ_HORI_VR_MIN);
|
||||
}
|
||||
// if (g_ptz.hori_speed_actual == 0) {
|
||||
// h_pwm_duty_change(PTZ_HORI_VR_MIN);
|
||||
// }
|
||||
|
||||
/* 使能计算速度 */
|
||||
g_speed_to_hall.hori_speed_t.flag = calculation_enable;
|
||||
|
@ -632,11 +632,11 @@ static void ptz_hori_pid_task()
|
|||
/* 电机转动后,等待进入hall中断启动速度计算 */
|
||||
while (!(g_speed_to_hall.hori_speed_t.flag == calculation_start
|
||||
|| g_ptz.hori_start_stop_set == PTZ_HORI_STOP)
|
||||
&& timeOut < 10) {
|
||||
&& timeOut < 15) {
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
|
||||
timeOut++;
|
||||
}
|
||||
if (timeOut >= 10) {
|
||||
if (timeOut >= 15) {
|
||||
g_ptz.hori_speed_actual = 0;
|
||||
goto timeOutErr;
|
||||
}
|
||||
|
@ -1295,9 +1295,9 @@ static void ptz_vert_pid_task()
|
|||
|
||||
|
||||
#ifdef PTZ_HALL_SPEED_SL
|
||||
if (g_ptz.vert_speed_actual == 0) {
|
||||
v_pwm_duty_change(PTZ_VERT_VR_MIN);
|
||||
}
|
||||
// if (g_ptz.vert_speed_actual == 0) {
|
||||
// v_pwm_duty_change(PTZ_VERT_VR_MIN);
|
||||
// }
|
||||
|
||||
/* 使能计算速度 */
|
||||
g_speed_to_hall.vert_speed_t.flag = calculation_enable;
|
||||
|
@ -1308,11 +1308,11 @@ static void ptz_vert_pid_task()
|
|||
/* 电机转动后,等待进入hall中断启动速度计算 */
|
||||
while (!(g_speed_to_hall.vert_speed_t.flag == calculation_start
|
||||
|| g_ptz.vert_start_stop_set == PTZ_HORI_STOP)
|
||||
&& timeOut < 10) {
|
||||
&& timeOut < 15) {
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
|
||||
timeOut++;
|
||||
}
|
||||
if (timeOut >= 10) {
|
||||
if (timeOut >= 15) {
|
||||
g_ptz.vert_speed_actual = 0;
|
||||
goto timeOutErr;
|
||||
}
|
||||
|
@ -1348,7 +1348,7 @@ static void ptz_vert_pid_task()
|
|||
+ g_speed_to_hall.vert_speed_t.endTime_us + (SPEED_TIMER_PERIOD - g_speed_to_hall.vert_speed_t.startTime_us);
|
||||
}
|
||||
|
||||
g_ptz.hori_speed_actual = (float)g_speed_to_hall.vert_speed_t.hallNum * 5000000.0 / (float)time / PTZ_VERT_RATIO;
|
||||
g_ptz.vert_speed_actual = (float)g_speed_to_hall.vert_speed_t.hallNum * 5000000.0 / (float)time / PTZ_VERT_RATIO;
|
||||
|
||||
timeOutErr:
|
||||
|
||||
|
|
|
@ -241,8 +241,8 @@
|
|||
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
||||
|
||||
#define PTZ_VERT_PID_T 30u
|
||||
#define PTZ_VERT_PID_VERT_KP 35.0//比例系数
|
||||
#define PTZ_VERT_PID_VERT_TI 0.0003 //积分系数
|
||||
#define PTZ_VERT_PID_VERT_KP 40.0//比例系数
|
||||
#define PTZ_VERT_PID_VERT_TI 0.0001 //积分系数
|
||||
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数
|
||||
|
||||
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID调速输入值限定
|
||||
|
|
|
@ -301,6 +301,7 @@ static char ptz_motor_rotate_fault_detect_task()
|
|||
time_ms = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
|
||||
//垂直
|
||||
|
@ -547,7 +548,6 @@ static char ptz_motor_rotate_fault_detect_task()
|
|||
}
|
||||
|
||||
|
||||
|
||||
if(g_ptz.vert_start_stop_set == PTZ_VERT_STOP)
|
||||
{
|
||||
vert_rotate_fault_step = 0;//关闭判断
|
||||
|
|
Loading…
Reference in New Issue