执行机构角度就近取角与相对运动; 增加归零等待与协议说明

This commit is contained in:
kirl committed 2026-08-01 07:54:34 +08:00
1 parent 14f2ff94d0
commit 4ce4a33603
4 files changed
+106 -19

No files matched your search

+5 -3
View File
@@ -38,6 +38,9 @@ static const char *TAG = "MAIN";
/* ---- 按钮识别任务 ---- */
#define RECOGNIZE_TIMEOUT_MS 20000
#define RECOGNIZE_POLL_MS 100
/* 归零后等待电机运动到位的时间 (无到位反馈, 按最大行程 + 裕量给定时长) */
#define HOME_Z_SETTLE_MS 1500 /* Z 回 0°: vel=50RPM, 最大 ~270° 约 0.9s */
#define HOME_XY_SETTLE_MS 4000 /* XY 回零: vel=1500RPM, Y 最大 335mm 约 2s */
static void button_recognize_task(void *pvParam)
{
@@ -48,12 +51,12 @@ static void button_recognize_task(void *pvParam)
/* ---- 归零: 舵机抬起 + Z 回 0° ---- */
actuator_servo_up();
actuator_motor_angle(ACTUATOR_ADDR_ANGLE, 0.0f, 50, 100, true);
vTaskDelay(pdMS_TO_TICKS(500));
vTaskDelay(pdMS_TO_TICKS(HOME_Z_SETTLE_MS));
/* ---- XY 回零: X=0, Y=330 (vel=1500 acc=200) ---- */
actuator_motor_mm(ACTUATOR_ADDR_X, 0.0f, 1500, 200, true);
actuator_motor_mm(ACTUATOR_ADDR_Y1, 330.0f, 1500, 200, true);
vTaskDelay(pdMS_TO_TICKS(2000));
vTaskDelay(pdMS_TO_TICKS(HOME_XY_SETTLE_MS));
ESP_LOGI(TAG, "归零完成, 发送 RECOGNIZE ...");
@@ -136,4 +139,3 @@ void app_main(void)
vTaskDelay(pdMS_TO_TICKS(500));
}
}