#ifndef __DEVICE_SPEED_BLDC_H_ #define __DEVICE_SPEED_BLDC_H_ #include "ptz_type_select.h" #ifdef PTZ_BLDC_MOTOR #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_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_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_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_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���ٿ������� #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 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_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_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_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_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���ٿ������� #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_PID_HALL_SPEED 1 // #define PTZ_VERT_PID_as5047d_ANGLE_ASY_SPEED 1 // #define PTZ_HORI_PID_as5047d_ANGLE_SYN_SPEED 1 #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_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_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_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���ٿ������� #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_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_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_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_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���ٿ������� #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_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_PID_AS5047_SPEED 1 #define PTZ_HORI_PID_T 30u #define PTZ_HORI_PID_HORI_KP 100.0//����ϵ�� #define PTZ_HORI_PID_HORI_TI 30.0 //����ϵ�� #define PTZ_HORI_PID_HORI_TD 0.0 //΢��ϵ�� #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� #define PTZ_HORI_PID_OUTPUT_LIMIT 50.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #define PTZ_VERT_PID_T 30u #define PTZ_VERT_PID_VERT_KP 100.0//����ϵ�� #define PTZ_VERT_PID_VERT_TI 30.0 //����ϵ�� #define PTZ_VERT_PID_VERT_TD 0.0 //΢��ϵ�� #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID��������ֵ�޶� #define PTZ_VERT_PID_OUTPUT_LIMIT 50.0//PID�������ֵ�޶�����ǰ���ֵ����һ�����ֵ֮��IJ��� #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_A 15//PID���ٿ������� //#define PTZ_VERT_PID_ADD_A 15//PID���ٿ������� #endif //PID���� #define PID_ADJUST_SPEED 0 //������� #define DIRECTOR_ADJUST_SPEED 1 #ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D //ͨ������PWM���ṩ�������ص��� //�Ƿ����÷������ #define PTZ_CONTROL_SPEED_L6235D 2 //������������� #define PTZ_DIRECTOR_SPEED_T 10//20 #endif void ptz_send_speed(char dev, char speed); void init_speed_module(void); 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