From 50509f7092af8426a6c9fe8d74b877d276c67993 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B7=E5=BA=8A=E5=B0=B1=E7=8A=AF=E5=9B=B0?=
<11730503+psx123456@user.noreply.gitee.com>
Date: Wed, 4 Jun 2025 15:55:17 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E8=BD=AC=E9=80=9F=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E6=98=AF=E6=97=B6=E9=97=B4=E8=BE=83=E7=9F=AD=E6=97=B6?=
=?UTF-8?q?=E9=9C=8D=E5=B0=94=E6=AC=A1=E6=95=B0=E5=B0=91=E5=BC=95=E8=B5=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
APP/Appcfg/app.c | 4 +-
APP/Device/Device_angle/get_angle.c | 4 +-
APP/Device/Device_speed/speed_to_bldc.c | 67 +++-
APP/Device/Device_speed/speed_to_bldc.h | 305 +++++++++---------
APP/Service/service_statusmonitor.c | 4 +-
.../SYSTICK/gd32f4xx_it.c | 1 +
PROJECT/OS2.ewp | 2 +-
7 files changed, 227 insertions(+), 160 deletions(-)
diff --git a/APP/Appcfg/app.c b/APP/Appcfg/app.c
index a66f09e..9aa89f6 100644
--- a/APP/Appcfg/app.c
+++ b/APP/Appcfg/app.c
@@ -111,7 +111,7 @@ static void task_start (void *p_arg)
// ck_f=rcu_clock_freq_get(CK_APB1);
OSTimeDlyHMSM(0u, 0u, 0u, 100u);
//蜂鸣器开,初始化开始
- beep_enable();
+ // beep_enable();
//flash引脚初始化
Flash_GPIO_Init();
@@ -205,7 +205,7 @@ static void task_start (void *p_arg)
//蜂鸣器关,初始化结束
beep_disable();
- while (DEF_TRUE) {
+ while (DEF_TRUE) {
OSTimeDlyHMSM(0u, 0u, 1u, 0u);
OSTaskDel(OS_PRIO_SELF);
}
diff --git a/APP/Device/Device_angle/get_angle.c b/APP/Device/Device_angle/get_angle.c
index 28a7eec..1e42ebb 100644
--- a/APP/Device/Device_angle/get_angle.c
+++ b/APP/Device/Device_angle/get_angle.c
@@ -3747,9 +3747,9 @@ static void ptz_get_angle_task()
{
while(1)
{
- ptz_hori_get_angle_a();
+ // ptz_hori_get_angle_a();
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
- ptz_vert_get_angle_a();
+ // ptz_vert_get_angle_a();
OSTimeDlyHMSM(0u, 0u, 0u, 1u);
}
}
diff --git a/APP/Device/Device_speed/speed_to_bldc.c b/APP/Device/Device_speed/speed_to_bldc.c
index 913f112..0bd94df 100644
--- a/APP/Device/Device_speed/speed_to_bldc.c
+++ b/APP/Device/Device_speed/speed_to_bldc.c
@@ -9,6 +9,8 @@
#ifdef PTZ_BLDC_MOTOR
+static volatile uint32_t hori_speed_task_time = 0;
+
//̨ʵת
void ptz_send_speed(char dev, char speed)
{
@@ -299,6 +301,8 @@ static void ptz_hori_pid_task()
#ifdef PTZ_PID_HALL_SPEED //
+ // OSTimeDlyHMSM(0u, 0u, 0u, PTZ_HORI_PID_T);
+// #if 1
g_ptz.hori_pid.hall_h1_count = 0;
g_ptz.hori_pid.hall_h2_count = 0;
g_ptz.hori_pid.hall_h3_count = 0;
@@ -558,6 +562,14 @@ static void ptz_hori_pid_task()
}
+ static volatile uint32_t lastTime = 0;
+ static volatile uint32_t Time = 0;
+
+ Time = OSTimeGet();
+ hori_speed_task_time = Time - lastTime;
+ lastTime = Time;
+
+
g_ptz.hori_motor_speed_hall_actual = g_ptz.hori_pid.hall_h123_motor_speed;
/* ********************************** */
@@ -661,7 +673,8 @@ static void ptz_hori_pid_task()
//PIDĵתģѹȼ뵽ģѹоƬ
// hori_dac0_data_out(g_ptz.hori_pid.PidUT_uint);
- h_pwm_duty_change(g_ptz.hori_pid.PidUT_uint);
+ // h_pwm_duty_change(g_ptz.hori_pid.PidUT_uint);
+ h_pwm_duty_change(500);
//ǰPIDֵ
g_ptz.hori_pid.LastUT_float = g_ptz.hori_pid.PidUT_float;
@@ -1525,7 +1538,57 @@ void init_speed_module(void)
}
#endif
-
+static volatile float angleDifference = 0;
+void as5047d_hori_get_speed(void)
+{
+#if 0
+ static float lastAngle = 0;
+ // static uint32_t lastTime = 0;
+
+ static float angle = 0;
+ // static uint32_t time = 0;
+
+ static int num = 0;
+ if (num++ > 100) {
+ if (g_ptz.hori_start_stop_set == PTZ_HORI_START) {
+
+ // time = OSTimeGet();
+ // angle = as5047d_hori_get_angle();
+
+ for(int m = 0; m < 5; m++) {
+ angle = as5047d_hori_get_angle_a();
+
+ if(angle < 0 || //ֹĽǶΪֵ
+ angle > 360.0 ||//ֵֹ360
+ isnan(angle) == 1 ||//ֹIJһ
+ ((fabs(angle - lastAngle) > PTZ_HORI_ANGLE_DIFF_A) && (fabs(angle - lastAngle) < PTZ_HORI_ANGLE_DIFF_B)))
+ {//ϴݶ,¶ȡ
+ asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ if (angle < 0 || angle > 360.0 || isnan(angle)) {
+ return;
+ }
+
+ angleDifference = fabs(angle - lastAngle);
+ if (angleDifference > 180) {
+ angleDifference = 360 - angleDifference;
+ }
+
+ // g_ptz.hori_speed_actual = angleDifference / (time - lastTime) * 1000.0;
+
+ g_ptz.hori_speed_actual = angleDifference * 0.03082;
+
+ lastAngle = angle;
+ }
+ }
+#endif
+}
diff --git a/APP/Device/Device_speed/speed_to_bldc.h b/APP/Device/Device_speed/speed_to_bldc.h
index 5d28824..62c7c41 100644
--- a/APP/Device/Device_speed/speed_to_bldc.h
+++ b/APP/Device/Device_speed/speed_to_bldc.h
@@ -8,114 +8,114 @@
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
#define PID_B 1
- //ˮƽٶС趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //ˮƽӵı
- //ˮƽٶȴ趨ٶʱ
-// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽٵķΧ
-// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽӵı
- //ֱٶС趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //ֱӵı
+ //ˮƽ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_LESS 1.6 //ˮƽ�����������ӵı���
+ //ˮƽ�ٶȴ����趨�ٶ�ʱ
+// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ�������ٵķ�Χ
+// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ�����������ӵı���
+ //��ֱ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //��ֱ�����������ӵı���
#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 //ϵ
- #define PTZ_HORI_PID_HORI_TI 100.0 //ϵ
- #define PTZ_HORI_PID_HORI_TD 0.0 //ϵ
+ #define PTZ_HORI_PID_HORI_KP 3.5//4//1.4 //0.014//0.005 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TD 0.0 //��ϵ��
- #define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PIDֵ
- #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_HORI_PID_INPUT_LIMIT 100//6.91//PID��������ֵ��
+ #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
#define PTZ_VERT_PID_T 20u
- #define PTZ_VERT_PID_VERT_KP 3//2//1.4 //0.014//0.005 //ϵ
- #define PTZ_VERT_PID_VERT_TI 100.0 //ϵ
- #define PTZ_VERT_PID_VERT_TD 0.0 //ϵ
+ #define PTZ_VERT_PID_VERT_KP 3//2//1.4 //0.014//0.005 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TD 0.0 //��ϵ��
- #define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PIDֵ
- #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_VERT_PID_INPUT_LIMIT 100//4.0//PID��������ֵ��
+ #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
- #define PTZ_HORI_PID_T_MAX 75//50u//PID
- #define PTZ_VERT_PID_T_MAX 75//50u//PID
+ #define PTZ_HORI_PID_T_MAX 75//50u//PID�����������
+ #define PTZ_VERT_PID_T_MAX 75//50u//PID�����������
- #define PTZ_HORI_PID_ADD 30//PIDٿ
- #define PTZ_VERT_PID_ADD 30//PIDٿ
+ #define PTZ_HORI_PID_ADD 30//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD 30//PID���ٿ�������
- #define PTZ_HORI_PID_ADD_A 10//10//PIDٿ
- #define PTZ_VERT_PID_ADD_A 10//15//PIDٿ
+ #define PTZ_HORI_PID_ADD_A 10//10//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD_A 10//15//PID���ٿ�������
#endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
#define PID_B 1
- //ˮƽٶС趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽӵı
- //ˮƽٶȴ趨ٶʱ
-// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽٵķΧ
-// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽӵı
- //ֱٶС趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //ֱӵı
- //ֱٶȴ趨ٶʱ
-// #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //ֱٵķΧ
-// #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //ֱӵı
+ //ˮƽ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ�����������ӵı���
+ //ˮƽ�ٶȴ����趨�ٶ�ʱ
+// #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ�������ٵķ�Χ
+// #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ�����������ӵı���
+ //��ֱ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //��ֱ�����������ӵı���
+ //��ֱ�ٶȴ����趨�ٶ�ʱ
+// #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //��ֱ�������ٵķ�Χ
+// #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //��ֱ�����������ӵı���
//#define PID_A 1
- // #define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- // #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- //ͨоƬ
+ // #define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ // #define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ //ͨ��оƬ��������
//#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//ϵ
- #define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//ϵ
- #define PTZ_HORI_PID_HORI_TD 0.001//ϵ
+ #define PTZ_HORI_PID_HORI_KP 0.6//1.0//6.0//����ϵ��
+ #define PTZ_HORI_PID_HORI_TI 70.0//80.0//100.0//����ϵ��
+ #define PTZ_HORI_PID_HORI_TD 0.001//��ϵ��
- #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PIDֵ
- #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID��������ֵ��
+ #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
#define PTZ_VERT_PID_T 20u
- #define PTZ_VERT_PID_VERT_KP 6//6.0//ϵ
- #define PTZ_VERT_PID_VERT_TI 80.0//100.0//ϵ
- #define PTZ_VERT_PID_VERT_TD 0.001//ϵ
+ #define PTZ_VERT_PID_VERT_KP 6//6.0//����ϵ��
+ #define PTZ_VERT_PID_VERT_TI 80.0//100.0//����ϵ��
+ #define PTZ_VERT_PID_VERT_TD 0.001//��ϵ��
- #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PIDֵ
- #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID��������ֵ��
+ #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
- #define PTZ_HORI_PID_T_MAX 80//75u//PID
- #define PTZ_VERT_PID_T_MAX 80//75u//PID
+ #define PTZ_HORI_PID_T_MAX 80//75u//PID�����������
+ #define PTZ_VERT_PID_T_MAX 80//75u//PID�����������
- #define PTZ_HORI_PID_ADD 20//PIDٿ
- #define PTZ_VERT_PID_ADD 20//PIDٿ
+ #define PTZ_HORI_PID_ADD 20//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD 20//PID���ٿ�������
- #define PTZ_HORI_PID_ADD_A 15//PIDٿ
- #define PTZ_VERT_PID_ADD_A 15//PIDٿ
+ #define PTZ_HORI_PID_ADD_A 15//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD_A 15//PID���ٿ�������
#endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
#define PID_B 1
- //ˮƽٶС趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //ˮƽӵı
- //ˮƽٶȴ趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽӵı
- //ֱٶС趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //ֱӵı
- //ֱٶȴ趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //ֱӵı
+ //ˮƽ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_LESS 1.4 //ˮƽ�����������ӵı���
+ //ˮƽ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ�����������ӵı���
+ //��ֱ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_LESS 1.4 //��ֱ�����������ӵı���
+ //��ֱ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //��ֱ�����������ӵı���
@@ -127,147 +127,147 @@
#define PTZ_HORI_PID_T 50u
- #define PTZ_HORI_PID_HORI_KP 10.0//3.0 //0.014//0.005 //ϵ
- #define PTZ_HORI_PID_HORI_TI 100.0 //ϵ
- #define PTZ_HORI_PID_HORI_TD 0.0 //ϵ
+ #define PTZ_HORI_PID_HORI_KP 10.0//3.0 //0.014//0.005 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TD 0.0 //��ϵ��
- #define PTZ_HORI_PID_INPUT_LIMIT 6.91//PIDֵ
- #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_HORI_PID_INPUT_LIMIT 6.91//PID��������ֵ��
+ #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
#define PTZ_VERT_PID_T 50u
- #define PTZ_VERT_PID_VERT_KP 20.0//3.0 //0.014//0.005 //ϵ
- #define PTZ_VERT_PID_VERT_TI 100.0 //ϵ
- #define PTZ_VERT_PID_VERT_TD 0.0 //ϵ
+ #define PTZ_VERT_PID_VERT_KP 20.0//3.0 //0.014//0.005 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TD 0.0 //��ϵ��
- #define PTZ_VERT_PID_INPUT_LIMIT 4.0//PIDֵ
- #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_VERT_PID_INPUT_LIMIT 4.0//PID��������ֵ��
+ #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
- #define PTZ_HORI_PID_T_MAX 75//50u//PID
- #define PTZ_VERT_PID_T_MAX 75//50u//PID
+ #define PTZ_HORI_PID_T_MAX 75//50u//PID�����������
+ #define PTZ_VERT_PID_T_MAX 75//50u//PID�����������
- #define PTZ_HORI_PID_ADD 30//PIDٿ
- #define PTZ_VERT_PID_ADD 30//PIDٿ
+ #define PTZ_HORI_PID_ADD 30//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD 30//PID���ٿ�������
- #define PTZ_HORI_PID_ADD_A 20//PIDٿ
- #define PTZ_VERT_PID_ADD_A 20//PIDٿ
+ #define PTZ_HORI_PID_ADD_A 20//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD_A 20//PID���ٿ�������
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
#define PID_B 1
- //ˮƽٶС趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //ˮƽӵı
- //ˮƽٶȴ趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽӵı
- //ֱٶС趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //ֱӵı
- //ֱٶȴ趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //ֱӵı
+ //ˮƽ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.6 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_LESS 1.3 //ˮƽ�����������ӵı���
+ //ˮƽ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ�����������ӵı���
+ //��ֱ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.6 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_LESS 1.3 //��ֱ�����������ӵı���
+ //��ֱ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //��ֱ�����������ӵı���
- //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- //ͨоƬ
+ //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ //ͨ��оƬ��������
//#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 //ϵ
- #define PTZ_HORI_PID_HORI_TI 100.0 //ϵ
- #define PTZ_HORI_PID_HORI_TD 0.0 //ϵ
+ #define PTZ_HORI_PID_HORI_KP 2.0//6.0 //0.014//0.005 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TD 0.0 //��ϵ��
- #define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PIDֵ
- #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_HORI_PID_INPUT_LIMIT 100.0//6.91//PID��������ֵ��
+ #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
#define PTZ_VERT_PID_T 30u
- #define PTZ_VERT_PID_VERT_KP 2.0//6.0 //0.014//0.005 //ϵ
- #define PTZ_VERT_PID_VERT_TI 100.0 //ϵ
- #define PTZ_VERT_PID_VERT_TD 0.0 //ϵ
+ #define PTZ_VERT_PID_VERT_KP 2.0//6.0 //0.014//0.005 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TD 0.0 //��ϵ��
- #define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PIDֵ
- #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_VERT_PID_INPUT_LIMIT 100.0//4.0//PID��������ֵ��
+ #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
- #define PTZ_HORI_PID_T_MAX 100u//PID
- #define PTZ_VERT_PID_T_MAX 100u//PID
+ #define PTZ_HORI_PID_T_MAX 100u//PID�����������
+ #define PTZ_VERT_PID_T_MAX 100u//PID�����������
- #define PTZ_HORI_PID_ADD 20//40//PIDٿ
- #define PTZ_VERT_PID_ADD 20//40//PIDٿ
+ #define PTZ_HORI_PID_ADD 20//40//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD 20//40//PID���ٿ�������
- #define PTZ_HORI_PID_ADD_A 15//PIDٿ
- #define PTZ_VERT_PID_ADD_A 15//PIDٿ
+ #define PTZ_HORI_PID_ADD_A 15//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD_A 15//PID���ٿ�������
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
#define PID_B 1
- //ˮƽٶС趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽӵı
- //ˮƽٶȴ趨ٶʱ
- #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽٵķΧ
- #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽӵı
- //ֱٶС趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //ֱӵı
- //ֱٶȴ趨ٶʱ
- #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //ֱٵķΧ
- #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //ֱӵı
+ //ˮƽ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_LESS 0.4 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_LESS 1.2 //ˮƽ�����������ӵı���
+ //ˮƽ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_HORI_PRO_ADD_RANGE_MORE 0.5 //ˮƽ�������ٵķ�Χ
+ #define PTZ_HORI_PRO_ADD_MUL_MORE 0.8 //ˮƽ�����������ӵı���
+ //��ֱ�ٶ�С���趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_LESS 0.4 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_LESS 1.2 //��ֱ�����������ӵı���
+ //��ֱ�ٶȴ����趨�ٶ�ʱ
+ #define PTZ_VERT_PRO_ADD_RANGE_MORE 0.5 //��ֱ�������ٵķ�Χ
+ #define PTZ_VERT_PRO_ADD_MUL_MORE 0.8 //��ֱ�����������ӵı���
- //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//Ƕȱ仯첽
- //ͨоƬ
+ //#define PTZ_HORI_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ //#define PTZ_VERT_PID_AS5048A_ANGLE_ASY_SPEED 2//�Ƕȱ仯�첽
+ //ͨ��оƬ��������
//#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 20.0//ϵ
- #define PTZ_HORI_PID_HORI_TI 100.0 //ϵ
- #define PTZ_HORI_PID_HORI_TD 0.0 //ϵ
+ #define PTZ_HORI_PID_HORI_KP 20.0//����ϵ��
+ #define PTZ_HORI_PID_HORI_TI 100.0 //����ϵ��
+ #define PTZ_HORI_PID_HORI_TD 0.0 //��ϵ��
- #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PIDֵ
- #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_HORI_PID_INPUT_LIMIT 100.0//PID��������ֵ��
+ #define PTZ_HORI_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
#define PTZ_VERT_PID_T 30u
- #define PTZ_VERT_PID_VERT_KP 20.0//ϵ
- #define PTZ_VERT_PID_VERT_TI 100.0 //ϵ
- #define PTZ_VERT_PID_VERT_TD 0.0 //ϵ
+ #define PTZ_VERT_PID_VERT_KP 20.0//����ϵ��
+ #define PTZ_VERT_PID_VERT_TI 100.0 //����ϵ��
+ #define PTZ_VERT_PID_VERT_TD 0.0 //��ϵ��
- #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PIDֵ
- #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PIDֵǰֵһֵ֮IJ
+ #define PTZ_VERT_PID_INPUT_LIMIT 100.0//PID��������ֵ��
+ #define PTZ_VERT_PID_OUTPUT_LIMIT 200.0//PID�������ֵ������ǰ���ֵ����һ�����ֵ֮��IJ���
- #define PTZ_HORI_PID_T_MAX 100u//PID
- #define PTZ_VERT_PID_T_MAX 100u//PID
+ #define PTZ_HORI_PID_T_MAX 100u//PID�����������
+ #define PTZ_VERT_PID_T_MAX 100u//PID�����������
- #define PTZ_HORI_PID_ADD 20//20//PIDٿ
- #define PTZ_VERT_PID_ADD 20//20//PIDٿ
+ #define PTZ_HORI_PID_ADD 20//20//PID���ٿ�������
+ #define PTZ_VERT_PID_ADD 20//20//PID���ٿ�������
- //#define PTZ_HORI_PID_ADD_A 15//PIDٿ
- //#define PTZ_VERT_PID_ADD_A 15//PIDٿ
+ //#define PTZ_HORI_PID_ADD_A 15//PID���ٿ�������
+ //#define PTZ_VERT_PID_ADD_A 15//PID���ٿ�������
#endif
-//PID
+//PID����
#define PID_ADJUST_SPEED 0
-//
+//�������
#define DIRECTOR_ADJUST_SPEED 1
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
-//ͨPWMṩص
-//Ƿ÷
+//ͨ������PWM���ṩ�������ص���
+//�Ƿ����÷������
#define PTZ_CONTROL_SPEED_L6235D 2
-//
+//�������������
#define PTZ_DIRECTOR_SPEED_T 10//20
#endif
@@ -279,4 +279,7 @@ void ptz_vert_pid_clear_zero();
void init_speed_module(void);
#endif
+
+void as5047d_hori_get_speed(void);
+
#endif
\ No newline at end of file
diff --git a/APP/Service/service_statusmonitor.c b/APP/Service/service_statusmonitor.c
index c727ad5..12b5aa0 100644
--- a/APP/Service/service_statusmonitor.c
+++ b/APP/Service/service_statusmonitor.c
@@ -288,7 +288,7 @@ static char ptz_motor_rotate_fault_detect_task()
time_ms = 0;
}
-
+ return 1;
//ֱ
switch(vert_rotate_fault_step)
@@ -851,7 +851,7 @@ static char ptz_fault_detect_task()
//ϻش
ptz_fault_return_task();
//翪عϣ翪زܹϻشΪϵʱϣҪͨ״̬ѯش
- ptz_vert_sw12_fault_detect_task();
+ // ptz_vert_sw12_fault_detect_task();
if(g_ptz.fault_detect.hori_rotate_fault == FAULT ||
diff --git a/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c b/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c
index 994f68c..6f4788e 100644
--- a/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c
+++ b/GD32F4xx_Firmware_Library/SYSTICK/gd32f4xx_it.c
@@ -392,6 +392,7 @@ void TIMER4_IRQHandler(void)
v_bldc_six_step();
h_bldc_six_step();
timer_interrupt_flag_clear(TIMER4,TIMER_INT_FLAG_UP);
+ as5047d_hori_get_speed();
}
}
diff --git a/PROJECT/OS2.ewp b/PROJECT/OS2.ewp
index c85f083..d2ffe04 100644
--- a/PROJECT/OS2.ewp
+++ b/PROJECT/OS2.ewp
@@ -825,7 +825,7 @@