feat: 适配新结构,反转电机并增加复位高度
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
"type": "ARM",
|
||||
"dependenceList": [],
|
||||
"srcDirs": [
|
||||
".eide/deps",
|
||||
"3rd-part",
|
||||
"libraries/cmsis",
|
||||
"libraries/drivers",
|
||||
@@ -68,13 +67,11 @@
|
||||
"libraries/cmsis/cm4/device_support",
|
||||
"project/inc",
|
||||
".cmsis/include",
|
||||
".eide/deps",
|
||||
"3rd-part/PID-Library",
|
||||
"app",
|
||||
"3rd-part/lwprintf"
|
||||
],
|
||||
"libList": [],
|
||||
"sourceDirList": [],
|
||||
"defineList": [
|
||||
"USE_STDPERIPH_DRIVER",
|
||||
"AT32F425C8T7"
|
||||
@@ -82,5 +79,5 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": "3.3"
|
||||
"version": "3.4"
|
||||
}
|
||||
@@ -24,11 +24,11 @@ void by_motion_set_pwm_m1(int32_t pwm_duty)
|
||||
pwm_duty = clip_s32(pwm_duty, -900, 900); // 不可以拉满哦
|
||||
|
||||
if (pwm_duty < 0) {
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_3, -pwm_duty);
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_4, 0);
|
||||
} else {
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_4, -pwm_duty);
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_3, 0);
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_4, pwm_duty);
|
||||
} else {
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_4, 0);
|
||||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_3, pwm_duty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ int16_t by_motion_get_speed_m1(void)
|
||||
{
|
||||
#define alpha (0.1f)
|
||||
static float last_speed = 0.0f;
|
||||
param_m1.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(+1 * (int16_t)tmr_counter_value_get(TMR3));
|
||||
param_m1.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(-1 * (int16_t)tmr_counter_value_get(TMR3));
|
||||
last_speed = param_m1.real_speed;
|
||||
tmr_counter_value_set(TMR3, 0);
|
||||
return (int16_t)param_m1.real_speed;
|
||||
@@ -184,7 +184,7 @@ void by_motion_init(void)
|
||||
// 等待复位
|
||||
}
|
||||
by_motion_set_speed_m1(0);
|
||||
by_motion_set_distance2(100, 30);
|
||||
by_motion_set_distance2(130, 30);
|
||||
delay_ms(2600);
|
||||
by_motion_set_distance2(0, 30);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user