использую AccelStepper делаю так: Код (C++): #include <AccelStepper.h> #define motorInterfaceType 1 AccelStepper myStepper(motorInterfaceType, 5, 4); int cSpeed = 40; void setup() { myStepper.setMaxSpeed(1000); myStepper.setAcceleration(100); myStepper.move(500); myStepper.setSpeed(cSpeed); myStepper.runSpeed(); } loop { myStepper.runSpeed(); if (digitalRead(kn3) == HIGH) { if (cSpeed < mSpeed && (cTime + 250 < millis())) { cSpeed = cSpeed + 5; cTime = millis(); myStepper.setSpeed(cSpeed); //delay(50); myStepper.runSpeed(); } } if (digitalRead(kn2) == HIGH ) { if (cSpeed > 0 && (cTime + 250 < millis())) { cSpeed = cSpeed - 5; cTime = millis(); myStepper.setSpeed(cSpeed); //delay(50); myStepper.runSpeed(); } } } [/QUOTE] проблема в том, что движок крутится медленно. при установке скорости в ноль - останавливается. при увеличении скорости - вроде, прибавляет, но не быстро. как регулировать кручение шагового?
возвращаясь к данной теме есть вопрос вовремя задания изменившейся скорости двигателю, двигатель делает микроостановку и начинает крутиться с новой заданной скоростью. Как сделать, что бы никаких пауз не было при изменении скорости?
как всегда - ответ гениален. сообщение засчитано. Теперь понятно, почему форум так тормозит - гении строчат
ну если бы ты сам писал код и использовал для шаговиков таймеры, то отлично бы знал, в каком месте искать ошибку. А так как ты используешь библиотеку и понятия не имеешь, как оно устроено внутри, то и решение не всегда лежит на поверхности.
надо разобраться что такое шаговый - какой градус на один шаг - биполярный или униполярный - это же круто