Шаговый двигатель на AccelStepper
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]Sanbi4[/ref], Хорошо, сделаю
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Шаговый двигатель на AccelStepper
Уважаемый автор модуля для ESP. Погонял ваш модуль и выяснилось следующее - поиск концевика работает изумительно, но есть проблемы с EnStep... Что бы двигатель отработал заданное количество шагов нужно на EnStep подать не передний фронт импульса а испульс длиной больше времени исполнения этого количества шагов... Как это можно исправить? Заранее благодарю
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]Sanbi4[/ref], [ref]Scrabler[/ref], Испытайте, блоков кидайте на сколько пинов хватит

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Шаговый двигатель на AccelStepper
Спасибо. Пока не работает перемещение на заданное количество шагов после поиска концевика. Разбираюсь.. Есть вопрос - должен ли появляться сигнал Ready01 после того как непрерывное вращение нашло концевик? или этот сигнал только выставляется после отработки движения двигателя на заданное количество шагов?
Отправлено спустя 25 минут 36 секунд:
Да и еще проблема в следующем... Двигатель у меня не быстрый - 400 шагов на оборот. И при подаче через Rtrigger сигнала на движение - он начинает шагать, но не отрабатывает их все... Не знаю с чем это связано... Пробовал меня скорость и ускорение но не помогло.
Отправлено спустя 25 минут 36 секунд:
Да и еще проблема в следующем... Двигатель у меня не быстрый - 400 шагов на оборот. И при подаче через Rtrigger сигнала на движение - он начинает шагать, но не отрабатывает их все... Не знаю с чем это связано... Пробовал меня скорость и ускорение но не помогло.
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]Scrabler[/ref], А если так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AlexCrane 18 апр 2020, 18:52, всего редактировалось 1 раз.
Шаговый двигатель на AccelStepper
нет что-то стало все виснуть... Предыдущая версия в принципе рабочая. Только можно в нее добавить выставление флага Ready01 в 1 при условии нахождения концевика. А так все хорошо. шаги не все выполнялись по причине кривизны моего драйвера - на нем нельзя выставить полный шаг как оказалось... Извиняюсь за то что вснес смуту.. Спасибо вам за ваш труд))
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]Scrabler[/ref], Попробуй viewtopic.php?f=75&t=5919&p=88430#p88430
Жаль проверить не на чем
[ref]Scrabler[/ref], спасибо за тестирование, проверю сам и исправлю...
Жаль проверить не на чем

