pref: 适当增加速度

This commit is contained in:
bmy
2024-07-09 02:13:32 +08:00
parent c286c90928
commit 610bff5e47

View File

@@ -76,6 +76,10 @@ void by_stepper_set_position_millimeter(float distance)
return;
}
if (distance > 170) {
distance = 170;
}
gpio_bits_write(GPIOA, GPIO_PINS_9, FALSE); // EN
position_aim = (int64_t)(distance * ENCODER_PULSE_PER_MILLIMETER);
position_offset = position_aim - position;
@@ -88,6 +92,9 @@ void by_stepper_add_position_millimeter(float distance)
if (!running_flag) {
gpio_bits_write(GPIOA, GPIO_PINS_9, FALSE); // EN
position_aim = position + (int64_t)(distance * ENCODER_PULSE_PER_MILLIMETER);
if (position_aim > 170 * ENCODER_PULSE_PER_MILLIMETER) {
position_aim = 170 * ENCODER_PULSE_PER_MILLIMETER;
}
position_offset = position_aim - position;
running_flag = 1;
}
@@ -121,7 +128,7 @@ void by_stepper_init(void)
while (gpio_input_data_bit_read(GPIOB, GPIO_PINS_10) == SET) {
gpio_bits_write(GPIOA, GPIO_PINS_8, by_stepper.dir ? TRUE : FALSE); // DIR
gpio_bits_write(GPIOB, GPIO_PINS_15, !gpio_output_data_bit_read(GPIOB, GPIO_PINS_15)); // CLK
DWT_Delay(40U * (uint16_t)by_stepper.speed);
DWT_Delay(30U * (uint16_t)by_stepper.speed);
}
position = 0; // 位置归零