确定转速问题是时间较短时霍尔次数少引起

This commit is contained in:
起床就犯困 2025-06-04 15:55:17 +08:00
parent 1a51263c5f
commit 50509f7092
7 changed files with 227 additions and 160 deletions

View File

@ -111,7 +111,7 @@ static void task_start (void *p_arg)
// ck_f=rcu_clock_freq_get(CK_APB1);
OSTimeDlyHMSM(0u, 0u, 0u, 100u);
//蜂鸣器开,初始化开始
beep_enable();
// beep_enable();
//flash引脚初始化
Flash_GPIO_Init();
@ -205,7 +205,7 @@ static void task_start (void *p_arg)
//蜂鸣器关,初始化结束
beep_disable();
while (DEF_TRUE) {
while (DEF_TRUE) {
OSTimeDlyHMSM(0u, 0u, 1u, 0u);
OSTaskDel(OS_PRIO_SELF);
}

View File

@ -3747,9 +3747,9 @@ static void ptz_get_angle_task()
{
while(1)
{
ptz_hori_get_angle_a();
// ptz_hori_get_angle_a();
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
ptz_vert_get_angle_a();
// ptz_vert_get_angle_a();
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
}
}

View File

@ -9,6 +9,8 @@
#ifdef PTZ_BLDC_MOTOR
static volatile uint32_t hori_speed_task_time = 0;
//发送云台实际转速
void ptz_send_speed(char dev, char speed)
{
@ -299,6 +301,8 @@ static void ptz_hori_pid_task()
#ifdef PTZ_PID_HALL_SPEED //霍尔反馈测速
// OSTimeDlyHMSM(0u, 0u, 0u, PTZ_HORI_PID_T);
// #if 1
g_ptz.hori_pid.hall_h1_count = 0;
g_ptz.hori_pid.hall_h2_count = 0;
g_ptz.hori_pid.hall_h3_count = 0;
@ -558,6 +562,14 @@ static void ptz_hori_pid_task()
}
static volatile uint32_t lastTime = 0;
static volatile uint32_t Time = 0;
Time = OSTimeGet();
hori_speed_task_time = Time - lastTime;
lastTime = Time;
g_ptz.hori_motor_speed_hall_actual = g_ptz.hori_pid.hall_h123_motor_speed;
/* ********************************** */
@ -661,7 +673,8 @@ static void ptz_hori_pid_task()
//将PID输出的电机转速模拟电压等级输入到模拟电压输出芯片
// hori_dac0_data_out(g_ptz.hori_pid.PidUT_uint);
h_pwm_duty_change(g_ptz.hori_pid.PidUT_uint);
// h_pwm_duty_change(g_ptz.hori_pid.PidUT_uint);
h_pwm_duty_change(500);
//将当前PID输出值保存
g_ptz.hori_pid.LastUT_float = g_ptz.hori_pid.PidUT_float;
@ -1525,7 +1538,57 @@ void init_speed_module(void)
}
#endif
static volatile float angleDifference = 0;
void as5047d_hori_get_speed(void)
{
#if 0
static float lastAngle = 0;
// static uint32_t lastTime = 0;
static float angle = 0;
// static uint32_t time = 0;
static int num = 0;
if (num++ > 100) {
if (g_ptz.hori_start_stop_set == PTZ_HORI_START) {
// time = OSTimeGet();
// angle = as5047d_hori_get_angle();
for(int m = 0; m < 5; m++) {
angle = as5047d_hori_get_angle_a();
if(angle < 0 || //防止读出的角度为负值
angle > 360.0 ||//防止读出的数值超过360
isnan(angle) == 1 ||//防止读出的不是一个数
((fabs(angle - lastAngle) > PTZ_HORI_ANGLE_DIFF_A) && (fabs(angle - lastAngle) < PTZ_HORI_ANGLE_DIFF_B)))
{//以上错误的数据都该舍弃,从新读取
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
}
else
{
break;
}
}
if (angle < 0 || angle > 360.0 || isnan(angle)) {
return;
}
angleDifference = fabs(angle - lastAngle);
if (angleDifference > 180) {
angleDifference = 360 - angleDifference;
}
// g_ptz.hori_speed_actual = angleDifference / (time - lastTime) * 1000.0;
g_ptz.hori_speed_actual = angleDifference * 0.03082;
lastAngle = angle;
}
}
#endif
}

View File

