Страница 13 из 16

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

Добавлено: 04.12.2019{, 22:24}
AlexCrane
Бок управления шаговым двигателем на библиотеке AccelStepper

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

Работает на библиотеке 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 КБ) 783 скачивания
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
ТЕСТ ШД v6.flp
(225.63 КБ) 717 скачиваний
- здесь блоки старые оставил просто как пример (новые внизу)
------------------------------------------------
Обновил 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 КБ) 1124 скачивания

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

Добавлено: 05.12.2021{, 21:15}
Ingwar
НовыйUser писал(а):
05.12.2021{, 20:31}
ТИХО :smile469: вращать
Тихо или медленно?
Если первое, то TMC Вам в помощь.

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

Добавлено: 05.12.2021{, 21:28}
НовыйUser
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 Вам в помощь
что это такое?

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

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

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

Добавлено: 05.12.2021{, 21:48}
НовыйUser
ок
а установка микрошагов в затишении имеют смысл ?
и еще один вопрос. есть ли разница между обычным выходом и pwm на step драйверу?

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

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

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

Добавлено: 06.12.2021{, 22:48}
НовыйUser
ок
вопросик еще один появился.
как исключать паразитные влияния пинов на драйвер в момент загрузки ардуинки?

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

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

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

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

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

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

Добавлено: 07.12.2021{, 07:24}
AlexCrane
madvad199900, Формула стандартная для ускорения, шаг/с2

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

Добавлено: 09.12.2021{, 23:23}
НовыйUser
протестировав а4988 пришел к выводу перейти на TB6600
проще...

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

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

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

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

Примерно так
ШД Туда и от концевика обратно.flp
(466.79 КБ) 65 скачиваний

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

Добавлено: 30.12.2021{, 06:10}
jah
AlexCrane здравствуйте , скажите как в вашем блоке выключить ускорение, чтоб двигатель стартовал и тормозил без рзагона? спасибо!

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

Добавлено: 30.12.2021{, 06:36}
AlexCrane
jah, Смотря в каком режиме, если в режиме постоянного вращения то никак, если по шагам то это по умолчанию работает. Или используйте блоки на библиотека Гайвера

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

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

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

Добавлено: 13.01.2022{, 18:02}
AlexCrane
jah, Тогда задать ускорение по максимуму

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

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

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

Добавлено: 13.01.2022{, 21:41}
AlexCrane
jah, Блоки точно последней версии (не из примеров)?

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

Добавлено: 13.01.2022{, 22:34}
jah
да последний

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

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