Compare commits
No commits in common. "H3k_V50k" and "master" have entirely different histories.
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"files.associations": {
|
||||
"full_bridge.h": "c",
|
||||
"ptz_default_value.h": "c",
|
||||
"ptz_header_file.h": "c",
|
||||
"gd32f4xx.h": "c",
|
||||
"ptz_type_select.h": "c",
|
||||
"l6235d.h": "c",
|
||||
"service_presetbitscan.h": "c",
|
||||
"device_adc_collect.h": "c"
|
||||
}
|
||||
}
|
|
@ -73,11 +73,11 @@
|
|||
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
|
||||
///*******************************标准云台******************************/
|
||||
///水平电机减速比
|
||||
#define PTZ_HORI_MOTOR_RATIO 3.0//(25.0 * 1.5)//20
|
||||
#define PTZ_HORI_MOTOR_RATIO 25.0//(25.0 * 1.5)//20
|
||||
///水平大齿轮减速比
|
||||
#define PTZ_HORI_BIG_GEAR_RATIO 80.0//62.0
|
||||
///水平总减速比
|
||||
#define PTZ_HORI_RATIO 240.0//2325//1240.0
|
||||
#define PTZ_HORI_RATIO 2000.0//2325//1240.0
|
||||
///水平电机调速模拟电压最大值
|
||||
#define PTZ_HORI_VR_MAX 1999
|
||||
///水平电机调速模拟电压最小值
|
||||
|
@ -89,11 +89,11 @@
|
|||
///水平电机最小转速
|
||||
#define PTZ_HORI_MOTOR_MIN_SPEED 400.0//600.0
|
||||
///水平云台最大转速
|
||||
#define PTZ_HORI_MAX_SPEED 12.5//1.29//2.4
|
||||
#define PTZ_HORI_MAX_SPEED 1.5//1.29//2.4
|
||||
///水平云台最小转速
|
||||
#define PTZ_HORI_MIN_SPEED 1.67//0.3//0.26//0.4
|
||||
#define PTZ_HORI_MIN_SPEED 0.2//0.3//0.26//0.4
|
||||
///水平云台默认最佳速度
|
||||
#define PTZ_HORI_BEST_SPEED 9.0//2.0
|
||||
#define PTZ_HORI_BEST_SPEED 1.2//2.0
|
||||
|
||||
/**********************************************************/
|
||||
|
||||
|
@ -116,7 +116,7 @@
|
|||
///垂直云台最大转速
|
||||
#define PTZ_VERT_MAX_SPEED 0.5//0.74//2.7
|
||||
///垂直云台最小转速
|
||||
#define PTZ_VERT_MIN_SPEED 0.067//0.1//0.15//0.5
|
||||
#define PTZ_VERT_MIN_SPEED 0.07//0.1//0.15//0.5
|
||||
///垂直云台默认最佳速度
|
||||
#define PTZ_VERT_BEST_SPEED 0.4//0.7//2.0
|
||||
|
||||
|
|
|
@ -14,65 +14,6 @@ static BSP_OS_SEM ptz_vert_stop_mutex;
|
|||
static char ptz_hori_stop_count;//水平停止计数,防止多次停止多次延时
|
||||
static char ptz_vert_stop_count;//垂直停止计数,防止多次停止多次延时
|
||||
|
||||
/* 水平停止转动,减速阶梯和切换时间 */
|
||||
#define hori_stop_step 0.2f
|
||||
#define hori_stop_time 1
|
||||
|
||||
/* 水平减速,减速阶梯和切换时间 */
|
||||
#define hori_retard_step 0.2f
|
||||
#define hori_retard_time 2
|
||||
|
||||
|
||||
/**
|
||||
* 水平减速过程
|
||||
*
|
||||
*
|
||||
*/
|
||||
void ptz_hori_deceleration_process(float step, unsigned char time)
|
||||
{
|
||||
float temp = g_ptz.hori_speed_actual;
|
||||
for (; ; ) {
|
||||
temp -= step;
|
||||
g_ptz.hori_speed_set = temp;
|
||||
if (temp < PTZ_HORI_MIN_SPEED) {
|
||||
break;
|
||||
}
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, time);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 垂直停止转动,减速阶梯和切换时间 */
|
||||
#define vert_stop_step 1.0f
|
||||
#define vert_stop_time 1
|
||||
|
||||
/* 垂直减速,减速阶梯和切换时间 */
|
||||
#define vert_retard_step 0.1f
|
||||
#define vert_retard_time 100
|
||||
|
||||
/* 垂直减速,俯仰极限位置 */
|
||||
#define vert_utmost_step 20.0f
|
||||
#define vert_utmost_time 1
|
||||
|
||||
/**
|
||||
* 垂直减速过程
|
||||
*
|
||||
*
|
||||
*/
|
||||
void ptz_vert_deceleration_process(float step, unsigned char time)
|
||||
{
|
||||
float temp = g_ptz.vert_speed_actual;
|
||||
for (; ; ) {
|
||||
temp -= step;
|
||||
g_ptz.vert_angle_set = temp;
|
||||
if (temp < PTZ_HORI_MIN_SPEED) {
|
||||
break;
|
||||
}
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, time);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ptz_sem_post_stop_mutex()//释放云台启停共享资源锁
|
||||
{
|
||||
BSP_OS_SemPost(&ptz_hori_stop_mutex);
|
||||
|
@ -113,9 +54,6 @@ void ptz_hori_start(char direction, float speed)
|
|||
void ptz_hori_stop(unsigned short int time)
|
||||
{
|
||||
BSP_OS_SemWait(&ptz_hori_stop_mutex, 0u);
|
||||
|
||||
ptz_hori_deceleration_process(hori_stop_step, hori_stop_time);
|
||||
|
||||
//停止电机
|
||||
g_ptz.hori_start_stop_set = PTZ_HORI_STOP;
|
||||
g_ptz.hori_start_stop_actual = g_ptz.hori_start_stop_set;
|
||||
|
@ -182,11 +120,6 @@ void ptz_vert_start(char direction, float speed)
|
|||
void ptz_vert_stop(unsigned short int time)
|
||||
{
|
||||
BSP_OS_SemWait(&ptz_vert_stop_mutex, 0u);
|
||||
|
||||
if (time != PTZ_VERT_STOP_TIME) {
|
||||
ptz_vert_deceleration_process(vert_stop_step, vert_stop_time);
|
||||
}
|
||||
|
||||
if(g_ptz.vert_start_stop_set == PTZ_VERT_START)
|
||||
{
|
||||
//停止电机
|
||||
|
@ -340,7 +273,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -349,7 +281,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -361,7 +292,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -370,7 +300,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -475,7 +404,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -484,7 +412,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -496,7 +423,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -505,7 +431,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -518,7 +443,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
break;
|
||||
|
||||
case PTZ_HORI_DEC_BRAKE_A://减速刹车
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
g_ptz.hori_rotate_monitor_switch = PTZ_HORI_DEC_BRAKE_B;
|
||||
k = 0;
|
||||
|
@ -583,7 +507,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -592,7 +515,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -604,7 +526,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -613,7 +534,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -662,7 +582,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -671,7 +590,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -683,7 +601,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -692,7 +609,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -740,7 +656,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -749,7 +664,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -761,7 +675,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -770,7 +683,6 @@ static char ptz_hori_rotate_monitor_task()
|
|||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||
}
|
||||
}
|
||||
|
@ -852,7 +764,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||
}
|
||||
|
||||
|
@ -898,7 +809,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||
}
|
||||
break;
|
||||
|
@ -965,7 +875,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||
}
|
||||
|
||||
|
@ -1000,7 +909,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||
{
|
||||
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||
}
|
||||
break;
|
||||
|
@ -1016,7 +924,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
g_ptz.vert_arrive_flag = 0;
|
||||
g_ptz.vert_rotate_monitor_switch = 0;
|
||||
|
||||
// ptz_vert_deceleration_process(vert_utmost_step, vert_utmost_time);
|
||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);//停止延时为0
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
||||
}
|
||||
|
@ -1029,7 +936,6 @@ static char ptz_vert_rotate_monitor_task()
|
|||
g_ptz.vert_arrive_flag = 0;
|
||||
g_ptz.vert_rotate_monitor_switch = 0;
|
||||
|
||||
// ptz_vert_deceleration_process(vert_utmost_step, vert_utmost_time);
|
||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
||||
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
||||
}
|
||||
|
|
|
@ -66,8 +66,8 @@
|
|||
#define PTZ_VERT_DIR_STOP 2
|
||||
|
||||
///距离最近刹车点以最小转速运行的距离
|
||||
#define PTZ_HORI_MIN_SPEED_ANGLE 12.0
|
||||
#define PTZ_VERT_MIN_SPEED_ANGLE 2.0
|
||||
#define PTZ_HORI_MIN_SPEED_ANGLE 3.0
|
||||
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0
|
||||
|
||||
///刹车最近距离
|
||||
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
||||
|
@ -77,7 +77,7 @@
|
|||
///刹车最近距离
|
||||
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
||||
///刹车最远距离
|
||||
#define PTZ_VERT_STOP_FAR_DISTANCE 3.0
|
||||
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
||||
|
||||
///云台定位精度,也可用于判断是不是同一个位置
|
||||
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
#define PTZ_HORI_PID_HORI_TD 0//0.001//微分系数
|
||||
|
||||
#define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID调速输入值限定
|
||||
#define PTZ_HORI_PID_OUTPUT_LIMIT 80.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
||||
#define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
||||
|
||||
#define PTZ_VERT_PID_T 30u
|
||||
#define PTZ_VERT_PID_VERT_KP 20.0//6//6.0//比例系数
|
||||
|
@ -88,7 +88,7 @@
|
|||
#define PTZ_VERT_PID_VERT_TD 0//0.001//微分系数
|
||||
|
||||
#define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID调速输入值限定
|
||||
#define PTZ_VERT_PID_OUTPUT_LIMIT 100.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
||||
#define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID调速输出值限定,当前输出值和上一次输出值之间的差异
|
||||
|
||||
#define PTZ_HORI_PID_T_MAX 80//75u//PID调速最大周期
|
||||
#define PTZ_VERT_PID_T_MAX 80//75u//PID调速最大周期
|
||||
|
|
|
@ -13,41 +13,24 @@ static char ptz_temp_volt_current_fault_detect_task()
|
|||
{//只报故障,不做响应
|
||||
static unsigned short int time_ms;
|
||||
|
||||
static char hori_fault = 0;
|
||||
static char vert_fault = 0;
|
||||
|
||||
time_ms ++;
|
||||
if(time_ms < 50)
|
||||
{
|
||||
//轻型云台峰值电流5.4A,
|
||||
if(H_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||H_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
||||
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
||||
if (g_ptz.fault_detect.Phase_curr_H != FAULT) {
|
||||
hori_fault++;
|
||||
if (hori_fault > 20) {
|
||||
g_ptz.fault_detect.Phase_curr_H = FAULT;//水平电机相电流过大,报警
|
||||
ptz_hori_stop(PTZ_HORI_STOP_TIME);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
hori_fault = 0;
|
||||
}
|
||||
|
||||
g_ptz.fault_detect.Phase_curr_H = FAULT;//水平电机相电流过大,报警
|
||||
|
||||
ptz_hori_stop(PTZ_HORI_STOP_TIME);
|
||||
}
|
||||
if(V_ADC_Collect.Phase_curr_V >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_U >= PHASE_CURRENT ||V_ADC_Collect.Phase_curr_W >= PHASE_CURRENT )
|
||||
{//堵转检测,防止电机堵转烧坏,结合电机卡死故障监测,与云台工作电流监测。
|
||||
if (g_ptz.fault_detect.Phase_curr_V != FAULT) {
|
||||
vert_fault++;
|
||||
if (vert_fault > 20) {
|
||||
g_ptz.fault_detect.Phase_curr_V = FAULT;//垂直电机相电流过大,报警
|
||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
vert_fault = 0;
|
||||
}
|
||||
|
||||
g_ptz.fault_detect.Phase_curr_V = FAULT;//垂直电机相电流过大,报警
|
||||
|
||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
#define PTZ_HALL_DETECT 30//30
|
||||
|
||||
//相电流运行最大值
|
||||
#define PHASE_CURRENT 4.8
|
||||
#define PHASE_CURRENT 3.5
|
||||
#endif
|
||||
|
||||
//L6235D涡轮蜗杆重型云台
|
||||
|
|
|
@ -360,21 +360,21 @@ void h_bldc_six_step()
|
|||
H_Hall_state.Hall_value = h_hall_senser_value_get();
|
||||
if((H_Hall_state.Hall_value <= 6)&&(H_Hall_state.Hall_value >= 1))
|
||||
{
|
||||
if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||
{//电机正转- 1
|
||||
h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||
}else{//电机反转
|
||||
h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||
}
|
||||
// if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||
// {//电机正转- 1
|
||||
// h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||
// }else{//电机反转
|
||||
// h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||
// }
|
||||
//Ö±³ÝÔÆÌ¨×ªÏò
|
||||
// if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||
// {//电机正转- 1
|
||||
if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||
{//电机正转- 1
|
||||
|
||||
// h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||
// }else{//电机反转
|
||||
// h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||
h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||
}else{//电机反转
|
||||
h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -395,17 +395,12 @@ void v_bldc_six_step()
|
|||
V_Hall_state.Hall_value = v_hall_senser_value_get();
|
||||
if((V_Hall_state.Hall_value <= 6)&&(V_Hall_state.Hall_value >= 1))
|
||||
{
|
||||
if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
||||
{//电机正转- 1
|
||||
v_six_step_commu[V_Hall_state.Hall_value -1]();
|
||||
}else{//电机反转
|
||||
v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
||||
}
|
||||
// if (g_ptz.vert_direction_set == PTZ_VERT_DIR_UP) {//电机正转- 1
|
||||
// v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
||||
// } else {//电机反转
|
||||
// v_six_step_commu[V_Hall_state.Hall_value -1]();
|
||||
// }
|
||||
if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
||||
{//电机正转- 1
|
||||
v_six_step_commu[V_Hall_state.Hall_value -1]();
|
||||
}else{//电机反转
|
||||
v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
||||
}
|
||||
|
||||
|
||||
// if(g_ptz.vert_pid.PidUT_float < 0)
|
||||
|
|
|
@ -825,7 +825,7 @@
|
|||
</option>
|
||||
<option>
|
||||
<name>IlinkIcfFile</name>
|
||||
<state>D:\psx\Pan-Tilt\1.software\HY\6.0 MW22-01A\BSP\IAR\GD32F450xE.icf</state>
|
||||
<state>D:\psx\Pan-Tilt\1.software\HY\6.0 MW22-01A\BSP\IAR\GD32F450xE_APP.icf</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IlinkIcfFileSlave</name>
|
||||
|
|
Loading…
Reference in New Issue