MW22-02A/APP/Device/Device_speed/speed_to_bldc.h

293 lines
12 KiB
C
Raw Permalink Normal View History

2025-05-21 01:55:40 +00:00
#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.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>
#define PTZ_PID_HALL_SPEED 1
#define PTZ_HORI_PID_T 20u
#define PTZ_HORI_PID_HORI_KP 0.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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_VERT_PID_T 20u
#define PTZ_VERT_PID_VERT_KP 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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T_MAX 75//50u//PID<49><44><EFBFBD><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><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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T_MAX 80//75u//PID<49><44><EFBFBD><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><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.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
//ͨ<><CDA8><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8>٣<EFBFBD><D9A3>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>󣻴ű<F3A3BBB4><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕȼ<C7B6>С<EFBFBD><D0A1><EFBFBD><EFBFBD>̨<EFBFBD>Ƕȼ<C7B6>С
//#define PTZ_VERT_PID_AS5048A_ANGLE_SYN_SPEED 1//<2F>Ƕȱ仯ͬ<E4BBAF><CDAC>
//ͨ<><CDA8><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8>٣<EFBFBD><D9A3>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕȼ<C7B6>С<EFBFBD><D0A1><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕȼ<C7B6>С<EFBFBD><D0A1><EFBFBD><EFBFBD>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>
//#define PTZ_HORI_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 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_FG_PWM_NUM_CYCLE 15.0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תһȦFG<46><47><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
// #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 100.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
//
// #define PTZ_VERT_PID_T 20u
// #define PTZ_VERT_PID_VERT_KP 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_FG_PWM_NUM_CYCLE 15.0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תһȦFG<46><47><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
// #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 100.0//PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T 20u
#define PTZ_HORI_PID_HORI_KP 6.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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_VERT_PID_T 20u
#define PTZ_VERT_PID_VERT_KP 8.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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T_MAX 75//50u//PID<49><44><EFBFBD><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><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 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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T_MAX 100u//PID<49><44><EFBFBD><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><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_HORI_PID_T 30u
#define PTZ_HORI_PID_HORI_KP 2.0//<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//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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_VERT_PID_T 30u
#define PTZ_VERT_PID_VERT_KP 2.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>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ֮<D6B5><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define PTZ_HORI_PID_T_MAX 100u//PID<49><44><EFBFBD><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><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
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<57><4D><EFBFBD><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>
//PID<49><44><EFBFBD><EFBFBD>
#define PID_ADJUST_SPEED 0
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DIRECTOR_ADJUST_SPEED 1
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
#endif