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

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20 авг 2020, 19:23
Имя: Wadim

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

Сообщение Wadim77 »

Здравствуйте! AlexCrane - огромное спасибо за блок!
Хотелось бы узнать - какой таймер выбрать в настройках блока? (не разбираюсь в разнице между ними).
Ждем выхода стабильной версии.

С наилучшими
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Wadim77[/ref], для UNO, NANO, Pro Mini - первый или второй таймер, для Mega - c 1 по 5
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

[ref]AlexCrane[/ref], зачем нужен параметр установка ускорения в шагах/сек/сек
stepper.setAcceleration(500); ?
не понял из описания Гайвера
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Ardudue[/ref], Ну так-то ускорение, плавный набор скорости, при установке 500, за первую секунду разгонится до 500 шагов секунду, за вторую секунду разгонится уже до 1000 шагов в секунду, т.е. есть за две секунды пройдет уже 1500 шагов и так по нарастающей поэтому шагов в секунду за секунду.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

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

Сообщение EgorKa »

AlexCrane писал(а): 24 мар 2021, 22:49 Endless_Rotation_Speed - Скорость постоянного вращения, шаг/сек
если ставим значение 10, то получим 10 импульсов на выходе Ардуино, мотор шагает 10 шагов/сек?
AlexCrane писал(а): 24 мар 2021, 22:49 MaxSpeed - Максимальная скорость шаг/сек, указывать обязательно
что делает этот параметр? Ограничивает максимальную скорость мотора? Зачем?
AlexCrane писал(а): 24 мар 2021, 22:49 Steps - Установка шагов
если установить значение 10, то через 10 шагов мотор остановится? Или для чего этот вход?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

EgorKa писал(а): 02 апр 2021, 17:18 если ставим значение 10, то получим 10 импульсов на выходе Ардуино, мотор шагает 10 шагов/сек?
Именно так
EgorKa писал(а): 02 апр 2021, 17:18 что делает этот параметр? Ограничивает максимальную скорость мотора? Зачем?
В режиме управления по шагам ШД разгоняется от 0 до MaxSpeed с ускорением Acceleration
EgorKa писал(а): 02 апр 2021, 17:18 если установить значение 10, то через 10 шагов мотор остановится?
Да при импульсе Start_Steps ЩД отшагает количество шагов Steps и будет ждать следующий импульс Start_Steps
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

AlexCrane писал(а): 02 апр 2021, 18:30 В режиме управления по шагам ШД разгоняется от 0 до MaxSpeed с ускорением Acceleration
из описания Гайвера я так понял- MaxSpeed используется только если надо setTarget (установка абсолютной целевой позиции в шагах). При этом Гайвер пишет: "при установке ускорения в ноль 0
мотор будет двигаться к позиции с максимальной скоростью, заданной в setMaxSpeed()
."

Вывод: если не надо гнать мотор на какую то позицию, а прост шагать от и до по концевекам с постоянной скоростью, то setTarget(pos), setMaxSpeed(speed), setAcceleration(accel) надо просто убрать из ПБ. Ну или выборкой отключать,что бы этот код не грузить в контроллер.

Или я не прав?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Ardudue[/ref],MaxSpeed возможно и не нужен, а Acceleration можно использовать в режиме бесконечного вращения, зачем убирать. Вход Steps и так отключается.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

Есть у кого возможность откатать блок на ESP32? Скину в ЛС чтоб тему не засорять тестовыми блоками....
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

AlexCrane писал(а): 02 апр 2021, 19:07Steps
он у Вас в каком месте? Это setTarget?

Отправлено спустя 4 минуты 54 секунды:
а , увидел stepper<INS.UUID>.setTarget(<Установка шагов>, ABSOLUTE);

Отправлено спустя 13 минут 44 секунды:
AlexCrane писал(а): 02 апр 2021, 19:07 MaxSpeed возможно и не нужен, а Acceleration можно использовать в режиме бесконечного вращения, зачем убирать. Вход Steps и так отключается.
я вот тут паяльник стряпаю. И стол с платой надо просто протащит от стартовой точки до конца платы. Соответственно шаговик который тащит стол шагать должен ооочень медленно от нуля до определенно места , скажем через 500 шагов его надо тормазнуть программно не концевиком (нет места под концевик) и потом запустить реверс с той же скоростью. Вот пытаюсь понять применение Вашего блока.
Acceleration мне не требуется, т.к. движение стола должно быть постоянное и очень плавное.
Гайвера инструкции перечитал, но чёт он намудрил.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

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

Сообщение edyapd »

Ardudue писал(а): 02 апр 2021, 18:53 setMaxSpeed(speed), setAcceleration(accel) надо просто убрать из ПБ
Ничего не скажу за setMaxSpeed, но без параметра setAcceleration у вас шаговый двигатель не запустится. Ну или будете использовать очень низкую скорость. Шаговые двигатели не могу мгновенно стартовать, им нужен плавный разгон, иначе будут пропуски шагов. И setAcceleration для каждого случая будет свой. Один двигатель может быть нагружен слабее и можно установить этот параметр побольше, а другой будет нагружен сильнее и ему нужен будет более плавный разгон.

