Compare commits

...

3 Commits

Author SHA1 Message Date
起床就犯困 08f686831e 添加编码器速度计算出错 2025-06-03 10:33:27 +08:00
起床就犯困 203a25e7a7 更改速度计算方式和相电流计算方式 2025-05-30 16:36:53 +08:00
起床就犯困 9b021d1a0d 修该减速比 2025-05-30 16:36:19 +08:00
14 changed files with 13165 additions and 2320 deletions

8
.vscode/settings.json vendored Normal file
View File

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

View File

@ -338,11 +338,11 @@
#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_RATIO 1350.0
#define PTZ_HORI_RATIO 150.0
///水平电机调速模拟电压最大值
#define PTZ_HORI_VR_MAX 1999
///水平电机调速模拟电压最小值
@ -354,20 +354,20 @@
///水平电机最小转速
#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_RATIO 1350.0
#define PTZ_VERT_RATIO 500.0
///垂直电机调速模拟电压最大值
#define PTZ_VERT_VR_MAX 1999
///垂直电机调速模拟电压最小值
@ -379,11 +379,11 @@
///垂直电机最小转速
#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
//电机磁极对数

View File

@ -9,6 +9,10 @@
#ifdef PTZ_BLDC_MOTOR
static volatile float tempSpeedH = 0;
static volatile float tempSpeedV = 0;
//发送云台实际转速
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.T = PTZ_HORI_PID_T / 1000.0;//采样周期
//三个简化参数ABC
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.C = g_ptz.hori_pid.KP * (g_ptz.hori_pid.TD / g_ptz.hori_pid.T);
// 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.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.LastError = 0;//上一次输入偏差
@ -78,9 +82,10 @@ void ptz_pid_init()
g_ptz.vert_pid.TD = PTZ_VERT_PID_VERT_TD;//微分常数
g_ptz.vert_pid.T = PTZ_VERT_PID_T / 1000.0;//采样周期
//三个简化参数ABC
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.C = g_ptz.vert_pid.KP * (g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
// 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.C = g_ptz.vert_pid.KP * (g_ptz.vert_pid.TD / g_ptz.vert_pid.T);
}
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_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.LastError = H_IError;
@ -121,6 +128,10 @@ static float ptz_hori_pid_calculate(float H_SampSpeed)
//新调速方式
static void ptz_hori_pid_task()
{
OSTimeDlyHMSM(0u, 0u, 0u, 1000u);
unsigned int time = 0;
char i = 0;
while(1)
@ -581,6 +592,47 @@ static void ptz_hori_pid_task()
#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.线
@ -646,6 +698,8 @@ static void ptz_hori_pid_task()
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);
//限制PID的输出值在某个指定的范围
@ -754,7 +808,9 @@ static float ptz_vert_pid_calculate(float SampSpeed)
// 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.LastError = IError;
@ -1219,6 +1275,33 @@ static void ptz_vert_pid_task()
#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
}
@ -1304,6 +1387,8 @@ static void ptz_vert_pid_task()
g_ptz.vert_pid.PidUT_uint = (unsigned int)(g_ptz.vert_pid.PidUT_float + 0.5);
tempSpeedV = g_ptz.vert_pid.PidUT_float;
//限制PID的输出值在某个指定的范围
if(g_ptz.vert_pid.PidUT_uint <= PTZ_VERT_VR_MIN)//限制输入模拟电压最小值
{
@ -1318,7 +1403,8 @@ static void ptz_vert_pid_task()
//将PID输出的电机转速模拟电压等级输入到模拟电压输出芯片
// 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输出值保存
g_ptz.vert_pid.LastUT_float = g_ptz.vert_pid.PidUT_float;
}
@ -1523,6 +1609,55 @@ void init_speed_module(void)
#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

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,149 @@
#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_PID_AS5047_SPEED 1
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID调速输入值限定
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定当前输出值和上一次输出值之间的差异
#define PTZ_HORI_PID_T 30u
#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_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 100.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 30.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#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 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_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
@ -277,6 +279,10 @@ void ptz_pid_Init();
void ptz_hori_pid_clear_zero();
void ptz_vert_pid_clear_zero();
void init_speed_module(void);
void as5047d_hori_get_speed(void);
void as5047d_vert_get_speed(void);
#endif
#endif

