Шаговый двигатель на AccelStepper

Шаговый двигатель на AccelStepper

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#1

Сообщение AlexCrane » 04.12.2019{, 22:24}

Бок управления шаговым двигателем на библиотеке AccelStepper

Наименование блока: ШагДвиг_mod (step/dir) INT_v2
ШД.png
ШД.png (4.42 КБ) 41151 просмотр

Работает на библиотеке AccelStepper.h и TimerOne.h (Не будет работать ШИМ на выходах завязанных на первое прерывание)
http://www.airspayce.com/mikem/arduino/ ... index.html

Параметры пользователя:
period - Период прерывания, мкс, Менять Оторожно
Step - Пин управления шагами контроллера
Dir - Пин направления вращения контроллера

Входы:
Continuous - При true постоянно шагаем, имеет больший приоритет перед EnSteps
SpeedContinuous - Скорость ШД для "постоянно шагаем"
Эти два входа можно использовать для поиска концевика и просто чтобы покрутить двигателем, но без ускорений

SetZeroPosition - Установка начальной позиции в 0. Использовать через RTrig

EnSteps - при переднем фронте начинаем шагать. Использовать через RTrig
MaxSpeed - Максимальная скорость шаг/сек
Acceleration - Ускорение шаг/сек2
Steps - Количество шагов для выполнения (hint: можно и отрицательные)
CCW - true крутить против часовой, иначе по

AbsSteps - Если true то шагаем по абсолютным координатам от нулевой позиции, иначе идем относительно последней позиции

StopAccel - Остановка с использованием текущей скорости и ускорения

Выходы:
Ready - true двигатель закончил движение
Position - Текущая позиция двигателя
-

-
Небольшой пример:
------------------------------------------------
Тест ШД 04 test.flp
(752.64 КБ) 737 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
ТЕСТ ШД v6.flp
(225.63 КБ) 677 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
Обновил 15.12.2019. Не включалось повторно бесконечное вращение
Обновил 14.01.2020. После остановки "бесконечного вращения" продолжал медленно шагать
Обновил 29.01.2020 до версии 1.2. Пофиксил обнаруженные баги.
Обновил 06.04.2020 до версии 1.3. Некорректно работал вход CCW
Обновил 12.11.2020 Добавил блоки для DUE и для драйверов на базе ULN2003, L298N и пр.

Примеры предоставленные участниками форума:
viewtopic.php?t=5919#p80991

Библиотеки
Accel_libraries.zip
(118.27 КБ) 1068 скачиваний
Вложения
ШД AlexCrane v1.3.ubl
(780.74 КБ) 1026 скачиваний
Последний раз редактировалось AlexCrane 12.11.2020{, 18:48}, всего редактировалось 9 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

LForest
Рядовой
Сообщения: 19
Зарегистрирован: 11.06.2023{, 23:47}
Репутация: 0
Имя: Сергей

Шаговый двигатель на AccelStepper

#281

Сообщение LForest » 12.06.2023{, 00:11}

Здравствуйте. Помогите, пожалуйста, понять, каким образом на Вашем блоке реализовать алгоритм работы одного двигателя на определенное количество шагов в одну сторону с ускорением/замедлением и? сразу по завершении? аналогично на то же количество шагов обратно в виде одного цикла (пуск > туда > обратно > стоп).

LForest
Рядовой
Сообщения: 19
Зарегистрирован: 11.06.2023{, 23:47}
Репутация: 0
Имя: Сергей

Шаговый двигатель на AccelStepper

#282

Сообщение LForest » 20.06.2023{, 17:37}

Alex, скажите, пожалуйста, почему у меня не срабатывает остановка принудительная по датчику (он у меня световой, по этому инверсия для 1 на выходе не нужна). Вроде ж правильно все или нет?
Вообще не реагирует на концевик как на работе по кол-ву шагов через кнопку "Пуск цикла", так и на простом равномерном включении по кнопкам "Движение головы...".

Пробовал как через R-триггер концевик, так и напрямую.
Вложения
Скриншот 20-06-2023 173433.jpg

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#283

Сообщение AlexCrane » 21.06.2023{, 08:24}