[ref]Scrabler[/ref], спасибо за тестирование, проверю сам и исправлю...
Последний раз редактировалось AlexCrane 18 апр 2020, 22:17, всего редактировалось 1 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Шаговый двигатель на AccelStepper
Хорошо спасибо потестирую
Отправлено спустя 1 час 13 минут 25 секунд:
В общем описываю ситуацию как работает последняя версия... Все собрано на макетке только двайвер, мотор и кнопки - одна на continues, одна на Enstep и одна на StopAccel и висит светодиод на Ready. В Flprog имеем Enstep через Rtrig и триггер заведен Ready на Zeroposition. Имеем в итоге при старте программа реагирует только на сигнал Continues и при его прерывании не останавливается двигатель. Не останавливается он и при последующей подаче сигнала на StopAccel. Через долгое нажатие на Enstep все-таки двигатель останавливается, но шаги выполняет не все... Да сигнал Ready висит все время в 1 с начала вращений, а не появляется как должно быть после отработки перемещения
Отправлено спустя 1 час 13 минут 25 секунд:
В общем описываю ситуацию как работает последняя версия... Все собрано на макетке только двайвер, мотор и кнопки - одна на continues, одна на Enstep и одна на StopAccel и висит светодиод на Ready. В Flprog имеем Enstep через Rtrig и триггер заведен Ready на Zeroposition. Имеем в итоге при старте программа реагирует только на сигнал Continues и при его прерывании не останавливается двигатель. Не останавливается он и при последующей подаче сигнала на StopAccel. Через долгое нажатие на Enstep все-таки двигатель останавливается, но шаги выполняет не все... Да сигнал Ready висит все время в 1 с начала вращений, а не появляется как должно быть после отработки перемещения
Шаговый двигатель на AccelStepper
а зачем? чем вас не устраивает использование сигнала с самого концевика? Ready нужен для того, чтобы говорить о том, что мотор отработал заданное количество шагов.Scrabler писал(а): 18 апр 2020, 18:24 Только можно в нее добавить выставление флага Ready01 в 1 при условии нахождения концевика
Zeroposition должен брать сигнал с концевика, а не с Ready. отчет шагов как раз начинается с этой точки. на Ensteps - прикручивайте симметричный генератор длит импульса 1мкс. и на ABS - ставите 1. тогда у вас мотор будет отрабатывать то количество шагов, которое подадите на степс от концевика.
у меня так сделано: через континиус - ищем концевик. доехали до концевика - остановили мотор, задали нулевую точку (zeroposition), далее открутили мотор в рабочее положение, далее работаем по координатам.( по количеству шагов) - в таком случае мы отчитываем количество шагов от нуля. то есть если рабочее от нуля(концевика) 500 шагов, то при шагании нужно учитывать шаги от концевика!!! это правильнее, чем отчитывать от рабочего положения (РП) в 500 шагов от концевика, принимая это за ноль. В моем предложении можно реализовать минимальное и максимальное количество шагов, за которые мотор не шагнет (блок лимита в помощь). допустим, нам надо отъехать на 200 шагов от РП, то нам нужно сделать 300 шагов от нуля, и собственно это значение и подаем на вход шагов. блок сам определит в какую сторону двинуть, так как сейчас 500 шагов, а надо 200 шагов назад от РП, то мотор отмотает 200 шагов назад и блок будет считать,что мотор сделал 300 шагов, и собственно, 300 шагов и надо подавать на вход steps
По мне, это самый правильный блок для шаговиков на step/dir, все, что нужно - он умеет. все остальное приделывается другими блоками и логикой работы! этот блок не должен думать за другую логику, он нужен только для того, чтобы правильно управлять мотором, и не нужно прикручивать лишнее к нему, лишнее, что можно реализовать на других блоках!!!! иначе, можно сломать изначальную задумку!
- ingener
- Лейтенант
- Сообщения: 580
- Зарегистрирован: 14 окт 2018, 00:26
- Имя: Андрей
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
Шаговый двигатель на AccelStepper
Написано, что некорректно работал вход выбора направления (CCW). Столкнулся с этой проблемой в одном проекте, где есть необходимость с высокой частотой менять направление вращения мотора. И действительно была некорректная работа, пришлось отдельно делать выход с контроллера мимо блока.
Т.е. теперь такое исключено?
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]ingener[/ref], Что мешает попробовать?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Шаговый двигатель на AccelStepper
[ref]AlexCrane[/ref],
Попробовал Ваши блоки.
Спасибо Вам большое за них.
Подскажите пожалуйста. Возможно ли добавить
скорости работы .
Max speed 80000
Ускорение 40000.
У меня сервоприводы моторы с большой редукцией.
Блоки рассматриваю на меге.нано.
Отправлено спустя 50 секунд:
Это мои настройки.Но не хватает немного
Попробовал Ваши блоки.
Спасибо Вам большое за них.
Подскажите пожалуйста. Возможно ли добавить
скорости работы .
Max speed 80000
Ускорение 40000.
У меня сервоприводы моторы с большой редукцией.
Блоки рассматриваю на меге.нано.
Отправлено спустя 50 секунд:
Это мои настройки.Но не хватает немного
Шаговый двигатель на AccelStepper
[ref]noahi1977[/ref], 80000 шагов в секунду - недостижимая скорость. Даже для DUE 40000 - потолок.
Пруф
Пруф
Performance
The fastest motor speed that can be reliably supported is about 4000 steps per second at a clock frequency of 16 MHz on Arduino such as Uno etc. Faster processors can support faster stepping speeds. However, any speed less than that down to very slow speeds (much less than one per second) are also supported, provided the run() function is called frequently enough to step the motor whenever required for the speed set. Calling setAcceleration() is expensive, since it requires a square root to be calculated.
Gregor Christandl reports that with an Arduino Due and a simple test program, he measured 43163 steps per second using runSpeed(), and 16214 steps per second using run();
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Шаговый двигатель на AccelStepper
[ref]noahi1977[/ref], Попробуйте ESP32, думаю его возможностей хватит
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Шаговый двигатель на AccelStepper
Не успел написать..
Пишу сейчас.
Скорость снизил до 10000.Пока подгонял настройки с ускорением обратил внимание,что после 10000 реакции на увеличение скорости нет.
Дело в том,что при ручном управлении(continuous)скорость очень приличная.Но в авто режиме она маловата для меня.Я так понимаю,это связано с тем,контроллер не успевает считать?
Ещё не могу понять ,как работает stopAsel.Как не пытался понять ,реакции нет.
Так же обратил внимание.
Если не стоит чисел в скорости и ускорении то обычное перемещение continuous не активируется.
Идет какой то такт на период в 1секунду
Пишу сейчас.
Скорость снизил до 10000.Пока подгонял настройки с ускорением обратил внимание,что после 10000 реакции на увеличение скорости нет.
Дело в том,что при ручном управлении(continuous)скорость очень приличная.Но в авто режиме она маловата для меня.Я так понимаю,это связано с тем,контроллер не успевает считать?
Ещё не могу понять ,как работает stopAsel.Как не пытался понять ,реакции нет.
Так же обратил внимание.
Если не стоит чисел в скорости и ускорении то обычное перемещение continuous не активируется.
Идет какой то такт на период в 1секунду
- ingener
- Лейтенант
- Сообщения: 580
- Зарегистрирован: 14 окт 2018, 00:26
- Имя: Андрей
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
Шаговый двигатель на AccelStepper
попробуйте на контроллер установить только один блок ШД и более ничего, может, тогда реальная частота повысится.
- Davit07
- Сержант
- Сообщения: 175
- Зарегистрирован: 05 янв 2020, 03:39
- Откуда: Краснодар
- Имя: Давит
- Благодарил (а): 7 раз
Шаговый двигатель на AccelStepper
Доброго времени суток .
До какой скорости можно разогнать ШД с помощью данного блока ?
До какой скорости можно разогнать ШД с помощью данного блока ?
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Шаговый двигатель на AccelStepper
Мало вводных или вопрос не корректен.
Контроллер/делитель/напряжение/драйвер ну и двигатели разные бывают...
Разгонял типовой nema17 ардуиной до 2000+ об/мин в качестве эксперимента (но не этим блоком).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
- Davit07
- Сержант
- Сообщения: 175
- Зарегистрирован: 05 янв 2020, 03:39
- Откуда: Краснодар
- Имя: Давит
- Благодарил (а): 7 раз
Шаговый двигатель на AccelStepper
Каким блоком можно разогнать ?Ingwar писал(а): 20 май 2020, 00:17Мало вводных или вопрос не корректен.
Контроллер/делитель/напряжение/драйвер ну и двигатели разные бывают...
Разгонял типовой nema17 ардуиной до 2000+ об/мин в качестве эксперимента (но не этим блоком).
К примру : Mega , Драйвер DM542, Питание 24в, ШД Nema 23(23hd10002y-20p). Из того что есть в наличии.
Разгонял Mach3 до 2200 об\мин. Но хотелось бы в Flprog создать программу управления ШД.
К примру сделать, что-то такое :
https://www.youtube.com/watch?v=WovIx-DNj90&t=3s
Благодарю за ответ
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость