Программирование шагового двигателя перемещает фиксированный шаг, пока не достигнет цели
У меня есть шаговый двигатель, и я пытаюсь запрограммировать его вот так, но я застрял, так как я новичок в Arduino. 1. Целевое значение установлено на 2048, что означает, что двигатель должен совершить 2048 шагов. 2. Я программирую двигатель на выполнение 200 шагов каждый раз, каждые 200 шагов останавливаются на секунду, пока не достигнет 2048.
Я использовал библиотеку AccelStepper для программирования своего двигателя и обнаружил, что мне очень сложно программировать таким образом. Я не прошу делать домашнее задание, но я не знаю, с чего начать. Просто хотел спросить, какой метод можно использовать, чтобы запрограммировать двигатель на такую работу. Спасибо.
@Geddoe, 👍0
Обсуждение1 ответ
Лучший ответ:
Я бы начал с примера блокировки, поставляемого с библиотекой. Добавьте нужные вам задержки, нужные шаги/расстояние. Нижеследующее просто, но грубо. Это код блокировки вызовов. Он может выполнить только следующую последовательность, но иногда этого достаточно.
Лучше было бы использовать условный цикл для достижения конечной цели. Цикл переместится на 200, затем задержится на 1 секунду и вычтет перемещенную сумму. Повторяйте цикл, пока не израсходуете все необходимое расстояние. Но сначала я предлагаю сохранить его простым и просто заставить его работать со встроенными последовательностями.
#include <AccelStepper.h>
// Определить шаговый двигатель и контакты, которые он будет использовать
AccelStepper stepper; // По умолчанию AccelStepper::FULL4WIRE (4 контакта) на 2, 3, 4, 5
void setup()
{
stepper.setMaxSpeed(200.0);
stepper.setAcceleration(100.0);
}
void loop()
{
stepper.runToNewPosition(0);
delay(1000);
stepper.runToNewPosition(200);
delay(1000);
stepper.runToNewPosition(200);
delay(1000);
stepper.runToNewPosition(200);
}
Спасибо! Я прочитаю первым. Ценить это!, @Geddoe
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Вопрос о различных способах подключения платы драйвера двигателя L298N к Arduino и двигателям и их питания.
- Обратное вращение шагового двигателя
- Неиспользуемые контакты в Arduino L293D motor shield?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Как заставить сервопривод вращаться на угол больше 180°
- Остановка/запуск двигателя постоянного тока с концевыми выключателями и кнопкой включения/выключения
Пробовали ли вы изменить один из примеров, прилагаемых к библиотеке?, @Rudy