diff --git a/APP/Appcfg/app.c b/APP/Appcfg/app.c index a66f09e..9aa89f6 100644 --- a/APP/Appcfg/app.c +++ b/APP/Appcfg/app.c @@ -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); } diff --git a/APP/Device/Device_angle/get_angle.c b/APP/Device/Device_angle/get_angle.c index 28a7eec..1e42ebb 100644 --- a/APP/Device/Device_angle/get_angle.c +++ b/APP/Device/Device_angle/get_angle.c @@ -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); } } diff --git a/APP/Device/Device_speed/speed_to_bldc.c b/APP/Device/Device_speed/speed_to_bldc.c index 913f112..0bd94df 100644 --- a/APP/Device/Device_speed/speed_to_bldc.c +++ b/APP/Device/Device_speed/speed_to_bldc.c @@ -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 ||//ֹIJһ + ((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 +} diff --git a/APP/Device/Device_speed/speed_to_bldc.h b/APP/Device/Device_speed/speed_to_bldc.h index 5d28824..62c7c41 100644 --- a/APP/Device/Device_speed/speed_to_bldc.h +++ b/APP/Device/Device_speed/speed_to_bldc.h @@ -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 //ֱӵı + //ˮƽ�ٶ�С���趨�ٶ�ʱ + #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 //��ֱ�����������ӵı��� #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 //����ϵ�� + #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ�� + #define PTZ_HORI_PID_HORI_TD 0.0 //΢��ϵ�� - #define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PIDֵ޶ - #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PID��������ֵ�޶� + #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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 //����ϵ�� + #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ�� + #define PTZ_VERT_PID_VERT_TD 0.0 //΢��ϵ�� - #define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PIDֵ޶ - #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PID��������ֵ�޶� + #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� - #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����������� + #define PTZ_VERT_PID_T_MAX 75//50u//PID����������� - #define PTZ_HORI_PID_ADD 30//PIDٿ - #define PTZ_VERT_PID_ADD 30//PIDٿ + #define PTZ_HORI_PID_ADD 30//PID���ٿ������� + #define PTZ_VERT_PID_ADD 30//PID���ٿ������� - #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���ٿ������� + #define PTZ_VERT_PID_ADD_A 10//15//PID���ٿ������� #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 //ֱӵı + //ˮƽ�ٶ�С���趨�ٶ�ʱ + #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 //��ֱ�����������ӵı��� //#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//�Ƕȱ仯�첽 + // #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽 + //ͨ��оƬ�������� //#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//����ϵ�� + #define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//����ϵ�� + #define PTZ_HORI_PID_HORI_TD 0.001//΢��ϵ�� - #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PIDֵ޶ - #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� + #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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//����ϵ�� + #define PTZ_VERT_PID_VERT_TI 80.0//100.0//����ϵ�� + #define PTZ_VERT_PID_VERT_TD 0.001//΢��ϵ�� - #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PIDֵ޶ - #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� + #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� - #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����������� + #define PTZ_VERT_PID_T_MAX 80//75u//PID����������� - #define PTZ_HORI_PID_ADD 20//PIDٿ - #define PTZ_VERT_PID_ADD 20//PIDٿ + #define PTZ_HORI_PID_ADD 20//PID���ٿ������� + #define PTZ_VERT_PID_ADD 20//PID���ٿ������� - #define PTZ_HORI_PID_ADD_A 15//PIDٿ - #define PTZ_VERT_PID_ADD_A 15//PIDٿ + #define PTZ_HORI_PID_ADD_A 15//PID���ٿ������� + #define PTZ_VERT_PID_ADD_A 15//PID���ٿ������� #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 //ֱӵı + //ˮƽ�ٶ�С���趨�ٶ�ʱ + #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 //��ֱ�����������ӵı��� @@ -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 //����ϵ�� + #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ�� + #define PTZ_HORI_PID_HORI_TD 0.0 //΢��ϵ�� - #define PTZ_HORI_PID_INPUT_LIMIT 6.91//PIDֵ޶ - #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_HORI_PID_INPUT_LIMIT 6.91//PID��������ֵ�޶� + #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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 //����ϵ�� + #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ�� + #define PTZ_VERT_PID_VERT_TD 0.0 //΢��ϵ�� - #define PTZ_VERT_PID_INPUT_LIMIT 4.0//PIDֵ޶ - #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_VERT_PID_INPUT_LIMIT 4.0//PID��������ֵ�޶� + #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� - #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����������� + #define PTZ_VERT_PID_T_MAX 75//50u//PID����������� - #define PTZ_HORI_PID_ADD 30//PIDٿ - #define PTZ_VERT_PID_ADD 30//PIDٿ + #define PTZ_HORI_PID_ADD 30//PID���ٿ������� + #define PTZ_VERT_PID_ADD 30//PID���ٿ������� - #define PTZ_HORI_PID_ADD_A 20//PIDٿ - #define PTZ_VERT_PID_ADD_A 20//PIDٿ + #define PTZ_HORI_PID_ADD_A 20//PID���ٿ������� + #define PTZ_VERT_PID_ADD_A 20//PID���ٿ������� #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 //ֱӵı + //ˮƽ�ٶ�С���趨�ٶ�ʱ + #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 //��ֱ�����������ӵı��� - //#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//�Ƕȱ仯�첽 + //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽 + //ͨ��оƬ�������� //#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 //����ϵ�� + #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ�� + #define PTZ_HORI_PID_HORI_TD 0.0 //΢��ϵ�� - #define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PIDֵ޶ - #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PID��������ֵ�޶� + #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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 //����ϵ�� + #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ�� + #define PTZ_VERT_PID_VERT_TD 0.0 //΢��ϵ�� - #define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PIDֵ޶ - #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PID��������ֵ�޶� + #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� - #define PTZ_HORI_PID_T_MAX 100u//PID - #define PTZ_VERT_PID_T_MAX 100u//PID + #define PTZ_HORI_PID_T_MAX 100u//PID����������� + #define PTZ_VERT_PID_T_MAX 100u//PID����������� - #define PTZ_HORI_PID_ADD 20//40//PIDٿ - #define PTZ_VERT_PID_ADD 20//40//PIDٿ + #define PTZ_HORI_PID_ADD 20//40//PID���ٿ������� + #define PTZ_VERT_PID_ADD 20//40//PID���ٿ������� - #define PTZ_HORI_PID_ADD_A 15//PIDٿ - #define PTZ_VERT_PID_ADD_A 15//PIDٿ + #define PTZ_HORI_PID_ADD_A 15//PID���ٿ������� + #define PTZ_VERT_PID_ADD_A 15//PID���ٿ������� #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 //ֱӵı + //ˮƽ�ٶ�С���趨�ٶ�ʱ + #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 //��ֱ�����������ӵı��� - //#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//�Ƕȱ仯�첽 + //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽 + //ͨ��оƬ�������� //#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//����ϵ�� + #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_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� + #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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//����ϵ�� + #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ�� + #define PTZ_VERT_PID_VERT_TD 0.0 //΢��ϵ�� - #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PIDֵ޶ - #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵ޶ǰֵһֵ֮IJ + #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� + #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� - #define PTZ_HORI_PID_T_MAX 100u//PID - #define PTZ_VERT_PID_T_MAX 100u//PID + #define PTZ_HORI_PID_T_MAX 100u//PID����������� + #define PTZ_VERT_PID_T_MAX 100u//PID����������� - #define PTZ_HORI_PID_ADD 20//20//PIDٿ - #define PTZ_VERT_PID_ADD 20//20//PIDٿ + #define PTZ_HORI_PID_ADD 20//20//PID���ٿ������� + #define PTZ_VERT_PID_ADD 20//20//PID���ٿ������� - //#define PTZ_HORI_PID_ADD_A 15//PIDٿ - //#define PTZ_VERT_PID_ADD_A 15//PIDٿ + //#define PTZ_HORI_PID_ADD_A 15//PID���ٿ������� + //#define PTZ_VERT_PID_ADD_A 15//PID���ٿ������� #endif -//PID +//PID���� #define PID_ADJUST_SPEED 0 -// +//������� #define DIRECTOR_ADJUST_SPEED 1 #ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D -//ͨPWMṩص -//Ƿ÷ +//ͨ������PWM���ṩ�������ص��� +//�Ƿ����÷������ #define PTZ_CONTROL_SPEED_L6235D 2 -// +//������������� #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 \ No newline at end of file diff --git a/APP/Service/service_statusmonitor.c b/APP/Service/service_statusmonitor.c index c727ad5..12b5aa0 100644 --- a/APP/Service/service_statusmonitor.c +++ b/APP/Service/service_statusmonitor.c @@ -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 || diff --git a/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c b/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c index 994f68c..6f4788e 100644 --- a/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c +++ b/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c @@ -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(); } } diff --git a/PROJECT/OS2.ewp b/PROJECT/OS2.ewp index c85f083..d2ffe04 100644 --- a/PROJECT/OS2.ewp +++ b/PROJECT/OS2.ewp @@ -825,7 +825,7 @@