Изменение скорости вращения двигателя через заданное время
- Войдите на сайт для отправки комментариев
Пнд, 21/11/2016 - 14:22
Здравствуйте!
Скетч управляет шаговым двигателем по нажатию кнопки. Пока держим кнопку, двигатель вращается.
while (digitalRead(zbutton_plus)== 0 && digitalRead(zendstop_plus)== 0) { //пока нажата кнопка и не сработал концевик digitalWrite(8,LOW); // запитываем двигатель stepperq.setMaxSpeed(800*speed_c); // устанавливаем скорость, speed_c - коэффициент, изначально равный 1 stepperq.move(800); // на сколько шагов перемещаемся stepperq.start(); // поехали! }
Задача сделать так, чтобы через какое-то время скорость увеличилась, например, в 2 раза (однократно, постоянное удвоение не требуется). Т.е. зажимаем кнопку, пару секунд двигатель работает медленно, для точного позиционирования, потом, если кнопка всё еще зажата, скорость увеличивается для экономии времени при перемещении на значительные расстояния.
Подскажите, как это реализовать?
P.S. Для управления двигателем используется библиотека StepperQ - форк AccelStepper, но работает по прерываниям.
Спасибо!