Отправлено спустя 2 минуты 16 секунд:
И да, отрицательное ускорение (торможение) тоже важно. Двигатель, за счёт инерции, точно так же не может резко остановится.
nehilo
Рядовой
Сообщения: 7
Зарегистрирован: 31 дек 2020, 11:56
Имя: Георгий

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

Сообщение nehilo »

AlexCrane писал(а): 02 апр 2021, 19:07 Есть у кого возможность откатать блок на ESP32? Скину в ЛС чтоб тему не засорять тестовыми блоками....
А для esp8266 не планируется?
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

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

Сообщение ingener »

AlexCrane писал(а): 02 апр 2021, 19:07 Есть у кого возможность откатать блок на ESP32? Скину в ЛС чтоб тему не засорять тестовыми блоками....
есть собранный контроллер с дисплеем. осцилл
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

edyapd писал(а): 02 апр 2021, 19:51 Ничего не скажу за setMaxSpeed, но без параметра setAcceleration у вас шаговый двигатель не запустится. Ну или будете использовать очень низкую скорость.
Ardudue писал(а): 02 апр 2021, 18:53 При этом Гайвер пишет: "при установке ускорения в ноль 0 мотор будет двигаться к позиции с максимальной скоростью, заданной в setMaxSpeed()."
edyapd писал(а): 02 апр 2021, 19:51 Шаговые двигатели не могу мгновенно стартовать, им нужен плавный разгон, иначе будут пропуски шагов.
Не всегда надо ускорение.
Мне вот медленно и равномерно надо двигать стол до определенной позиции и никакого ускорения не надо.
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

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

Сообщение Naladchik »

AlexCrane писал(а): 26 мар 2021, 10:09 ...Не удалось в новом редакторе реализовать фишку, пришлось костыли делать в виде отдельного блока...
Ну так попросите Сергея чтобы в редакторе секция Function Общего кода состояла из 2х блоков, как setup и loop .
[spoiler]
1.jpg
[/spoiler].
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

Naladchik писал(а): 05 апр 2021, 06:02 Ну так попросите Сергея чтобы в редакторе секция Function Общего кода состояла из 2х блоков, как setup и loop .
Не получится, между началом и концом секции он не положит код из всех блоков пакета блоков.
Тут нужна секция Совместный код, куда сваливать можно функции из всех блоков, и потом уже его можно было вставить в раздел Function :smile37:
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

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

Сообщение Naladchik »

AlexCrane писал(а): 05 апр 2021, 07:48 Не получится...
Не факт. Я уверен именно так и получится.
Осталось попробовать попросить Сергея, обрисовав ему ситуацию.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

----- Новая версия блока! ------
смотреть в первом топике

- Добавил поддержку ESP32
- режим без прерываний (можно попробовать на ESP8266)
- добавил больше прерываний
- для выбранного контроллера выдаются только его прерывания

Из выявленных отрицательных моментов:
- не работает дисплей LCD на HD44780 при подключении через I2C на ESP32
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
viktorz1
Рядовой
Сообщения: 11
Зарегистрирован: 24 сен 2020, 00:08
Имя: Виктор

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

Сообщение viktorz1 »

У меня как раз то и наоборот. Дисплей работает, а вот сам блок отказывается запускать мотор. Запуск драйвера (EN) реализован отдельно от блока через тт тригер. При нажатии на "старт", буквально на секунду включается драйвер двигателя и самопроизвольно отключается. Мотор при этом не движется, значит сам блок никак не реагирует на "старт".
Я так понимаю, что задействовать I2C (в целом) в связке с блоком моторов никак не получится? И очень интересно почему происходит самопроизвольное сбрасывание 1 с выхода тт тригера.
Второй момент: (без дисплея) у меня через RT тригер нет старта на постоянное вращение. Через ТТ тригер работает. Тоесть пока есть 1 на Start_Endless_Rotation мотор крутит, убрал 1 - остановка. Ускорение при постоянном вращении при этом срабатывает только при первом запуске ЕСП32, при последующих - сразу по выставленной скорости, что чревато отсутствием вращения мотора. Решение пока такое: При повторном нажатии на кнопку сбрасываем тт тригер (мотор останавливается) и сразу подаём 1 на "STOP". Последующий старт происходит как положено с ускорением, даже при остановке в момент ускорения.
Пока вот такие результаты тестирования.
Жаль, что присутствует такая проблема с дисплеем. Это обламывает мне весь проект.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

viktorz1 писал(а): 25 апр 2021, 18:00 При нажатии на "старт", буквально на секунду включается драйвер двигателя и самопроизвольно отключается.
Как мне писали тестеры в этот момент происходит перезагрузка ESP32.
viktorz1 писал(а): 25 апр 2021, 18:00 Ускорение при постоянном вращении при этом срабатывает только при первом запуске ЕСП32, при последующих - сразу по выставленной скорости
Это косяк в библиотеке, писал об этом на гитхабе Гайверу, пока не ответил. Как и нет плавной остановки при постоянном вращении.
viktorz1 писал(а): 25 апр 2021, 18:00 Жаль, что присутствует такая проблема с дисплеем. Это обламывает мне весь проект.
Можно использовать альтернативные способы подключения......
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя