From ccd93582825dff0e5222cfff32f324beacb17b39 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 26 Jun 2024 19:54:30 +0800 Subject: [PATCH] update --- sdk | 2 +- usrc/subboards/subboard10_hbot_v2/pri_board.h | 69 +++++++++++++++++++++- .../subboard10_hbot_v2/subboard10_hbot_v2.cpp | 41 +++++++------ 3 files changed, 91 insertions(+), 21 deletions(-) diff --git a/sdk b/sdk index 4fa0ad7..ac5dbdd 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 4fa0ad7174d45b7a0c0aa6972309f5f1f6d0caa3 +Subproject commit ac5dbdd30601037dfff6b4702a9a50297493a382 diff --git a/usrc/subboards/subboard10_hbot_v2/pri_board.h b/usrc/subboards/subboard10_hbot_v2/pri_board.h index 83a35f4..c1261c9 100644 --- a/usrc/subboards/subboard10_hbot_v2/pri_board.h +++ b/usrc/subboards/subboard10_hbot_v2/pri_board.h @@ -29,11 +29,78 @@ /*********************************************************************************************************************** * 电机1 * ***********************************************************************************************************************/ - +#if 0 #define MOTOR1_CSN PA4 #define MOTOR1_ENN PB7 #define MOTOR2_CSN PC4 #define MOTOR2_ENN PE13 +#else +#define MOTOR1_CSN PA4 +#define MOTOR1_ENN PB7 + +#define MOTOR1_REFL PD0 +#define MOTOR1_REFR PinNull +#define MOTOR1_REFL_MIRROR true +#define MOTOR1_REFR_MIRROR true + +#define MOTOR1_MOTOR_SHAFT false +#define MOTOR1_MOTOR_ONE_CIRCLE_PULSE 1000 +#define MOTOR1_MOTOR_ONE_CIRCLE_PULSE_DENOMINATOR 1 +#define MOTOR1_STEPMOTOR_IHOLD 1 +#define MOTOR1_STEPMOTOR_IRUN 30 +#define MOTOR1_STEPMOTOR_IHOLDDELAY 100 +#define MOTOR1_STEPMOTOR_IGLOBALSCALER 128 +#define MOTOR1_MOTOR_DEFAULT_VELOCITY 100 +#define MOTOR1_MIN_D 0 +#define MOTOR1_MAX_D 0 +#define MOTOR1_MOTOR_RUN_TO_ZERO_SPEED 400 +#define MOTOR1_MOTOR_LOOK_ZERO_EDGE_SPEED 50 +#define MOTOR1_MOTOR_VSTART TMC5130_DEFAULT__MOTOR_VSTART +#define MOTOR1_MOTOR_A1 TMC5130_DEFAULT__MOTOR_A1 +#define MOTOR1_MOTOR_AMAX 300 +#define MOTOR1_MOTOR_V1 TMC5130_DEFAULT__MOTOR_V1 +#define MOTOR1_MOTOR_DMAX 300 +#define MOTOR1_MOTOR_D1 TMC5130_DEFAULT__MOTOR_D1 +#define MOTOR1_MOTOR_VSTOP TMC5130_DEFAULT__MOTOR_VSTOP +#define MOTOR1_MOTOR_TZEROWAIT TMC5130_DEFAULT__MOTOR_TZEROWAIT +#define MOTOR1_ENC_RESOLUTION 1000 +#define MOTOR1_ENABLE_ENC_RESOLUTION 1 + +/*********************************************************************************************************************** + * 电机2 * + ***********************************************************************************************************************/ + +#define MOTOR2_CSN PC4 +#define MOTOR2_ENN PE13 + +#define MOTOR2_REFL PinNull +#define MOTOR2_REFR PinNull +#define MOTOR2_REFL_MIRROR true +#define MOTOR2_REFR_MIRROR true + +#define MOTOR2_MOTOR_SHAFT false +#define MOTOR2_MOTOR_ONE_CIRCLE_PULSE 1000 +#define MOTOR2_MOTOR_ONE_CIRCLE_PULSE_DENOMINATOR 1 +#define MOTOR2_STEPMOTOR_IHOLD 1 +#define MOTOR2_STEPMOTOR_IRUN 30 +#define MOTOR2_STEPMOTOR_IHOLDDELAY 100 +#define MOTOR2_STEPMOTOR_IGLOBALSCALER 128 +#define MOTOR2_MOTOR_DEFAULT_VELOCITY 100 +#define MOTOR2_MIN_D 0 +#define MOTOR2_MAX_D 0 +#define MOTOR2_MOTOR_RUN_TO_ZERO_SPEED 400 +#define MOTOR2_MOTOR_LOOK_ZERO_EDGE_SPEED 50 +#define MOTOR2_MOTOR_VSTART TMC5130_DEFAULT__MOTOR_VSTART +#define MOTOR2_MOTOR_A1 TMC5130_DEFAULT__MOTOR_A1 +#define MOTOR2_MOTOR_AMAX 300 +#define MOTOR2_MOTOR_V1 TMC5130_DEFAULT__MOTOR_V1 +#define MOTOR2_MOTOR_DMAX 300 +#define MOTOR2_MOTOR_D1 TMC5130_DEFAULT__MOTOR_D1 +#define MOTOR2_MOTOR_VSTOP TMC5130_DEFAULT__MOTOR_VSTOP +#define MOTOR2_MOTOR_TZEROWAIT TMC5130_DEFAULT__MOTOR_TZEROWAIT +#define MOTOR2_ENC_RESOLUTION 1000 +#define MOTOR2_ENABLE_ENC_RESOLUTION 1 +#endif diff --git a/usrc/subboards/subboard10_hbot_v2/subboard10_hbot_v2.cpp b/usrc/subboards/subboard10_hbot_v2/subboard10_hbot_v2.cpp index c9cb40a..377c8c3 100644 --- a/usrc/subboards/subboard10_hbot_v2/subboard10_hbot_v2.cpp +++ b/usrc/subboards/subboard10_hbot_v2/subboard10_hbot_v2.cpp @@ -77,13 +77,11 @@ void Subboard10HbotV2::initialize() { ZLOGI(TAG, "motorb initialize TMC51X0:%x", motora.readICVersion()); } - /******************************************************************************* * zcanXYRobotCtrlModule * *******************************************************************************/ static ZGPIO input[4]; - input[0].initAsInput(EXT_INPUT_IO0); input[1].initAsInput(EXT_INPUT_IO1); input[2].initAsInput(EXT_INPUT_IO2); @@ -92,33 +90,38 @@ void Subboard10HbotV2::initialize() { static XYRobotCtrlModule::config_t xy_defaultcfg; XYRobotCtrlModule::create_default_cfg(xy_defaultcfg); +#define LEVEL1_A 15 +#define LEVEL2_A 40 +#define START_AND_STOP_V 30 +#define V1 200 + xy_defaultcfg.robot_type = XYRobotCtrlModule::khbot; xy_defaultcfg.one_circle_pulse = 7344; xy_defaultcfg.one_circle_pulse_denominator = 1; - xy_defaultcfg.ihold = 1; + xy_defaultcfg.ihold = 10; xy_defaultcfg.irun = 31; xy_defaultcfg.iholddelay = 100; - xy_defaultcfg.iglobalscaler = 32; - xy_defaultcfg.vstart = TMC5130_DEFAULT__MOTOR_VSTART; - xy_defaultcfg.a1 = TMC5130_DEFAULT__MOTOR_A1; - xy_defaultcfg.amax = TMC5130_DEFAULT__MOTOR_AMAX; - xy_defaultcfg.v1 = TMC5130_DEFAULT__MOTOR_V1; - xy_defaultcfg.dmax = TMC5130_DEFAULT__MOTOR_DMAX; - xy_defaultcfg.d1 = TMC5130_DEFAULT__MOTOR_D1; - xy_defaultcfg.vstop = TMC5130_DEFAULT__MOTOR_VSTOP; - xy_defaultcfg.tzerowait = TMC5130_DEFAULT__MOTOR_TZEROWAIT; + xy_defaultcfg.iglobalscaler = 128; + xy_defaultcfg.vstart = START_AND_STOP_V; + xy_defaultcfg.a1 = LEVEL1_A; + xy_defaultcfg.amax = LEVEL2_A; + xy_defaultcfg.v1 = V1; + xy_defaultcfg.dmax = LEVEL2_A; + xy_defaultcfg.d1 = LEVEL1_A; + xy_defaultcfg.vstop = START_AND_STOP_V; + xy_defaultcfg.tzerowait = 10; xy_defaultcfg.enc_resolution = 1000; xy_defaultcfg.enable_enc = 1; - xy_defaultcfg.x_shaft = 0; + xy_defaultcfg.x_shaft = 1; xy_defaultcfg.y_shaft = 1; - xy_defaultcfg.default_velocity = 300; + xy_defaultcfg.default_velocity = 800; xy_defaultcfg.shift_x = 0; xy_defaultcfg.shift_y = 0; - xy_defaultcfg.min_x = 0; - xy_defaultcfg.min_y = 0; - xy_defaultcfg.max_x = 0; - xy_defaultcfg.max_y = 0; - xy_defaultcfg.run_to_zero_speed = 40; + xy_defaultcfg.min_x = -20; + xy_defaultcfg.min_y = -20; + xy_defaultcfg.max_x = 55150; + xy_defaultcfg.max_y = 41500; + xy_defaultcfg.run_to_zero_speed = 80; xy_defaultcfg.look_zero_edge_speed = 10; xyRobotCtrlModule.initialize(getmoduleId(1), &motora, &motorb, &input[0], 4, xy_defaultcfg);