min speed fix

This commit is contained in:
2024-10-03 20:20:52 +03:00
parent c7876a00c5
commit 251da124f7
3 changed files with 46 additions and 38 deletions

View File

@ -643,27 +643,35 @@ void setScrewkSpeed(uint8_t speed) {
//(-v) 0 .. 100(stop) .. 200(+v)
void setRollersSpeed(uint8_t up, uint8_t down) {
uint16_t min_speed_rpm = map(infoBlock.hwInfo.motors.speed_Rollers_min, 0, 200, 400, 800);
uint16_t min_speed_pwm_positive = map(min_speed_rpm, 0, 8000, 100, 200);
uint16_t min_speed_pwm_negative = 100 - map(min_speed_rpm, 0, 8000, 0, 100);
if (up < 100) {
// up = map(up, 0, 100, 0, 100 - infoBlock.hwInfo.motors.speed_Screw_min);
// if (100 - up < min_speed) {
// up = 100 - min_speed;
// }
} else {
// up = map(up, 0, 100, 0, 100 + infoBlock.hwInfo.motors.speed_Screw_min);
// if (up - 100 < min_speed) { // Ограничиваем положительную скорость минимальной
// up = 100 + min_speed;
// }
}
if (up == 100) {
up = 100;
} else if (up > 100) {
if (down < 100) {
// map(down, 0, 100, 0, 100 - infoBlock.hwInfo.motors.speed_Screw_min);
if (up < min_speed_pwm_positive) {
up = min_speed_pwm_positive;
}
} else {
if (up > min_speed_pwm_negative) {
up = min_speed_pwm_negative;
}
}
} else {
// map(down, 0, 100, 0, 100 + infoBlock.hwInfo.motors.speed_Screw_min);
if (down == 100) {
down = 100;
} else if (down > 100) {
if (down < min_speed_pwm_positive) {
down = min_speed_pwm_positive;
}
} else {
if (down > min_speed_pwm_negative) {
down = min_speed_pwm_negative;
}
}
}
Vz1 = 200 - up; // invert
Vz2 = down;
Vz1 = 200 - up; // Инвертируем значение скорости для одного из моторов
Vz2 = down;
}