Шаговый двигатель на 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 КБ) 41146 просмотров

Работает на библиотеке 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 КБ) 736 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
ТЕСТ ШД 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 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#241

Сообщение Ingwar » 05.12.2021{, 21:15}

НовыйUser писал(а):
05.12.2021{, 20:31}
ТИХО :smile469: вращать
Тихо или медленно?
Если первое, то TMC Вам в помощь.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

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

#242

Сообщение НовыйUser » 05.12.2021{, 21:28}

AlexCrane писал(а):
05.12.2021{, 21:06}
НовыйUser, Этот (что в шапке) подойдет...
спасибо, опробуем :smile9:
Ingwar писал(а):
05.12.2021{, 21:15}
Тихо или медленно?
и)
тихо и медленно

решил нему17 опробовать
не блеск конечно, но сойти должна связка :yes:
все бы ничего....
но...
ЖЖЖЖУЖЖЖИТТТ слишком... :shok:

вот сижу изучаю новенькую для себя тему...
как сделать тихое вращение, медленное...

Отправлено спустя 2 минуты 22 секунды:
Ingwar писал(а):
05.12.2021{, 21:15}
TMC Вам в помощь
что это такое?

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

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

#243

Сообщение AlexCrane » 05.12.2021{, 21:35}

НовыйUser писал(а):
05.12.2021{, 21:31}
TMC
драйвер шагового двигателя.
A4988 - не самый лучший драйвер, уж лучше тогда DRV8825 на 1/32 шага
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

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

#244

Сообщение НовыйUser » 05.12.2021{, 21:48}

ок
а установка микрошагов в затишении имеют смысл ?
и еще один вопрос. есть ли разница между обычным выходом и pwm на step драйверу?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#245

Сообщение Ingwar » 05.12.2021{, 22:13}

НовыйUser писал(а):
05.12.2021{, 21:48}
в затишении имеют смысл ?
В "затишении" имеет значение: в первую очередь драйвер, а потом мотор (его индуктивность и резонансная частота).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

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

#246

Сообщение НовыйUser » 06.12.2021{, 22:48}

ок
вопросик еще один появился.
как исключать паразитные влияния пинов на драйвер в момент загрузки ардуинки?

пока скетч не загрузился драйвер хаотично вращает мотор в разные стороны и с разным количеством шагов длительностью 1сек.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

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

#247

Сообщение ingener » 06.12.2021{, 23:57}

Странно, не наблюдалось таого, хотя уже не одна конфигурация была собрана на step/dir драйверах с данными блоками.
При этом вход En (блокировка драйвера) даже не использовался.
При загрузке скетча иногда просто раздавался короткий щелчок в моторе.

madvad199900
Рядовой
Сообщения: 1
Зарегистрирован: 06.12.2020{, 13:32}
Репутация: 0
Откуда: Из дома.
Имя: OlegMedvedev

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

#248

Сообщение madvad199900 » 07.12.2021{, 01:31}

Кто нибудь, объясните мне, дураку.
По какой формуле вычисляется ускорение и как оно работает. Немогу понять закономерность этого ускорения. Как оно устроено? Как вычислить с какой скоростью или шагов в сек ускориться. Какие цифры не ставь. Непонятно ничего. Плез хелп.

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

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

#249

Сообщение AlexCrane » 07.12.2021{, 07:24}

madvad199900, Формула стандартная для ускорения, шаг/с2
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

НовыйUser
Сержант
Сообщения: 154
Зарегистрирован: 26.11.2015{, 22:05}
Репутация: 8

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

#250

Сообщение НовыйUser » 09.12.2021{, 23:23}

протестировав а4988 пришел к выводу перейти на TB6600
проще...

sulim099
Рядовой
Сообщения: 1
Зарегистрирован: 15.12.2021{, 21:29}
Репутация: 0
Имя: Sulim

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

#251

Сообщение sulim099 » 19.12.2021{, 19:19}

Добрый вечер!
никак не могу установить библиотеку AccelStepper
мне нужно что бы при нажатии кнопки двигатель вращался в одну сторону,
дойдя до концевика остановился и через определенное время начал крутиться в другую сторону, и так повторяться до следующего нажатия кнопки (можно той же кнопки а можно две кнопки один старт другой стоп)

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

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

#252

Сообщение AlexCrane » 20.12.2021{, 20:58}

sulim099 писал(а):
19.12.2021{, 19:19}
никак не могу установить библиотеку AccelStepper
Просто распакуй в папку с библиотеками
sulim099 писал(а):
19.12.2021{, 19:19}
дойдя до концевика остановился и через определенное время начал крутиться в другую сторону, и так повторяться до следующего нажатия кнопки (можно той же кнопки а можно две кнопки один старт другой стоп)
Тут совсем не понятно. Стартовое положение какое у ШД? Любое. Потом отсчет от концевика? А от концевика шаги отсчитывать?

Примерно так
ШД Туда и от концевика обратно.flp
(466.79 КБ) 60 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

jah
Рядовой
Сообщения: 5
Зарегистрирован: 13.08.2019{, 19:09}
Репутация: 0
Имя: yura

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

#253

Сообщение jah » 30.12.2021{, 06:10}

AlexCrane здравствуйте , скажите как в вашем блоке выключить ускорение, чтоб двигатель стартовал и тормозил без рзагона? спасибо!

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

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

#254

Сообщение AlexCrane » 30.12.2021{, 06:36}

jah, Смотря в каком режиме, если в режиме постоянного вращения то никак, если по шагам то это по умолчанию работает. Или используйте блоки на библиотека Гайвера
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

jah
Рядовой
Сообщения: 5
Зарегистрирован: 13.08.2019{, 19:09}
Репутация: 0
Имя: yura

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

#255

Сообщение jah » 13.01.2022{, 04:56}

AlexCrane писал(а):
30.12.2021{, 06:36}
если по шагам то это по умолчанию работает
вот именно тут я имел ввиду чтоб можно было шагать без ускорений, как и в бесконечном вращении

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

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

#256

Сообщение AlexCrane » 13.01.2022{, 18:02}

jah, Тогда задать ускорение по максимуму
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

jah
Рядовой
Сообщения: 5
Зарегистрирован: 13.08.2019{, 19:09}
Репутация: 0
Имя: yura

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

#257

Сообщение jah » 13.01.2022{, 20:53}

AlexCrane писал(а):
13.01.2022{, 18:02}
Тогда задать ускорение по максимуму
в
а какой максимум можно поставить? ато у меня почемуто когда больше 1000 моторчик иногда крутится сам по себе независимо сколько шагов я ему задаю выполнить

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

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

#258

Сообщение AlexCrane » 13.01.2022{, 21:41}

jah, Блоки точно последней версии (не из примеров)?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

jah
Рядовой
Сообщения: 5
Зарегистрирован: 13.08.2019{, 19:09}
Репутация: 0
Имя: yura

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

#259

Сообщение jah » 13.01.2022{, 22:34}

да последний

noanylag
Рядовой
Сообщения: 37
Зарегистрирован: 24.04.2017{, 02:18}
Репутация: 0

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

#260

Сообщение noanylag » 03.02.2022{, 15:34}

AlexCrane писал(а):
04.12.2019{, 22:24}
работает как сервопривод от 0 до 90 гр
viewtopic.php?t=5919#p80991
Простите,но это рабочий пример или что то перепутано? Скачивается блок ШД1_v1.3_UNI... А как реализовать управление?
Интересует именно управление переменником, а-ля сервопривод. Не пойму как реализовать.

Ответить

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