添加编码器速度计算出错

This commit is contained in:
起床就犯困 2025-06-03 10:33:27 +08:00
parent 203a25e7a7
commit 08f686831e
5 changed files with 233 additions and 160 deletions

View File

@ -1,6 +1,8 @@
{ {
"files.associations": { "files.associations": {
"bsp_os.h": "c", "bsp_os.h": "c",
"cmath": "c" "cmath": "c",
"service_error_count.h": "c",
"speed_to_step.h": "c"
} }
} }

View File

@ -599,7 +599,10 @@ static void ptz_hori_pid_task()
float angle = 0; float angle = 0;
float time = 0; float time = 0;
OSTimeDlyHMSM(0u, 0u, 0u, 20u); term_printf("OSTimeGet : %d \n", OSTimeGet());
OSTimeDlyHMSM(0u, 0u, 0u, 10u);
term_printf("OSTimeGet : %d \n", OSTimeGet());
/* 读取到正确速度为止 */ /* 读取到正确速度为止 */
start: start:
angle = as5047d_hori_get_angle_a(); angle = as5047d_hori_get_angle_a();
@ -612,13 +615,22 @@ start:
} }
float angleDifference = fabs(angle - lastAngle); float angleDifference = fabs(angle - lastAngle);
if (angleDifference < 3) { if (angleDifference > 180) {
// goto start; angleDifference = 360 - angleDifference;
return;
} }
// if (angleDifference < 3) {
// // goto start;
// return;
// }
float timeDifference = fabs(time - lastTime); float timeDifference = fabs(time - lastTime);
g_ptz.hori_speed_actual = angleDifference / timeDifference / PTZ_HORI_RATIO * 1000; g_ptz.hori_speed_actual = angleDifference / timeDifference / PTZ_HORI_RATIO * 166.67f;
lastAngle = angle;
lastTime = time;
term_printf("angleDifference : %f, timeDifference : %f\n", angleDifference, timeDifference);
#endif #endif
@ -1391,7 +1403,8 @@ start:
//将PID输出的电机转速模拟电压等级输入到模拟电压输出芯片 //将PID输出的电机转速模拟电压等级输入到模拟电压输出芯片
// vert_dac1_data_out( g_ptz.vert_pid.PidUT_uint); // vert_dac1_data_out( g_ptz.vert_pid.PidUT_uint);
v_pwm_duty_change(g_ptz.vert_pid.PidUT_uint); // v_pwm_duty_change(g_ptz.vert_pid.PidUT_uint);
v_pwm_duty_change(500);
//将当前PID输出值保存 //将当前PID输出值保存
g_ptz.vert_pid.LastUT_float = g_ptz.vert_pid.PidUT_float; g_ptz.vert_pid.LastUT_float = g_ptz.vert_pid.PidUT_float;
} }
@ -1596,6 +1609,55 @@ void init_speed_module(void)
#endif #endif
} }
/**
* @param
* @return none
*
*/
static volatile float hori_speed_actual = 0;
static volatile float angleDifference = 0;
void as5047d_hori_get_speed(void)
{
static float lastAngle = 0;
static float lastTime = 0;
float angle = 0;
float time = 0;
if(g_ptz.hori_start_stop_set == PTZ_HORI_START) {
angle = as5047d_hori_get_angle_a();
// time = OSTimeGet();
if (angle < 0 || //防止读出的角度为负值
angle > 360.0||//防止读出的数值超过360
isnan(angle) == 1) {//防止读出的不是一个数
//以上错误的数据都该舍弃,从新读取
// goto start;
return;
}
angleDifference = fabs(angle - lastAngle);
if (angleDifference > 180) {
angleDifference = 360 - angleDifference;
}
// float timeDifference = time - lastTime;
hori_speed_actual = angleDifference / PTZ_HORI_BIG_GEAR_RATIO * 16.67f;
lastAngle = angle;
lastTime = time;
}
}
void as5047d_vert_get_speed(void)
{
}
void as5047d_get_speed_printf(void)
{
pdebug(DEBUG_LEVEL_INFO, "hori_speed_actual = %f\n", hori_speed_actual);
}
#endif #endif

View File

