LW21-01B/APP/Device/Device_speed/speed_to_bldc.h

286 lines
14 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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
//ˮƽ<CBAE>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//ˮƽ<CBAE>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><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 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.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 20u
#define PTZ_VERT_PID_VERT_KP 3//2//1.4 //0.014//0.005 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.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 75//50u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 75//50u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 30//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 10//10//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 10//15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
#define PID_B 1
//ˮƽ<CBAE>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//ˮƽ<CBAE>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
// #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
// #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//#define PID_A 1
// #define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
// #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
//ͨ<><CDA8>оƬ<D0BE><C6AC><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//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TD 0.001//΢<><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 200.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 20u
#define PTZ_VERT_PID_VERT_KP 6//6.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 80.0//100.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TD 0.001//΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.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 80//75u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 80//75u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
#define PID_B 1
//ˮƽ<CBAE>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//ˮƽ<CBAE>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
#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 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_INPUT_LIMIT 6.91//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.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 50u
#define PTZ_VERT_PID_VERT_KP 20.0//3.0 //0.014//0.005 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_INPUT_LIMIT 4.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.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 75//50u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 75//50u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 30//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 30//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
#define PID_B 1
//ˮƽ<CBAE>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//ˮƽ<CBAE>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
//#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
//ͨ<><CDA8>оƬ<D0BE><C6AC><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 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TI 100.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//6.91//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.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 2.0//6.0 //0.014//0.005 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.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<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 100u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//40//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//40//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
#define PID_B 1
//ˮƽ<CBAE>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//ˮƽ<CBAE>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//<2F><>ֱ<EFBFBD>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ʱ
#define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵķ<D9B5>Χ
#define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD>
//#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
//#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//<2F>Ƕȱ仯<C8B1>
//ͨ<><CDA8>оƬ<D0BE><C6AC><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_HALL_SPEED_SL 1
#define PTZ_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 35.0//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_HORI_PID_HORI_TI 0.0003 //<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 200.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//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TI 100.0 //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_VERT_TD 0.0 //΢<><CEA2>ϵ<EFBFBD><CFB5>
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD>
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.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<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_T_MAX 100u//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_PID_ADD 20//20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_PID_ADD 20//20//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_VERT_PID_ADD_A 15//PID<49><44><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
//PID<49><44><EFBFBD><EFBFBD>
#define PID_ADJUST_SPEED 0
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DIRECTOR_ADJUST_SPEED 1
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<57><4D><EFBFBD><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_CONTROL_SPEED_L6235D 2
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#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);
#endif
void as5047d_hori_get_speed(void);
#endif