From 46e9da70e15acd44093168dccc0d2eb0d88d130f 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: Tue, 12 Aug 2025 09:19:21 +0800 Subject: [PATCH] 1 --- APP/Device/Device_speed/speed_to_bldc.c | 28 ++++++++++++++++++++++--- BSP/Driver/usart/Usart.c | 4 ++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/APP/Device/Device_speed/speed_to_bldc.c b/APP/Device/Device_speed/speed_to_bldc.c index 913f112..d1da705 100644 --- a/APP/Device/Device_speed/speed_to_bldc.c +++ b/APP/Device/Device_speed/speed_to_bldc.c @@ -550,11 +550,22 @@ static void ptz_hori_pid_task() g_ptz.hori_pid.hall_h2_count + g_ptz.hori_pid.hall_h3_count; + static uint32_t timeH, lastTimeH, horiTime; + timeH = OSTimeGet(); + horiTime = timeH - lastTimeH; + if (horiTime < 0) { + continue; + } + lastTimeH = timeH; + if(g_ptz.hori_pid.hall_h123_count >= 2) { + // g_ptz.hori_pid.hall_h123_motor_speed = + // 60000.0 * (float)(g_ptz.hori_pid.hall_h123_count/* - 1*/) / + // (float)PTZ_HORI_PID_T / PTZ_HORI_ONE_CYCLE_HALL_NUM; g_ptz.hori_pid.hall_h123_motor_speed = 60000.0 * (float)(g_ptz.hori_pid.hall_h123_count/* - 1*/) / - (float)PTZ_HORI_PID_T / PTZ_HORI_ONE_CYCLE_HALL_NUM; + (float)horiTime / PTZ_HORI_ONE_CYCLE_HALL_NUM; } @@ -1191,14 +1202,25 @@ static void ptz_vert_pid_task() g_ptz.vert_pid.hall_h2_count + g_ptz.vert_pid.hall_h3_count; + static uint32_t timeV, lastTimeV, vertTime; + timeV = OSTimeGet(); + vertTime = timeV - lastTimeV; + if (vertTime < 0) { + continue; + } + lastTimeV = timeV; + if(g_ptz.vert_pid.hall_h123_count >= 2) { + // g_ptz.vert_pid.hall_h123_motor_speed = + // 60000.0 * (float)(g_ptz.vert_pid.hall_h123_count /*-1*/) / + // (float)PTZ_VERT_PID_T / PTZ_VERT_ONE_CYCLE_HALL_NUM; + g_ptz.vert_pid.hall_h123_motor_speed = 60000.0 * (float)(g_ptz.vert_pid.hall_h123_count /*-1*/) / - (float)PTZ_VERT_PID_T / PTZ_VERT_ONE_CYCLE_HALL_NUM; + (float)vertTime / PTZ_VERT_ONE_CYCLE_HALL_NUM; } - g_ptz.vert_motor_speed_hall_actual = g_ptz.vert_pid.hall_h123_motor_speed; /* ********************************** */ diff --git a/BSP/Driver/usart/Usart.c b/BSP/Driver/usart/Usart.c index 2d19e5f..ff6f9ee 100644 --- a/BSP/Driver/usart/Usart.c +++ b/BSP/Driver/usart/Usart.c @@ -237,7 +237,7 @@ void ptz_uart_dev_send(device_handle device, void *data, int len) if(device == uart_485_handle) { PTZ_UART_485_TX; - OSTimeDlyHMSM(0u, 0u, 0u, 10u); + OSTimeDlyHMSM(0u, 0u, 0u, 1u); for (int i = 0; i