524 lines
33 KiB
C
524 lines
33 KiB
C
#ifndef __DEVICE_ANGLE_H_
|
|
#define __DEVICE_ANGLE_H_
|
|
#include "ptz_type_select.h"
|
|
|
|
|
|
#define PTZ_HORI_PS_TIEM 12u ///延时判断光电开关状态时间,转速为一转每分延时
|
|
#define PTZ_VERT_PS_TIEM 12u //延时判断光电开关状态时间,转速为一转每分延时
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CLK_50M
|
|
#define PTZ_HORI_ANGLE_TIME (g_ptz.hori_as5047d.time * 1.5) //(角度读取间隔时间 * 放大倍数)
|
|
#define PTZ_VERT_ANGLE_TIME (g_ptz.vert_as5047d.time * 1.5) //(角度读取间隔时间 * 放大倍数)
|
|
#else
|
|
#define PTZ_HORI_ANGLE_TIME (g_ptz.hori_as5047d.time * 1.5) //(角度读取间隔时间 * 放大倍数)
|
|
#define PTZ_VERT_ANGLE_TIME (g_ptz.vert_as5047d.time * 1.5) //(角度读取间隔时间 * 放大倍数)
|
|
#endif
|
|
|
|
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
|
|
//磁编码器角度增大,云台角度增大;磁编码器角度减小,云台角度减小
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
// #define PTZ_HORI_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
// #define PTZ_VERT_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
//#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
// #define PTZ_RIGHT_CYCLE_A 5.0 //距离最小满足角度
|
|
// #define PTZ_RIGHT_CYCLE_B 20.0 //距离最大不超过角度
|
|
// #define PTZ_RIGHT_CYCLE_C 6.5//0.5 //检测转动完一圈是否到达同一个点的距离阈值
|
|
// #define PTZ_RIGHT_ANGLE_WF 1.5 //对磁编码器角度进行滤波的阈值
|
|
//
|
|
// #define PTZ_LEFT_CYCLE_A 5.0 //距离最小满足角度
|
|
// #define PTZ_LEFT_CYCLE_B 20.0 //距离最大不超过角度
|
|
// #define PTZ_LEFT_CYCLE_C 6.5//0.5 //检测转动完一圈是否到达同一个点的距离阈值
|
|
// #define PTZ_LEFT_ANGLE_WF 1.5 //对磁编码器角度进行滤波的阈值
|
|
//
|
|
// #define PTZ_UP_CYCLE_A 5.0 //距离最小满足角度
|
|
// #define PTZ_UP_CYCLE_B 20.0 //距离最大不超过角度
|
|
// #define PTZ_UP_CYCLE_C 6.5//0.5 //检测转动完一圈是否到达同一个点的距离阈值
|
|
// #define PTZ_UP_ANGLE_WF 1.5 //对磁编码器角度进行滤波的阈值
|
|
//
|
|
// #define PTZ_DOWN_CYCLE_A 5.0 //距离最小满足角度
|
|
// #define PTZ_DOWN_CYCLE_B 20.0 //距离最大不超过角度
|
|
// #define PTZ_DOWN_CYCLE_C 6.5//0.5 //检测转动完一圈是否到达同一个点的距离阈值
|
|
// #define PTZ_DOWN_ANGLE_WF 1.5 //对磁编码器角度进行滤波的阈值
|
|
//
|
|
// #define PTZ_HORI_AS5047D_PTZ_ANGLE_WF 10.0 //排除磁编码角度异常值
|
|
// #define PTZ_VERT_AS5047D_PTZ_ANGLE_WF 10.0//排除磁编码角度异常值
|
|
//
|
|
// #define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
// #define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
//
|
|
// #define PTZ_VERT_AS5047D_ANGLE_WF_A 30.0//云台垂直磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_A 30.0//云台水平磁编码总角度滤波
|
|
//
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_B 1400.0//云台水平磁编码总角度滤波
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
|
|
#endif
|
|
|
|
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
|
|
|
|
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
//#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
|
|
//磁编码器角度增大,云台角度增大;磁编码器角度减小,云台角度减小
|
|
// //#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
// #define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
//
|
|
// //磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
// #define PTZ_HORI_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
// //#define PTZ_VERT_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
//#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
//#define PTZ_HORI_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_ASY 2//角度变化异步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
//#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
|
|
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
|
|
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//步进电机
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_12V
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
// #define PTZ_RIGHT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_LEFT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_UP_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_DOWN_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
// #define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
//
|
|
// #define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
#endif
|
|
|
|
//步进电机
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_24V
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
// #define PTZ_RIGHT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_LEFT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_UP_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_DOWN_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
// #define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
//
|
|
// #define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
#endif
|
|
|
|
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_TMC2160_AS5047D_24V
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
// #define PTZ_RIGHT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_LEFT_CYCLE_C (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_UP_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_DOWN_CYCLE_C (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
//
|
|
// #define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
// #define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
//
|
|
// #define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_motor_speed_actual / PTZ_VERT_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
// #define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_motor_speed_actual / PTZ_HORI_MOTOR_RATIO * 6 / 1000.0 * PTZ_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
#endif
|
|
|
|
//中型步进电机
|
|
#ifdef PTZ_MEDIUM_WORM_STEP_TMC2160_AS5047D_24V
|
|
//磁编码器角度增大,云台角度减小;磁编码器角度减小,云台角度增大
|
|
#define PTZ_HORI_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
#define PTZ_VERT_ANGLE_AS5047D_ANGLE_SYN 1//角度变化同步
|
|
|
|
//#define PTZ_HORI_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
//#define PTZ_VERT_GET_ANGLE_MANY 1//多次获取角度算平均值
|
|
#define PTZ_HORI_GET_ANGLE_SINGLE 1//单次获取角度
|
|
#define PTZ_VERT_GET_ANGLE_SINGLE 1//单次获取角度
|
|
|
|
#define PTZ_SW3_LEFT_RISE_UPDATE 1 //打开水平挡片左转上升沿更新水平角度数据
|
|
//#define PTZ_SW1_DOWN_FALL_UPDATE 1 //垂直以SW1下俯下降沿更新垂直角度数据
|
|
#define PTZ_SW1_UP_RISE_UPDATE 1 //垂直以SW1上仰上升沿更新垂直角度数据
|
|
|
|
|
|
#define PTZ_RIGHT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_LEFT_CYCLE_C (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_UP_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_DOWN_CYCLE_C (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0 //检测转动完一圈是否到达同一个点的距离阈值
|
|
|
|
#define PTZ_HORI_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
#define PTZ_VERT_ANGLE_READ_NUM 4 //角度连续读取次数
|
|
|
|
#define PTZ_VERT_AS5047D_ANGLE_WF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0)//36.0//云台垂直磁编码总角度滤波
|
|
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0)//36.0//云台水平磁编码总角度滤波
|
|
#define PTZ_HORI_AS5047D_ANGLE_WF_B (g_ptz.hori_as5047d.as5047d_ptz_angle_max - (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0))//云台水平磁编码总角度滤波
|
|
|
|
|
|
#define PTZ_HORI_ANGLE_DIFF_A (g_ptz.hori_speed_actual * PTZ_HORI_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_HORI_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_HORI_ANGLE_DIFF_B (360.0 - PTZ_HORI_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define PTZ_VERT_ANGLE_DIFF_A (g_ptz.vert_speed_actual * PTZ_VERT_BIG_GEAR_RATIO * 6.0 / 1000.0 * PTZ_VERT_ANGLE_TIME + 5.0) //上次采集角度和此次采集角度之间允许的差值
|
|
#define PTZ_VERT_ANGLE_DIFF_B (360.0 - PTZ_VERT_ANGLE_DIFF_A) //上次采集角度和此次采集角度之间允许的差值
|
|
|
|
#define HORI_MS_SW3_ERROR 25//采用磁开关,实时计算磁开关范围时用的阈值
|
|
#endif
|
|
|
|
|
|
|
|
void ptz_send_sw_angle_state(char dev);
|
|
void init_angle_module();
|
|
void ptz_send_angle(char dev,char angle_choice);
|
|
|
|
#endif |