View File

@ -14,23 +14,35 @@ static char ptz_temp_volt_current_fault_detect_task()
static unsigned short int time_ms;
time_ms ++;
static unsigned char hCurrCount = 0;
static unsigned char vCurrCount = 0;
if(time_ms < 50)
{
//轻型云台峰值电流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 (3 < hCurrCount++) {
g_ptz.fault_detect.Phase_curr_H = FAULT;//水平电机相电流过大,报警
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 (3 < vCurrCount++) {
g_ptz.fault_detect.Phase_curr_V = FAULT;//垂直电机相电流过大,报警
ptz_vert_stop(PTZ_VERT_STOP_TIME);
}
}
else
vCurrCount = 0;
return 1;
}
else

View File

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

View File

@ -2,9 +2,9 @@
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x08010000;
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08010000;
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<fileVersion>3</fileVersion>
<fileVersion>4</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
@ -11,7 +11,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -44,7 +44,7 @@
</option>
<option>
<name>MemFile</name>
<state>$TOOLKIT_DIR$\CONFIG\debugger\GigaDevice\GD32F450xE.ddf</state>
<state>$TOOLKIT_DIR$\config\debugger\GigaDevice\GD32F450xE.ddf</state>
</option>
<option>
<name>RunToEnable</name>
@ -88,7 +88,7 @@
</option>
<option>
<name>OCLastSavedByProductVersion</name>
<state>9.20.1.43525</state>
<state>9.40.2.67586</state>
</option>
<option>
<name>UseFlashLoader</name>
@ -112,7 +112,7 @@
</option>
<option>
<name>FlashLoadersV3</name>
<state>$TOOLKIT_DIR$\config\flashloader\GigaDevice\FlashGD32F4xxxE.board</state>
<state>$TOOLKIT_DIR$/config/flashloader/GigaDevice/FlashGD32F4xxxE.board</state>
</option>
<option>
<name>OCImagesSuppressCheck1</name>
@ -222,6 +222,38 @@
<name>OCTpiuBaseOption</name>
<state>1</state>
</option>
<option>
<name>OCOverrideSlave</name>
<state>0</state>
</option>
<option>
<name>OCOverrideSlavePath</name>
<state></state>
</option>
<option>
<name>C_32_64Device</name>
<state>1</state>
</option>
<option>
<name>AuthEnable</name>
<state>0</state>
</option>
<option>
<name>AuthSdmSelection</name>
<state>1</state>
</option>
<option>
<name>AuthSdmManifest</name>
<state></state>
</option>
<option>
<name>AuthSdmExplicitLib</name>
<state></state>
</option>
<option>
<name>AuthEnforce</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -457,6 +489,39 @@
</option>
</data>
</settings>
<settings>
<name>E2_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>E2PowerFromProbe</name>
<state>1</state>
</option>
<option>
<name>CE2UsbSerialNo</name>
<state></state>
</option>
<option>
<name>CE2IdCodeEditB</name>
<state>0xFFFF'FFFF'FFFF'FFFF'FFFF'FFFF'FFFF'FFFF</state>
</option>
<option>
<name>CE2LogFileCheck</name>
<state>0</state>
</option>
<option>
<name>CE2LogFileEditB</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>GDBSERVER_ID</name>
<archiveVersion>2</archiveVersion>
@ -1072,7 +1137,7 @@
<name>STLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>7</version>
<version>8</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -1187,9 +1252,17 @@
</option>
<option>
<name>CCSTLinkProbeList</name>
<version>1</version>
<version>2</version>
<state>0</state>
</option>
<option>
<name>CCSTLinkTargetVccEnable</name>
<state>1</state>
</option>
<option>
<name>CCSTLinkTargetVoltage</name>
<state>###Uninitialized###</state>
</option>
</data>
</settings>
<settings>
@ -1417,7 +1490,7 @@
</option>
<option>
<name>CCXds100ResetList</name>
<version>0</version>
<version>1</version>
<state>0</state>
</option>
<option>
@ -1506,17 +1579,25 @@
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9BE.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9a.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
@ -1541,7 +1622,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1752,6 +1833,38 @@
<name>OCTpiuBaseOption</name>
<state>1</state>
</option>
<option>
<name>OCOverrideSlave</name>
<state>0</state>
</option>
<option>
<name>OCOverrideSlavePath</name>
<state></state>
</option>
<option>
<name>C_32_64Device</name>
<state>1</state>
</option>
<option>
<name>AuthEnable</name>
<state>0</state>
</option>
<option>
<name>AuthSdmSelection</name>
<state>1</state>
</option>
<option>
<name>AuthSdmManifest</name>
<state></state>
</option>
<option>
<name>AuthSdmExplicitLib</name>
<state></state>
</option>
<option>
<name>AuthEnforce</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1987,6 +2100,39 @@
</option>
</data>
</settings>
<settings>
<name>E2_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>E2PowerFromProbe</name>
<state>1</state>
</option>
<option>
<name>CE2UsbSerialNo</name>
<state></state>
</option>
<option>
<name>CE2IdCodeEditB</name>
<state>0xFFFF'FFFF'FFFF'FFFF'FFFF'FFFF'FFFF'FFFF</state>
</option>
<option>
<name>CE2LogFileCheck</name>
<state>0</state>
</option>
<option>
<name>CE2LogFileEditB</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>GDBSERVER_ID</name>
<archiveVersion>2</archiveVersion>
@ -2602,7 +2748,7 @@
<name>STLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>7</version>
<version>8</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -2717,9 +2863,17 @@
</option>
<option>
<name>CCSTLinkProbeList</name>
<version>1</version>
<version>2</version>
<state>0</state>
</option>
<option>
<name>CCSTLinkTargetVccEnable</name>
<state>1</state>
</option>
<option>
<name>CCSTLinkTargetVoltage</name>
<state>###Uninitialized###</state>
</option>
</data>
</settings>
<settings>
@ -2947,7 +3101,7 @@
</option>
<option>
<name>CCXds100ResetList</name>
<version>0</version>
<version>1</version>
<state>0</state>
</option>
<option>
@ -3036,17 +3190,25 @@
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9BE.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9a.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<fileVersion>3</fileVersion>
<fileVersion>4</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
@ -11,7 +11,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>34</version>
<version>36</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -62,7 +62,7 @@
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
<state>A compact configuration of the C/C++14 runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
</option>
<option>
<name>OGProductVersion</name>
@ -70,7 +70,7 @@
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>9.20.1.43525</state>
<state>9.40.2.67586</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
@ -98,7 +98,7 @@
</option>
<option>
<name>GBECoreSlave</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -115,7 +115,7 @@
</option>
<option>
<name>CoreVariant</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -138,7 +138,7 @@
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -203,13 +203,26 @@
<name>BuildFilesPath</name>
<state>Debug</state>
</option>
<option>
<name>PointerAuthentication</name>
<state>0</state>
</option>
<option>
<name>FPU64</name>
<state>1</state>
</option>
<option>
<name>OG_32_64DeviceCoreSlave</name>
<version>33</version>
<state>39</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>37</version>
<version>38</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -511,13 +524,21 @@
<name>CCStackProtection</name>
<state>0</state>
</option>
<option>
<name>CCPointerAutentiction</name>
<state>0</state>
</option>
<option>
<name>CCBranchTargetIdentification</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>11</version>
<version>12</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -677,6 +698,10 @@
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>A_32_64Device</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -693,11 +718,11 @@
</option>
<option>
<name>OCOutputOverride</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>OOCOutputFile</name>
<state>LW21_01B-3S24_BLDC_V20-SV20_24052101.bin</state>
<state>OS2.bin</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -719,19 +744,11 @@
<buildSequence>inputOutputBased</buildSequence>
</data>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>1</archiveVersion>
<data>
<prebuild></prebuild>
<postbuild></postbuild>
</data>
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>26</version>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -744,7 +761,7 @@
</option>
<option>
<name>IlinkOutputFile</name>
<state>gd32f4xx.out</state>
<state>gd32f4xx.elf</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
@ -808,7 +825,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>I:\HY-2.0\HY2.0\trunk\iar9_2\4.0 LW21-01B\Hyt2\BSP\IAR\GD32F450xE.icf</state>
<state>D:\psx\Pan-Tilt\1.software\HY\4.0 LW21-01B\BSP\IAR\GD32F450xE.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -1091,6 +1108,14 @@
<name>IlinkWrapperFile</name>
<state></state>
</option>
<option>
<name>IlinkProcessor</name>
<state>1</state>
</option>
<option>
<name>IlinkFpuProcessor</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1114,6 +1139,11 @@
</option>
</data>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>2</archiveVersion>
<data />
</settings>
</configuration>
<configuration>
<name>Release</name>
@ -1125,7 +1155,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>34</version>
<version>36</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1184,7 +1214,7 @@
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>9.20.1.43525</state>
<state>9.40.2.67586</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
@ -1212,7 +1242,7 @@
</option>
<option>
<name>GBECoreSlave</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -1229,7 +1259,7 @@
</option>
<option>
<name>CoreVariant</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -1252,7 +1282,7 @@
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>31</version>
<version>33</version>
<state>39</state>
</option>
<option>
@ -1317,13 +1347,26 @@
<name>BuildFilesPath</name>
<state>Release</state>
</option>
<option>
<name>PointerAuthentication</name>
<state>0</state>
</option>
<option>
<name>FPU64</name>
<state>1</state>
</option>
<option>
<name>OG_32_64DeviceCoreSlave</name>
<version>33</version>
<state>39</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>37</version>
<version>38</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1610,13 +1653,21 @@
<name>CCStackProtection</name>
<state>0</state>
</option>
<option>
<name>CCPointerAutentiction</name>
<state>0</state>
</option>
<option>
<name>CCBranchTargetIdentification</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>11</version>
<version>12</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1776,6 +1827,10 @@
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>A_32_64Device</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1818,19 +1873,11 @@
<buildSequence>inputOutputBased</buildSequence>
</data>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>1</archiveVersion>
<data>
<prebuild></prebuild>
<postbuild></postbuild>
</data>
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>26</version>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -2190,6 +2237,14 @@
<name>IlinkWrapperFile</name>
<state></state>
</option>
<option>
<name>IlinkProcessor</name>
<state>1</state>
</option>
<option>
<name>IlinkFpuProcessor</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -2213,6 +2268,11 @@
</option>
</data>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>2</archiveVersion>
<data />
</settings>
</configuration>
<group>
<name>APP</name>
@ -2375,7 +2435,7 @@
<settings>
<name>ICCARM</name>
<data>
<version>37</version>
<version>38</version>
<wantNonLocal>0</wantNonLocal>
<debug>1</debug>
<option>
@ -2669,6 +2729,14 @@
<name>CCStackProtection</name>
<state>0</state>
</option>
<option>
<name>CCPointerAutentiction</name>
<state>0</state>
</option>
<option>
<name>CCBranchTargetIdentification</name>
<state>0</state>
</option>
</data>
</settings>
</configuration>
@ -2900,7 +2968,7 @@
<settings>
<name>ICCARM</name>
<data>
<version>37</version>
<version>38</version>
<wantNonLocal>0</wantNonLocal>
<debug>1</debug>
<option>
@ -3192,6 +3260,14 @@
<name>CCStackProtection</name>
<state>0</state>
</option>
<option>
<name>CCPointerAutentiction</name>
<state>0</state>
</option>
<option>
<name>CCBranchTargetIdentification</name>
<state>0</state>
</option>
</data>
</settings>
</configuration>

File diff suppressed because it is too large Load Diff