@ -8,114 +8,114 @@
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
#define PID_B 1
//水平速度小于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //水平比例调速增加的倍数
//水平速度大于设定速度时
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数
//垂直速度小于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数
//ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#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 //ˮƽ<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 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 3.5//4//1.4 //0.014//0.005 //比例系数
#define PTZ_HORI_PID_HORI_TI 100.0 //积分系数
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.0//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<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_VERT_KP 3//2//1.4 //0.014//0.005 //比例系数
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 10//10//PID调速快速增量
#define PTZ_VERT_PID_ADD_A 10//15//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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
#define PID_B 1
//水平速度小于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //水平比例调速增加的倍数
//水平速度大于设定速度时
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数
//垂直速度小于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数
//垂直速度大于设定速度时
// #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围
// #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数
//ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#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 //ˮƽ<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 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
// #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 PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//角度变化异步
// #define PTZ_VERT_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//<EFBFBD>Ƕȱ仯<EFBFBD>
//ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED
#define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 20u
#define PTZ_HORI_PID_HORI_KP 0.6//1.0//6.0//比例系数
#define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//积分系数
#define PTZ_HORI_PID_HORI_TD 0.001//微分系数
#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//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_KP 6//6.0//比例系数
#define PTZ_VERT_PID_VERT_TI 80.0//100.0//积分系数
#define PTZ_VERT_PID_VERT_TD 0.001//微分系数
#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//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
#define PID_B 1
//水平速度小于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //水平比例调速增加的倍数
//水平速度大于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数
//垂直速度小于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //垂直比例调速增加的倍数
//垂直速度大于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数
//ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#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 //ˮƽ<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 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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,147 @@
#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_TI 100.0 //积分系数
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.0//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<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_VERT_KP 20.0//3.0 //0.014//0.005 //比例系数
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 20//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
#define PID_B 1
//水平速度小于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //水平比例调速增加的倍数
//水平速度大于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数
//垂直速度小于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //垂直比例调速增加的倍数
//垂直速度大于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数
//ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#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 //ˮƽ<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 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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_VERT_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//<EFBFBD>Ƕȱ仯<EFBFBD>
//ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED
#define PTZ_PID_HALL_SPEED 1
#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_TI 100.0 //积分系数
#define PTZ_HORI_PID_HORI_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.0//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<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_VERT_KP 2.0//6.0 //0.014//0.005 //比例系数
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数
#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 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//40//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
#define PID_B 1
//水平速度小于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //水平比例调速增加的倍数
//水平速度大于设定速度时
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //水平比例调速的范围
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //水平比例调速增加的倍数
//垂直速度小于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //垂直比例调速增加的倍数
//垂直速度大于设定速度时
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //垂直比例调速的范围
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //垂直比例调速增加的倍数
//ˮƽ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#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 //ˮƽ<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 //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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 //<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<EFBFBD>Χ
#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_VERT_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//<EFBFBD>Ƕȱ仯<EFBFBD>
//ͨ<EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_JY02A_SPEED
//#define PTZ_VERT_PID_JY02A_SPEED
#define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 30u
#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_HORI_KP 20.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_HORI_PID_HORI_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_KP 20.0//比例系数
#define PTZ_VERT_PID_VERT_TI 100.0 //积分系数
#define PTZ_VERT_PID_VERT_TD 0.0 //微分系数
#define PTZ_VERT_PID_VERT_KP 20.0//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#define PTZ_VERT_PID_VERT_TI 100.0 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
#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_OUTPUT_LIMIT 200.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<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_VERT_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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//20//PID调速快速增量
#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_ADD_A 15//PID调速快速增量
//#define PTZ_VERT_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<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
//PID调速
//PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PID_ADJUST_SPEED 0
//方向调速
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DIRECTOR_ADJUST_SPEED 1
#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
//方向调速总周期
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_DIRECTOR_SPEED_T 10//20
#endif
@ -279,4 +279,7 @@ void ptz_vert_pid_clear_zero();
void init_speed_module(void);
#endif
void as5047d_hori_get_speed(void);
#endif

View File

@ -288,7 +288,7 @@ static char ptz_motor_rotate_fault_detect_task()
time_ms = 0;
}
return 1;
//垂直
switch(vert_rotate_fault_step)
@ -851,7 +851,7 @@ static char ptz_fault_detect_task()
//故障回传
ptz_fault_return_task();
//光电开关故障,,光电开关不能故障回传,因为断电时会检测到故障,,,需要通过状态查询回传
ptz_vert_sw12_fault_detect_task();
// ptz_vert_sw12_fault_detect_task();
if(g_ptz.fault_detect.hori_rotate_fault == FAULT ||

View File

@ -392,6 +392,7 @@ void TIMER4_IRQHandler(void)
v_bldc_six_step();
h_bldc_six_step();
timer_interrupt_flag_clear(TIMER4,TIMER_INT_FLAG_UP);
as5047d_hori_get_speed();
}
}

View File

@ -825,7 +825,7 @@
</option>
<option>
<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>
<name>IlinkIcfFileSlave</name>