Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
|
08f686831e | |
|
203a25e7a7 | |
|
9b021d1a0d |
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"bsp_os.h": "c",
|
||||||
|
"cmath": "c",
|
||||||
|
"service_error_count.h": "c",
|
||||||
|
"speed_to_step.h": "c"
|
||||||
|
}
|
||||||
|
}
|
|
@ -338,11 +338,11 @@
|
||||||
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
|
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
|
||||||
|
|
||||||
///水平电机减速比
|
///水平电机减速比
|
||||||
#define PTZ_HORI_MOTOR_RATIO 27.0
|
#define PTZ_HORI_MOTOR_RATIO 3.0
|
||||||
///水平大齿轮减速比
|
///水平大齿轮减速比
|
||||||
#define PTZ_HORI_BIG_GEAR_RATIO 50.0
|
#define PTZ_HORI_BIG_GEAR_RATIO 50.0
|
||||||
///水平总减速比
|
///水平总减速比
|
||||||
#define PTZ_HORI_RATIO 1350.0
|
#define PTZ_HORI_RATIO 150.0
|
||||||
///水平电机调速模拟电压最大值
|
///水平电机调速模拟电压最大值
|
||||||
#define PTZ_HORI_VR_MAX 1999
|
#define PTZ_HORI_VR_MAX 1999
|
||||||
///水平电机调速模拟电压最小值
|
///水平电机调速模拟电压最小值
|
||||||
|
@ -354,20 +354,20 @@
|
||||||
///水平电机最小转速
|
///水平电机最小转速
|
||||||
#define PTZ_HORI_MOTOR_MIN_SPEED 405.0
|
#define PTZ_HORI_MOTOR_MIN_SPEED 405.0
|
||||||
///水平云台最大转速
|
///水平云台最大转速
|
||||||
#define PTZ_HORI_MAX_SPEED 2.2
|
#define PTZ_HORI_MAX_SPEED 20.0
|
||||||
///水平云台最小转速
|
///水平云台最小转速
|
||||||
#define PTZ_HORI_MIN_SPEED 0.3
|
#define PTZ_HORI_MIN_SPEED 2.7
|
||||||
///水平云台默认最佳速度
|
///水平云台默认最佳速度
|
||||||
#define PTZ_HORI_BEST_SPEED 1.6
|
#define PTZ_HORI_BEST_SPEED 14.4
|
||||||
|
|
||||||
/**********************************************************/
|
/**********************************************************/
|
||||||
|
|
||||||
///磁编码器和电机之间的减速比
|
///磁编码器和电机之间的减速比
|
||||||
#define PTZ_VERT_MOTOR_RATIO 27.0
|
#define PTZ_VERT_MOTOR_RATIO 10.0
|
||||||
///磁编码器与云台轴之间的减速比
|
///磁编码器与云台轴之间的减速比
|
||||||
#define PTZ_VERT_BIG_GEAR_RATIO 50.0
|
#define PTZ_VERT_BIG_GEAR_RATIO 50.0
|
||||||
///垂直总减速比
|
///垂直总减速比
|
||||||
#define PTZ_VERT_RATIO 1350.0
|
#define PTZ_VERT_RATIO 500.0
|
||||||
///垂直电机调速模拟电压最大值
|
///垂直电机调速模拟电压最大值
|
||||||
#define PTZ_VERT_VR_MAX 1999
|
#define PTZ_VERT_VR_MAX 1999
|
||||||
///垂直电机调速模拟电压最小值
|
///垂直电机调速模拟电压最小值
|
||||||
|
@ -379,11 +379,11 @@
|
||||||
///垂直电机最小转速
|
///垂直电机最小转速
|
||||||
#define PTZ_VERT_MOTOR_MIN_SPEED 405.0
|
#define PTZ_VERT_MOTOR_MIN_SPEED 405.0
|
||||||
///垂直云台最大转速
|
///垂直云台最大转速
|
||||||
#define PTZ_VERT_MAX_SPEED 2.2
|
#define PTZ_VERT_MAX_SPEED 6.0
|
||||||
///垂直云台最小转速
|
///垂直云台最小转速
|
||||||
#define PTZ_VERT_MIN_SPEED 0.3
|
#define PTZ_VERT_MIN_SPEED 0.81
|
||||||
///垂直云台默认最佳速度
|
///垂直云台默认最佳速度
|
||||||
#define PTZ_VERT_BEST_SPEED 1.6
|
#define PTZ_VERT_BEST_SPEED 4.3
|
||||||
|
|
||||||
|
|
||||||
//电机磁极对数
|
//电机磁极对数
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
|
|
||||||
#ifdef PTZ_BLDC_MOTOR
|
#ifdef PTZ_BLDC_MOTOR
|
||||||
|
|
||||||
|
static volatile float tempSpeedH = 0;
|
||||||
|
static volatile float tempSpeedV = 0;
|
||||||
|
|
||||||
|
|
||||||
//发送云台实际转速
|
//发送云台实际转速
|
||||||
void ptz_send_speed(char dev, char speed)
|
void ptz_send_speed(char dev, char speed)
|
||||||
{
|
{
|
||||||
|
@ -64,9 +68,9 @@ void ptz_pid_init()
|
||||||
g_ptz.hori_pid.TD = PTZ_HORI_PID_HORI_TD;//微分常数
|
g_ptz.hori_pid.TD = PTZ_HORI_PID_HORI_TD;//微分常数
|
||||||
g_ptz.hori_pid.T = PTZ_HORI_PID_T / 1000.0;//采样周期
|
g_ptz.hori_pid.T = PTZ_HORI_PID_T / 1000.0;//采样周期
|
||||||
//三个简化参数A,B,C
|
//三个简化参数A,B,C
|
||||||
g_ptz.hori_pid.A = g_ptz.hori_pid.KP * (1 + g_ptz.hori_pid.T / g_ptz.hori_pid.TI + g_ptz.hori_pid.TD);
|
// g_ptz.hori_pid.A = g_ptz.hori_pid.KP * (1 + g_ptz.hori_pid.T / g_ptz.hori_pid.TI + g_ptz.hori_pid.TD);
|
||||||
g_ptz.hori_pid.B = g_ptz.hori_pid.KP * (1 + 2 * g_ptz.hori_pid.TD / g_ptz.hori_pid.T);
|
// g_ptz.hori_pid.B = g_ptz.hori_pid.KP * (1 + 2 * g_ptz.hori_pid.TD / g_ptz.hori_pid.T);
|
||||||
g_ptz.hori_pid.C = g_ptz.hori_pid.KP * (g_ptz.hori_pid.TD / g_ptz.hori_pid.T);
|
// g_ptz.hori_pid.C = g_ptz.hori_pid.KP * (g_ptz.hori_pid.TD / g_ptz.hori_pid.T);
|
||||||
|
|
||||||
g_ptz.vert_pid.SumError = 0;//累计误差
|
g_ptz.vert_pid.SumError = 0;//累计误差
|
||||||
g_ptz.vert_pid.LastError = 0;//上一次输入偏差
|
g_ptz.vert_pid.LastError = 0;//上一次输入偏差
|
||||||
|
@ -78,9 +82,10 @@ void ptz_pid_init()
|
||||||
g_ptz.vert_pid.TD = PTZ_VERT_PID_VERT_TD;//微分常数
|
g_ptz.vert_pid.TD = PTZ_VERT_PID_VERT_TD;//微分常数
|
||||||
g_ptz.vert_pid.T = PTZ_VERT_PID_T / 1000.0;//采样周期
|
g_ptz.vert_pid.T = PTZ_VERT_PID_T / 1000.0;//采样周期
|
||||||
//三个简化参数A,B,C
|
//三个简化参数A,B,C
|
||||||
g_ptz.vert_pid.A = g_ptz.vert_pid.KP * (1 + g_ptz.vert_pid.T / g_ptz.vert_pid.TI + g_ptz.vert_pid.TD);
|
// g_ptz.vert_pid.A = g_ptz.vert_pid.KP * (1 + g_ptz.vert_pid.T / g_ptz.vert_pid.TI + g_ptz.vert_pid.TD);
|
||||||
g_ptz.vert_pid.B = g_ptz.vert_pid.KP * (1 + 2 * g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
|
// g_ptz.vert_pid.B = g_ptz.vert_pid.KP * (1 + 2 * g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
|
||||||
g_ptz.vert_pid.C = g_ptz.vert_pid.KP * (g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
|
// g_ptz.vert_pid.C = g_ptz.vert_pid.KP * (g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ptz_hori_pid_clear_zero()
|
void ptz_hori_pid_clear_zero()
|
||||||
|
@ -108,7 +113,9 @@ static float ptz_hori_pid_calculate(float H_SampSpeed)
|
||||||
// H_IError = PTZ_HORI_PID_INPUT_LIMIT * -1;
|
// H_IError = PTZ_HORI_PID_INPUT_LIMIT * -1;
|
||||||
// }
|
// }
|
||||||
//增量计算
|
//增量计算
|
||||||
H_IIncPid = g_ptz.hori_pid.A * H_IError + g_ptz.hori_pid.B * g_ptz.hori_pid.LastError + g_ptz.hori_pid.C * g_ptz.hori_pid.PrevError;
|
// H_IIncPid = g_ptz.hori_pid.A * H_IError + g_ptz.hori_pid.B * g_ptz.hori_pid.LastError + g_ptz.hori_pid.C * g_ptz.hori_pid.PrevError;
|
||||||
|
H_IIncPid = g_ptz.hori_pid.KP * (H_IError - g_ptz.hori_pid.LastError) + g_ptz.hori_pid.TI * H_IError;
|
||||||
|
|
||||||
//存储误差,用于下次计算
|
//存储误差,用于下次计算
|
||||||
g_ptz.hori_pid.PrevError = g_ptz.hori_pid.LastError;
|
g_ptz.hori_pid.PrevError = g_ptz.hori_pid.LastError;
|
||||||
g_ptz.hori_pid.LastError = H_IError;
|
g_ptz.hori_pid.LastError = H_IError;
|
||||||
|
@ -121,6 +128,10 @@ static float ptz_hori_pid_calculate(float H_SampSpeed)
|
||||||
//新调速方式
|
//新调速方式
|
||||||
static void ptz_hori_pid_task()
|
static void ptz_hori_pid_task()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
OSTimeDlyHMSM(0u, 0u, 0u, 1000u);
|
||||||
|
|
||||||
unsigned int time = 0;
|
unsigned int time = 0;
|
||||||
char i = 0;
|
char i = 0;
|
||||||
while(1)
|
while(1)
|
||||||
|
@ -580,7 +591,48 @@ static void ptz_hori_pid_task()
|
||||||
g_ptz.hori_speed_actual = g_ptz.hori_speed_hall_actual;
|
g_ptz.hori_speed_actual = g_ptz.hori_speed_hall_actual;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef PTZ_PID_AS5047_SPEED
|
||||||
|
|
||||||
|
static float lastAngle = 0;
|
||||||
|
static float lastTime = 0;
|
||||||
|
float angle = 0;
|
||||||
|
float time = 0;
|
||||||
|
|
||||||
|
term_printf("OSTimeGet : %d \n", OSTimeGet());
|
||||||
|
OSTimeDlyHMSM(0u, 0u, 0u, 10u);
|
||||||
|
term_printf("OSTimeGet : %d \n", OSTimeGet());
|
||||||
|
|
||||||
|
/* 读取到正确速度为止 */
|
||||||
|
start:
|
||||||
|
angle = as5047d_hori_get_angle_a();
|
||||||
|
time = OSTimeGet();
|
||||||
|
if (angle < 0 || //防止读出的角度为负值
|
||||||
|
angle > 360.0||//防止读出的数值超过360
|
||||||
|
isnan(angle) == 1) {//防止读出的不是一个数
|
||||||
|
//以上错误的数据都该舍弃,从新读取
|
||||||
|
goto start;
|
||||||
|
}
|
||||||
|
|
||||||
|
float angleDifference = fabs(angle - lastAngle);
|
||||||
|
if (angleDifference > 180) {
|
||||||
|
angleDifference = 360 - angleDifference;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (angleDifference < 3) {
|
||||||
|
// // goto start;
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
float timeDifference = fabs(time - lastTime);
|
||||||
|
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
|
||||||
|
|
||||||
/*由于系统实时调节能力不足将调速分为两个部分:
|
/*由于系统实时调节能力不足将调速分为两个部分:
|
||||||
1.启动时首先进入直线比例快速提速;
|
1.启动时首先进入直线比例快速提速;
|
||||||
|
@ -645,7 +697,9 @@ static void ptz_hori_pid_task()
|
||||||
{
|
{
|
||||||
g_ptz.hori_pid.PidUT_float = PTZ_HORI_VR_MAX;
|
g_ptz.hori_pid.PidUT_float = PTZ_HORI_VR_MAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tempSpeedH = g_ptz.hori_pid.PidUT_float;
|
||||||
|
|
||||||
g_ptz.hori_pid.PidUT_uint = (unsigned int)(g_ptz.hori_pid.PidUT_float + 0.5);
|
g_ptz.hori_pid.PidUT_uint = (unsigned int)(g_ptz.hori_pid.PidUT_float + 0.5);
|
||||||
|
|
||||||
//限制PID的输出值在某个指定的范围
|
//限制PID的输出值在某个指定的范围
|
||||||
|
@ -754,7 +808,9 @@ static float ptz_vert_pid_calculate(float SampSpeed)
|
||||||
// IError = PTZ_VERT_PID_INPUT_LIMIT * -1;
|
// IError = PTZ_VERT_PID_INPUT_LIMIT * -1;
|
||||||
// }
|
// }
|
||||||
//增量计算
|
//增量计算
|
||||||
IIncPid = g_ptz.vert_pid.A * IError + g_ptz.vert_pid.B * g_ptz.vert_pid.LastError + g_ptz.vert_pid.C * g_ptz.vert_pid.PrevError;
|
// IIncPid = g_ptz.vert_pid.A * IError + g_ptz.vert_pid.B * g_ptz.vert_pid.LastError + g_ptz.vert_pid.C * g_ptz.vert_pid.PrevError;
|
||||||
|
IIncPid = g_ptz.vert_pid.KP * (IError - g_ptz.vert_pid.LastError) + g_ptz.vert_pid.TI * IError;
|
||||||
|
|
||||||
//存储误差,用于下次计算
|
//存储误差,用于下次计算
|
||||||
g_ptz.vert_pid.PrevError = g_ptz.vert_pid.LastError;
|
g_ptz.vert_pid.PrevError = g_ptz.vert_pid.LastError;
|
||||||
g_ptz.vert_pid.LastError = IError;
|
g_ptz.vert_pid.LastError = IError;
|
||||||
|
@ -1196,7 +1252,7 @@ static void ptz_vert_pid_task()
|
||||||
g_ptz.vert_pid.hall_h123_motor_speed =
|
g_ptz.vert_pid.hall_h123_motor_speed =
|
||||||
60000.0 * (float)(g_ptz.vert_pid.hall_h123_count /*-1*/) /
|
60000.0 * (float)(g_ptz.vert_pid.hall_h123_count /*-1*/) /
|
||||||
(float)PTZ_VERT_PID_T / PTZ_VERT_ONE_CYCLE_HALL_NUM;
|
(float)PTZ_VERT_PID_T / PTZ_VERT_ONE_CYCLE_HALL_NUM;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
g_ptz.vert_motor_speed_hall_actual = g_ptz.vert_pid.hall_h123_motor_speed;
|
g_ptz.vert_motor_speed_hall_actual = g_ptz.vert_pid.hall_h123_motor_speed;
|
||||||
|
@ -1216,10 +1272,37 @@ static void ptz_vert_pid_task()
|
||||||
//根据电机转速计算云台转速
|
//根据电机转速计算云台转速
|
||||||
g_ptz.vert_speed_hall_actual = g_ptz.vert_motor_speed_hall_actual / PTZ_VERT_RATIO;
|
g_ptz.vert_speed_hall_actual = g_ptz.vert_motor_speed_hall_actual / PTZ_VERT_RATIO;
|
||||||
g_ptz.vert_speed_actual = g_ptz.vert_speed_hall_actual;
|
g_ptz.vert_speed_actual = g_ptz.vert_speed_hall_actual;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef PTZ_PID_AS5047_SPEED
|
||||||
|
static float lastAngle = 0;
|
||||||
|
static float lastTime = 0;
|
||||||
|
float angle = 0;
|
||||||
|
float time = 0;
|
||||||
|
|
||||||
|
OSTimeDlyHMSM(0u, 0u, 0u, 20u);
|
||||||
|
/* 读取到正确速度为止 */
|
||||||
|
start:
|
||||||
|
angle = as5047d_vert_get_angle_a();
|
||||||
|
time = OSTimeGet();
|
||||||
|
if (angle < 0 || //防止读出的角度为负值
|
||||||
|
angle > 360.0||//防止读出的数值超过360
|
||||||
|
isnan(angle) == 1) {//防止读出的不是一个数
|
||||||
|
//以上错误的数据都该舍弃,从新读取
|
||||||
|
goto start;
|
||||||
|
}
|
||||||
|
|
||||||
|
float angleDifference = fabs(angle - lastAngle);
|
||||||
|
if (angleDifference < 3) {
|
||||||
|
// goto start;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
float timeDifference = fabs(time - lastTime);
|
||||||
|
g_ptz.vert_speed_actual = angleDifference / timeDifference / PTZ_VERT_RATIO * 166.667f;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//PID调速
|
//PID调速
|
||||||
|
@ -1303,7 +1386,9 @@ static void ptz_vert_pid_task()
|
||||||
}
|
}
|
||||||
|
|
||||||
g_ptz.vert_pid.PidUT_uint = (unsigned int)(g_ptz.vert_pid.PidUT_float + 0.5);
|
g_ptz.vert_pid.PidUT_uint = (unsigned int)(g_ptz.vert_pid.PidUT_float + 0.5);
|
||||||
|
|
||||||
|
tempSpeedV = g_ptz.vert_pid.PidUT_float;
|
||||||
|
|
||||||
//限制PID的输出值在某个指定的范围
|
//限制PID的输出值在某个指定的范围
|
||||||
if(g_ptz.vert_pid.PidUT_uint <= PTZ_VERT_VR_MIN)//限制输入模拟电压最小值
|
if(g_ptz.vert_pid.PidUT_uint <= PTZ_VERT_VR_MIN)//限制输入模拟电压最小值
|
||||||
{
|
{
|
||||||
|
@ -1318,7 +1403,8 @@ static void ptz_vert_pid_task()
|
||||||
//将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;
|
||||||
}
|
}
|
||||||
|
@ -1523,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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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,147 +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_HORI_PID_T 30u
|
// #define PTZ_PID_AS5047_SPEED 1
|
||||||
#define PTZ_HORI_PID_HORI_KP 20.0//比例系数
|
|
||||||
#define PTZ_HORI_PID_HORI_TI 100.0 //积分系数
|
|
||||||
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数
|
|
||||||
|
|
||||||
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID调速输入值限定
|
#define PTZ_HORI_PID_T 30u
|
||||||
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
#define PTZ_HORI_PID_HORI_KP 100.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
||||||
|
#define PTZ_HORI_PID_HORI_TI 30.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
||||||
|
#define PTZ_HORI_PID_HORI_TD 0.0 //<><CEA2>ϵ<EFBFBD><CFB5>
|
||||||
|
|
||||||
|
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
|
||||||
|
#define PTZ_HORI_PID_OUTPUT_LIMIT 50.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE>IJ<EFBFBD><C4B2><EFBFBD>
|
||||||
|
|
||||||
#define PTZ_VERT_PID_T 30u
|
#define PTZ_VERT_PID_T 30u
|
||||||
#define PTZ_VERT_PID_VERT_KP 20.0//比例系数
|
#define PTZ_VERT_PID_VERT_KP 100.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
||||||
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数
|
#define PTZ_VERT_PID_VERT_TI 30.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
||||||
#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 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
#define PTZ_VERT_PID_OUTPUT_LIMIT 50.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE>IJ<EFBFBD><C4B2><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
|
||||||
|
|
||||||
|
@ -277,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
|
|
@ -14,23 +14,35 @@ static char ptz_temp_volt_current_fault_detect_task()
|
||||||
static unsigned short int time_ms;
|
static unsigned short int time_ms;
|
||||||
|
|
||||||
time_ms ++;
|
time_ms ++;
|
||||||
|
|
||||||
|
static unsigned char hCurrCount = 0;
|
||||||
|
static unsigned char vCurrCount = 0;
|
||||||
|
|
||||||
|
|
||||||
if(time_ms < 50)
|
if(time_ms < 50)
|
||||||
{
|
{
|
||||||
//轻型云台峰值电流5.4A,
|
//轻型云台峰值电流5.4A,
|
||||||
if(H_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
if(H_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
||||||
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
||||||
|
if (3 < hCurrCount++) {
|
||||||
g_ptz.fault_detect.Phase_curr_H = FAULT;//水平电机相电流过大,报警
|
g_ptz.fault_detect.Phase_curr_H = FAULT;//水平电机相电流过大,报警
|
||||||
|
ptz_hori_stop(PTZ_HORI_STOP_TIME);
|
||||||
ptz_hori_stop(PTZ_HORI_STOP_TIME);
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
hCurrCount = 0;
|
||||||
|
|
||||||
if(V_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
if(V_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
||||||
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
||||||
|
if (3 < vCurrCount++) {
|
||||||
g_ptz.fault_detect.Phase_curr_V = FAULT;//垂直电机相电流过大,报警
|
g_ptz.fault_detect.Phase_curr_V = FAULT;//垂直电机相电流过大,报警
|
||||||
|
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
||||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
vCurrCount = 0;
|
||||||
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -377,6 +377,7 @@ void h_bldc_six_step()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -718,11 +718,11 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OCOutputOverride</name>
|
<name>OCOutputOverride</name>
|
||||||
<state>1</state>
|
<state>0</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OOCOutputFile</name>
|
<name>OOCOutputFile</name>
|
||||||
<state>LW21_01B-3S24_BLDC_V20-SV20_24052101.bin</state>
|
<state>OS2.bin</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OOCCommandLineProducer</name>
|
<name>OOCCommandLineProducer</name>
|
||||||
|
@ -761,7 +761,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkOutputFile</name>
|
<name>IlinkOutputFile</name>
|
||||||
<state>gd32f4xx.out</state>
|
<state>gd32f4xx.elf</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkDebugInfoEnable</name>
|
<name>IlinkDebugInfoEnable</name>
|
||||||
|
@ -825,7 +825,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFile</name>
|
<name>IlinkIcfFile</name>
|
||||||
<state>D:\psx\Pan-Tilt\1.software\HY\4.0 LW21-01B\BSP\IAR\GD32F450xE_APP.icf</state>
|
<state>D:\psx\Pan-Tilt\1.software\HY\4.0 LW21-01B\BSP\IAR\GD32F450xE.icf</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFileSlave</name>
|
<name>IlinkIcfFileSlave</name>
|
||||||
|
|
Loading…
Reference in New Issue