LForest писал(а):
20.06.2023{, 17:37}
Alex, скажите, пожалуйста, почему у меня не срабатывает остановка принудительная по датчику (он у меня световой, по этому инверсия для 1 на выходе не нужна). Вроде ж правильно все или нет?
Вообще не реагирует на концевик как на работе по кол-ву шагов через кнопку "Пуск цикла", так и на простом равномерном включении по кнопкам "Движение головы...".

Пробовал как через R-триггер концевик, так и напрямую.
В этом блоке StopAccel работает только при работе с шагами. При простом вращении концевики обрабатывайте сами внешними блоками.
Поставьте обычную кнопку вместо "светового" и проверьте.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

LForest
Рядовой
Сообщения: 19
Зарегистрирован: 11.06.2023{, 23:47}
Репутация: 0
Имя: Сергей

Шаговый двигатель на AccelStepper

#284

Сообщение LForest » 21.06.2023{, 18:06}

AlexCrane писал(а):
21.06.2023{, 08:24}
Поставьте обычную кнопку вместо "светового" и проверьте.
Я так тоже делал. Так же не реагирует. И мне надо как раз, чтоб StopAccel останавливал на проходе по шагам, но что на датчике, что на кнопке этого не происходит. И, кстати, какая разница между кнопкой с подтягивающим резистором и датчиком. И то, и другое при замыкании на выходе выдает либо высокий, либо низкий уровень. Причем именно тот датчик, который я использую, четко для цифрового входа, а не аналогово - оптический-щелевой.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#285

Сообщение AlexCrane » 21.06.2023{, 20:05}

LForest писал(а):
21.06.2023{, 18:06}
выдает либо высокий, либо низкий уровень
Судя по схеме выше должен выдавать высокий и быть подтянут к минусу.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Roma07
Рядовой
Сообщения: 23
Зарегистрирован: 09.05.2021{, 20:27}
Репутация: 0
Откуда: НАЛЬЧИК
Имя: Ramazan

Шаговый двигатель на AccelStepper

#286

Сообщение Roma07 » 03.07.2023{, 19:06}

AlexCrane. Спасибо за ваш труд!!! Подскажите пожалуйста где разжиться польз.блоками на ШД более одного, двух ,трех моторов в одном скече

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#287

Сообщение AlexCrane » 03.07.2023{, 22:22}

Roma07, Так тут до 6 ШД вроде поддержка. Много ШД будут медленно шагать. Максимальная скорость для МК делится на все ШД. Возможно ESP32 потянет более 3 ШД на высокой скорости, но не на этих блоках...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Roma07
Рядовой
Сообщения: 23
Зарегистрирован: 09.05.2021{, 20:27}
Репутация: 0
Откуда: НАЛЬЧИК
Имя: Ramazan

Шаговый двигатель на AccelStepper

#288

Сообщение Roma07 » 04.07.2023{, 11:08}

AlexCrane, Здравствуйте! подскажите пожалуйста как приобрести пользовательский блок на два и более шаговых моторов по моему есть до 6-сти моторов

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#289

Сообщение AlexCrane » 04.07.2023{, 21:22}

Roma07, В первом посту блок скачай, там до шести ШД для МК Атмел
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Roma07
Рядовой
Сообщения: 23
Зарегистрирован: 09.05.2021{, 20:27}
Репутация: 0
Откуда: НАЛЬЧИК
Имя: Ramazan

Шаговый двигатель на AccelStepper

#290

Сообщение Roma07 » 05.07.2023{, 20:15}

Спасибо я понял насчет оборотов . мне не надо больших скоростей пытаюсь сделать намоточный станок.но вот шд 6 штук я так и не нашел :smile37:

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Шаговый двигатель на AccelStepper

#291

Сообщение AlexCrane » 05.07.2023{, 21:56}

Roma07,
ШД_6 штук.flp
(1.15 МБ) 50 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Roma07
Рядовой
Сообщения: 23
Зарегистрирован: 09.05.2021{, 20:27}
Репутация: 0
Откуда: НАЛЬЧИК
Имя: Ramazan

Шаговый двигатель на AccelStepper

#292

Сообщение Roma07 » 06.07.2023{, 10:28}

Спасибо огромное! С меня на шоколадку как говорит Николай))) как осуществить сие действо?