@ -8,114 +8,114 @@
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D #ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
#define PID_B 1 #define PID_B 1
//水平速度小于设定速度时 //ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//水平速度大于设定速度时 //ˮƽ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围 // #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数 // #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度小于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_PID_HALL_SPEED 1 #define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 30u #define PTZ_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 3.5//4//1.4 //0.014//0.005 //比例系数 #define PTZ_HORI_PID_HORI_KP 3.5//4//1.4 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 100.0 //积分系数 #define PTZ_HORI_PID_HORI_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数 #define PTZ_HORI_PID_HORI_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PID调速输入值限定 #define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T 20u #define PTZ_VERT_PID_T 20u
#define PTZ_VERT_PID_VERT_KP 3//2//1.4 //0.014//0.005 //比例系数 #define PTZ_VERT_PID_VERT_KP 3//2//1.4 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数 #define PTZ_VERT_PID_VERT_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数 #define PTZ_VERT_PID_VERT_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PID调速输入值限定 #define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_T_MAX 75//50u//PID调速最大周期 #define PTZ_HORI_PID_T_MAX 75//50u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 75//50u//PID调速最大周期 #define PTZ_VERT_PID_T_MAX 75//50u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID调速快速增量 #define PTZ_HORI_PID_ADD 30//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 30//PID调速快速增量 #define PTZ_VERT_PID_ADD 30//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 10//10//PID调速快速增量 #define PTZ_HORI_PID_ADD_A 10//10//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 10//15//PID调速快速增量 #define PTZ_VERT_PID_ADD_A 10//15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif #endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D #ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
#define PID_B 1 #define PID_B 1
//水平速度小于设定速度时 //ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//水平速度大于设定速度时 //ˮƽ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围 // #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数 // #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度小于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度大于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围 // #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数 // #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//#define PID_A 1 //#define PID_A 1
// #define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 // #define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
// #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 // #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
//通过芯片反馈测速 //ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED //#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED //#define PTZ_VERT_PID_JY02A_SPEED
#define PTZ_PID_HALL_SPEED 1 #define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 20u #define PTZ_HORI_PID_T 20u
#define PTZ_HORI_PID_HORI_KP 0.6//1.0//6.0//比例系数 #define PTZ_HORI_PID_HORI_KP 0.6//1.0//6.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//积分系数 #define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TD 0.001//微分系数 #define PTZ_HORI_PID_HORI_TD 0.001//΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID调速输入值限定 #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T 20u #define PTZ_VERT_PID_T 20u
#define PTZ_VERT_PID_VERT_KP 6//6.0//比例系数 #define PTZ_VERT_PID_VERT_KP 6//6.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 80.0//100.0//积分系数 #define PTZ_VERT_PID_VERT_TI 80.0//100.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TD 0.001//微分系数 #define PTZ_VERT_PID_VERT_TD 0.001//΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID调速输入值限定 #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_T_MAX 80//75u//PID调速最大周期 #define PTZ_HORI_PID_T_MAX 80//75u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 80//75u//PID调速最大周期 #define PTZ_VERT_PID_T_MAX 80//75u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//PID调速快速增量 #define PTZ_HORI_PID_ADD 20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//PID调速快速增量 #define PTZ_VERT_PID_ADD 20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量 #define PTZ_HORI_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 15//PID调速快速增量 #define PTZ_VERT_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif #endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D #ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
#define PID_B 1 #define PID_B 1
//水平速度小于设定速度时 //ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//水平速度大于设定速度时 //ˮƽ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度小于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度大于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
@ -127,149 +127,149 @@
#define PTZ_HORI_PID_T 50u #define PTZ_HORI_PID_T 50u
#define PTZ_HORI_PID_HORI_KP 10.0//3.0 //0.014//0.005 //比例系数 #define PTZ_HORI_PID_HORI_KP 10.0//3.0 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 100.0 //积分系数 #define PTZ_HORI_PID_HORI_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数 #define PTZ_HORI_PID_HORI_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_INPUT_LIMIT 6.91//PID调速输入值限定 #define PTZ_HORI_PID_INPUT_LIMIT 6.91//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T 50u #define PTZ_VERT_PID_T 50u
#define PTZ_VERT_PID_VERT_KP 20.0//3.0 //0.014//0.005 //比例系数 #define PTZ_VERT_PID_VERT_KP 20.0//3.0 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数 #define PTZ_VERT_PID_VERT_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数 #define PTZ_VERT_PID_VERT_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_INPUT_LIMIT 4.0//PID调速输入值限定 #define PTZ_VERT_PID_INPUT_LIMIT 4.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_T_MAX 75//50u//PID调速最大周期 #define PTZ_HORI_PID_T_MAX 75//50u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 75//50u//PID调速最大周期 #define PTZ_VERT_PID_T_MAX 75//50u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID调速快速增量 #define PTZ_HORI_PID_ADD 30//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 30//PID调速快速增量 #define PTZ_VERT_PID_ADD 30//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 20//PID调速快速增量 #define PTZ_HORI_PID_ADD_A 20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 20//PID调速快速增量 #define PTZ_VERT_PID_ADD_A 20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif #endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V #ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
#define PID_B 1 #define PID_B 1
//水平速度小于设定速度时 //ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//水平速度大于设定速度时 //ˮƽ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度小于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度大于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
//#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
//通过芯片反馈测速 //ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED //#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED //#define PTZ_VERT_PID_JY02A_SPEED
#define PTZ_PID_HALL_SPEED 1 #define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 30u #define PTZ_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 2.0//6.0 //0.014//0.005 //比例系数 #define PTZ_HORI_PID_HORI_KP 2.0//6.0 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 100.0 //积分系数 #define PTZ_HORI_PID_HORI_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数 #define PTZ_HORI_PID_HORI_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PID调速输入值限定 #define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T 30u #define PTZ_VERT_PID_T 30u
#define PTZ_VERT_PID_VERT_KP 2.0//6.0 //0.014//0.005 //比例系数 #define PTZ_VERT_PID_VERT_KP 2.0//6.0 //0.014//0.005 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数 #define PTZ_VERT_PID_VERT_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数 #define PTZ_VERT_PID_VERT_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PID调速输入值限定 #define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_T_MAX 100u//PID调速最大周期 #define PTZ_HORI_PID_T_MAX 100u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 100u//PID调速最大周期 #define PTZ_VERT_PID_T_MAX 100u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//40//PID调速快速增量 #define PTZ_HORI_PID_ADD 20//40//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//40//PID调速快速增量 #define PTZ_VERT_PID_ADD 20//40//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量 #define PTZ_HORI_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 15//PID调速快速增量 #define PTZ_VERT_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif #endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V #ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
#define PID_B 1 #define PID_B 1
//水平速度小于设定速度时 //ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//水平速度大于设定速度时 //ˮƽ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围 #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数 #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度小于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//垂直速度大于设定速度时 //<EFBFBD><EFBFBD>ֱ<EFBFBD>ٶȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围 #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数 #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
//#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步 //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<EFBFBD>Ƕȱ仯<EFBFBD>
//通过芯片反馈测速 //ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED //#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED //#define PTZ_VERT_PID_JY02A_SPEED
// #define PTZ_PID_HALL_SPEED 1 #define PTZ_PID_HALL_SPEED 1
#define PTZ_PID_AS5047_SPEED 1 // #define PTZ_PID_AS5047_SPEED 1
#define PTZ_HORI_PID_T 30u #define PTZ_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 100.0//比例系数 #define PTZ_HORI_PID_HORI_KP 100.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 30.0 //积分系数 #define PTZ_HORI_PID_HORI_TI 30.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数 #define PTZ_HORI_PID_HORI_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID调速输入值限定 #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 50.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_HORI_PID_OUTPUT_LIMIT 50.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T 30u #define PTZ_VERT_PID_T 30u
#define PTZ_VERT_PID_VERT_KP 100.0//比例系数 #define PTZ_VERT_PID_VERT_KP 100.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 30.0 //积分系数 #define PTZ_VERT_PID_VERT_TI 30.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数 #define PTZ_VERT_PID_VERT_TD 0.0 //΢<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID调速输入值限定 #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 50.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异 #define PTZ_VERT_PID_OUTPUT_LIMIT 50.0//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_T_MAX 100u//PID调速最大周期 #define PTZ_HORI_PID_T_MAX 100u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 100u//PID调速最大周期 #define PTZ_VERT_PID_T_MAX 100u//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//20//PID调速快速增量 #define PTZ_HORI_PID_ADD 20//20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//20//PID调速快速增量 #define PTZ_VERT_PID_ADD 20//20//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量 //#define PTZ_HORI_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_VERT_PID_ADD_A 15//PID调速快速增量 //#define PTZ_VERT_PID_ADD_A 15//PID<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif #endif
//PID调速 //PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PID_ADJUST_SPEED 0 #define PID_ADJUST_SPEED 0
//方向调速 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DIRECTOR_ADJUST_SPEED 1 #define DIRECTOR_ADJUST_SPEED 1
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D #ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
//通过方向PWM波提供反向力矩调速 //ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
//是否启用方向调速 //<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_CONTROL_SPEED_L6235D 2 #define PTZ_CONTROL_SPEED_L6235D 2
//方向调速总周期 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_DIRECTOR_SPEED_T 10//20 #define PTZ_DIRECTOR_SPEED_T 10//20
#endif #endif
@ -279,6 +279,10 @@ void ptz_pid_Init();
void ptz_hori_pid_clear_zero(); void ptz_hori_pid_clear_zero();
void ptz_vert_pid_clear_zero(); void ptz_vert_pid_clear_zero();
void init_speed_module(void); void init_speed_module(void);
void as5047d_hori_get_speed(void);
void as5047d_vert_get_speed(void);
#endif #endif
#endif #endif

View File

@ -377,6 +377,7 @@ void h_bldc_six_step()
} }
} }
} }
} }
/*! /*!

View File

@ -391,6 +391,10 @@ void TIMER4_IRQHandler(void)
v_bldc_six_step(); v_bldc_six_step();
h_bldc_six_step(); h_bldc_six_step();
as5047d_hori_get_speed();
as5047d_vert_get_speed();
timer_interrupt_flag_clear(TIMER4,TIMER_INT_FLAG_UP); timer_interrupt_flag_clear(TIMER4,TIMER_INT_FLAG_UP);
} }
} }