MW22-02A/APP/Device/Device_rotate/rotate_electricstable.h

88 lines
2.7 KiB
C
Raw Normal View History

2025-05-21 01:55:40 +00:00
#ifndef __PTZ_ELECTRIC_STABLE_H_
#define __PTZ_ELECTRIC_STABLE_H_
#include "ptz_type_select.h"
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
#define PTZ_ELECTRIC_STABLE_L6235D 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
#define PTZ_ELECTRIC_STABLE_ON 1 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef PTZ_ELECTRIC_STABLE_L6235D
#define ANGLE_SAMPLE_NUM 31
#define STABLE_T 5 //<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ʱ
#define HORI_SLIDE_DIRECTONG_THRESHOLD 24 //<2F>ж<EFBFBD><D0B6><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ ANGLE_SAMPLE_NUM * 2 / 3
#define HORI_SLIDE_DIR_CHANGE_NUM 10 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>Ĵ<EFBFBD><C4B4><EFBFBD>
#define VERT_SLIDE_DIRECTONG_THRESHOLD 24 //<2F>ж<EFBFBD><D0B6><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ ANGLE_SAMPLE_NUM * 2 / 3
#define VERT_SLIDE_DIR_CHANGE_NUM 10 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>Ĵ<EFBFBD><C4B4><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>ѹ<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
#define HORI_VREF_INC 300
#define VERT_VREF_INC 300
//ɲ<><C9B2><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 HORI_STOP_HALL_NUM 5
#define VERT_STOP_HALL_NUM 5
//<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>
#define HORI_VREF_INC_MUL 2
#define VERT_VREF_INC_MUL 2
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TORQUE_TOTAL_T 10//ms
//<2F>̶<EFBFBD><CCB6>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ѹ
#define TORQUE_VREF 100
typedef struct _vr_
{
unsigned int vref;
char dir;
}vr;
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct _ElectricStable_
{
char stable_stop_switch;//ɲ<><C9B2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>أ<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>رա<D8B1><D5A1><EFBFBD>ɲ<EFBFBD><C9B2>ֹͣ<CDA3><D6B9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1
char stable_sample_switch;//<2F><><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD>ʾ<EFBFBD>ǶȲɼ<C8B2><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float stable_angle[ANGLE_SAMPLE_NUM];//<2F><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>Ƕȣ<C7B6><C8A3>ж<EFBFBD><D0B6><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int sample_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int inc_count;//<2F><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>
unsigned int red_count;//<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
unsigned int equ_count;//<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
vr v[200];
unsigned int count;
unsigned int stable_vref;//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ѹ<EFBFBD>ȼ<EFBFBD>
char slide_direction_actual;//<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ʵ<EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD>
char slide_direction_last;//<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><CEB7><EFBFBD>
char slide_dir_change_num;//<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char reverse_torque_direction_a;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
char reverse_torque_direction;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
char reverse_torque_direction_last;//<2F><>һ<EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
unsigned int stop_hall_count;//<2F><>ֹ̨ͣʱ<D6B9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char state;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF>ƹ<EFBFBD><C6B9><EFBFBD>
//ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short int torque_start_t;
//ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short int torque_stop_t;
//<2F><><EFBFBD><EFBFBD>
char torque_switch;
}ElectricStable;
#endif
#ifdef PTZ_BLDC_MOTOR
void ptz_hori_electric_stable_init();
void ptz_vert_electric_stable_init();
void task_electric_stable_init(void);
#endif
#endif