Отправлено спустя 31 минуту 44 секунды:
AlexCrane,
подскажите пожалуйста. Если использовать два или три, четыре мотора то основной блок тот же на 6-сть моторов, или нужны на 2,3,4,5, (основной блок на кол-во используемых моторов)?Просто у Калинникова Н. на канале видно отдельно осн. блоки на разное количество.

Vdan83
Рядовой
Сообщения: 2
Зарегистрирован: 29.07.2022{, 21:52}
Репутация: 0
Имя: Vdan83

Шаговый двигатель на AccelStepper

#293

Сообщение Vdan83 » 08.10.2023{, 16:02}

Добрый день, пожалуйста можете помочь с проектом ели кто подскажет или набросает буду благодарен.
А задача следушая при включение нажимаю 0 и едет на обнулене в против часовой а потом при нажатие 1 условно задано константа и едет условно 250м и останавливается если нажать на 2 то поедет 350мм и остановится и так до 8.

Roma07
Рядовой
Сообщения: 23
Зарегистрирован: 09.05.2021{, 20:27}
Репутация: 0
Откуда: НАЛЬЧИК
Имя: Ramazan

Шаговый двигатель на AccelStepper

#294

Сообщение Roma07 » 16.03.2024{, 10:48}

Alex Добрый день! подскажите пожалуйста при компиляции пишет библиотека AccelStepper не найдена. Что может быть не так спасибо

Аватара пользователя
montirovka
Сержант
Сообщения: 201
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 40
Откуда: Геленджик
Имя: Сергей

Шаговый двигатель на AccelStepper

#295

Сообщение montirovka » 16.03.2024{, 15:40}

Roma07 писал(а):
16.03.2024{, 10:48}
Что может быть не так
Проект увидеть можно?
Люблю учиться на чужих ошибках.

cosinus
Рядовой
Сообщения: 11
Зарегистрирован: 03.04.2024{, 09:27}
Репутация: 0
Откуда: Уфа
Имя: Айдар

Шаговый двигатель на AccelStepper

#296

Сообщение cosinus » 06.04.2024{, 18:40}

Бок управления шаговым двигателем на библиотеке AccelStepper. и как ее залить в библиотеки?

Аватара пользователя
montirovka
Сержант
Сообщения: 201
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 40
Откуда: Геленджик
Имя: Сергей

Шаговый двигатель на AccelStepper

#297

Сообщение montirovka » 06.04.2024{, 20:18}

cosinus писал(а):
06.04.2024{, 18:40}
и как ее залить в библиотеки?
Извините, а ее это кого?
Вопрос поставлен не верно.
Люблю учиться на чужих ошибках.

cosinus
Рядовой
Сообщения: 11
Зарегистрирован: 03.04.2024{, 09:27}
Репутация: 0
Откуда: Уфа
Имя: Айдар

Шаговый двигатель на AccelStepper

#298

Сообщение cosinus » 07.04.2024{, 08:23}

montirovka писал(а):
06.04.2024{, 20:18}
cosinus писал(а):
06.04.2024{, 18:40}
и как ее залить в библиотеки?
Извините, а ее это кого?
Вопрос поставлен не верно.
Бок управления шаговым двигателем библиотеки AccelStepper

Аватара пользователя
montirovka
Сержант
Сообщения: 201
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 40
Откуда: Геленджик
Имя: Сергей

Шаговый двигатель на AccelStepper

#299

Сообщение montirovka » 07.04.2024{, 08:41}

В пользовательском блоке все уже залито. У вас какие то проблемы с компиляцией? Проект можно увидеть?
Люблю учиться на чужих ошибках.

cosinus
Рядовой
Сообщения: 11
Зарегистрирован: 03.04.2024{, 09:27}
Репутация: 0
Откуда: Уфа
Имя: Айдар

Шаговый двигатель на AccelStepper

#300

Сообщение cosinus » 07.04.2024{, 10:09}

montirovka писал(а):
07.04.2024{, 08:41}
В пользовательском блоке все уже залито. У вас какие то проблемы с компиляцией? Проект можно увидеть?
WhatsApp Image 2024-04-07 at 11.50.12.jpeg
висит

Ответить

Вернуться в «Управление шаговыми двигателями и сервоприводами»