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

Версия не ниже FLP7.3.4

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

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

#1

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

Блок для управления ШД на основе библиотек Gyver'а
    ШД ГайверЛиб.png
    ШД ГайверЛиб.png (40.2 КБ) 18970 просмотров
      Используемые библиотеки (в блок не интегрированы, скачивать по ссылкам ниже):
      GyverStepper (https://alexgyver.ru/gyverstepper/)
      GyverTimers (https://alexgyver.ru/gyvertimers/)

      В блоке реализована поддержка всех функций библиотеки gyverstepper!

      Особенности использования данных блоков:Показать
      Первым на холст программирования нужно вытаскивать блок ШД AlexCrane GyverLIB и лишь затем блок ШД Конечный.
      Если вытащили еще один блок ШД AlexCrane GyverLIB, то удалите блок ШД Конечный и вытащите его заново.
      Если удалите самый последний блок ШД AlexCrane GyverLIB то удалите и блок ШД Конечный и начните заново.


      Возможно автор программы Сергей что-то подправил, но сейчас компилируется нормально и без ШД блок конечный... Пока оставил...
      Блоки бета-версия от 17.06.2021: - исправлена ошибка изменения скорости в режиме постоянного вращения на лету

      Обозначения:Показать
      _|¯ - постоянная подача true, отработка по переднему фронту
      _|_ - Подача сигнала через RTrig на один цикл
      Входы:Показать
      _|_ EnableMotor - Подать питание на мотор, через RTrig
      _|_ DisableMotor - Снять питание с мотора, через RTrig
      Endless_Rotation_Speed - Скорость постоянного вращения, шаг/сек
      Endless_Rotation_Smooth - Режим ускорения для бесконечного вращения На данный момент используется вход Acceleration
      _|_ Start_Endless_Rotation - Пуск постоянного вращения, через RTrig
      _|_ Stop - Плавная остановка ШД, через RTrig
      _|_ Brake - Резкая остановка ШД, через RTrig
      _|_ Reset - Резкая остановка и сброс координат в 0, через RTrig
      MaxSpeed - Максимальная скорость шаг/сек, указывать обязательно
      Acceleration - Ускорение в шаг/сек за сек, указывать обязательно
      Steps - Установка шагов
      _|_ Start_Steps - Пуск шагов, через RTrig
      _|¯ Absolute - Режим абсолютных координат true, Режим относительных координат - false
      _|¯ CCW - Направление вращения
      _|_ CurrentPosition - Текущая позиция мотора
      _|_ setCurrentPosition - Установка текущей позиции мотора, через RTrig
      _|¯ AutoPower - Управление питанием
      _|_ getSpeed - Просмотр целевой скорости мотора на выходе curSpeed, через RTrig
      Выходы:Показать
      _|¯ Ready - На выходе высокий уровень, если мотор стоит или остановился
      Position - На выходе текущая позиция в шагах
      curSpeed - На выходе текущая целевая скорость мотора
      Параметры блоки описаны внутри блока.

      Ненужные режимы, входы отключаются.
      Выявленные недостатки библиотеки gyverstepper: пока не проверено…Показать
      1. В режиме бесконечного вращения с включенным режимом SMOOTH (плавный разгон и торможение) если во время плавного ускорения вызвать плавную остановку stop, то мотор резко останавливается и продолжает медленно шагать! Как решение использовать резкую остановку break или reset. Все вопросы к Гайверу (в тестовом примере с его сайта у меня наблюдаются такие-же глюки).
      2. В режиме бесконечного вращения с включенным режимом SMOOTH (плавный разгон и торможение) если во время плавного ускорения вызвать плавную остановку stop и тут же включить опять бесконечное вращение то мотор ускоряется не с нуля а с момента остановки (может стартануть вообще без ускорения)... Решение см. п.1.
      Примеры (внимание в примерах используются и старые и новые блоки…Показать
      Бесконечное вращение -
      ШД G бесконечное вращение.zip
      (90.63 КБ) 210 скачиваний
      Бесконечное вращение с реверсом - Шагаем в режиме относительных координат -
      ШД G шагаем относительно.zip
      (51.17 КБ) 204 скачивания
      Крутим мотор туда сюда на определенное количество шагов бесконечно viewtopic.php?t=7245&start=40#p103761[/color]
      Протестировал базовые функции. НЕ удалось достичь высоких скоростей на моем ШД (максимум 2500 при питании 50В Nema23)

      ТРЕБУЕТСЯ ТЕСТИРОВАНИЕ ВСЕХ РЕЖИМОВ....
      Можете отблагодарить на кофе, ну или хотя-бы лайкните пост.
      Последний раз редактировалось AlexCrane 01.07.2021{, 23:00}, всего редактировалось 11 раз.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      tolika
      Рядовой
      Сообщения: 51
      Зарегистрирован: 07.11.2019{, 11:25}
      Репутация: 8
      Откуда: Магадан
      Имя: Андрей

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

      #121

      Сообщение tolika » 05.04.2022{, 01:38}

      costyafedonkin,
      Здравствуйте!
      Попробуйте после блока SCALE поставить Debounce Analog v.2.0
      Автор: Dryundel
      https://vk.com/flysking
      Обсуждение на форуме: viewtopic.php?f=72&t=5140

      costyafedonkin
      Рядовой
      Сообщения: 8
      Зарегистрирован: 03.04.2022{, 22:10}
      Репутация: 0
      Имя: Costya

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

      #122

      Сообщение costyafedonkin » 05.04.2022{, 15:54}

      Ingwar писал(а):
      05.04.2022{, 00:07}
      Попробуйте дополнительно поставить конденсатор на аналоговый вход.
      Заметил что сильно скачут значения с потенциометра. Кондюк и резистор не помог.
      Может есть какие то способы подавления помех программно?

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

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

      #123

      Сообщение Ingwar » 05.04.2022{, 18:39}

      costyafedonkin писал(а):
      05.04.2022{, 15:54}
      Заметил что сильно скачут значения с потенциометра.
      Других, экземпляров нет?
      costyafedonkin писал(а):
      05.04.2022{, 15:54}
      Кондюк и резистор не помог.
      Подбор R и С леко позволит найти компромисс между стабильностью и реакцией даже на "раздолбаном" потенциометре.
      СпойлерПоказать
      Безымянный.png
      costyafedonkin писал(а):
      05.04.2022{, 15:54}
      Может есть какие то способы подавления помех программно?
      Ищите в разделе ПБ. Там есть различные программные фильтры.

      Отправлено спустя 16 минут 9 секунд:
      Возможна еще одна причина скачков показаний - конфликт функции analodRead и прерываний блока шагового мотора. Но тут конкретизировать смогут только знающие :smile44:
      Попробуйте "поиграть" с настройками блока касательно прерываний (например период прерываний).
      Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

      costyafedonkin
      Рядовой
      Сообщения: 8
      Зарегистрирован: 03.04.2022{, 22:10}
      Репутация: 0
      Имя: Costya

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

      #124

      Сообщение costyafedonkin » 07.04.2022{, 14:39}

      Заставил крутиться через пример в библиотеке GyverStepper. PotSpeed.

      AlexandrP
      Рядовой
      Сообщения: 13
      Зарегистрирован: 08.12.2020{, 07:02}
      Репутация: 0
      Откуда: Байкалово(Свердл. обл.)
      Имя: Александр

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

      #125

      Сообщение AlexandrP » 29.04.2022{, 12:36}

      Приветствую! Есть где-нибудь видео с "расшифровкой" входов?

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

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

      #126

      Сообщение AlexCrane » 29.04.2022{, 15:14}

      AlexandrP писал(а):
      29.04.2022{, 12:36}
      Приветствую! Есть где-нибудь видео с "расшифровкой" входов?
      А чем не устраивает описание из 1 поста?
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      AlexandrP
      Рядовой
      Сообщения: 13
      Зарегистрирован: 08.12.2020{, 07:02}
      Репутация: 0
      Откуда: Байкалово(Свердл. обл.)
      Имя: Александр

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

      #127

      Сообщение AlexandrP » 29.04.2022{, 19:53}

      AlexCrane писал(а):
      24.03.2021{, 22:49}
      _|_ CurrentPosition - Текущая позиция мотора
      _|_ setCurrentPosition - Установка текущей позиции мотора, через RTrig

      вот это не совсем понятно. Если с установкой более менее понятно- булеан, то, что за "текущая позиция", что этот вход предпологает?

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

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

      #128

      Сообщение AlexCrane » 29.04.2022{, 21:50}

      AlexandrP писал(а):
      29.04.2022{, 19:53}
      то, что за "текущая позиция", что этот вход предпологает?
      Опечатка в описании
      CurrentPosition - Текущая позиция мотора, Эта та позиция которая пропишется при импульсе на входе setCurrentPosition
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      Kot
      Сержант
      Сообщения: 125
      Зарегистрирован: 09.10.2021{, 11:54}
      Репутация: 1
      Имя: Дима

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

      #129

      Сообщение Kot » 25.05.2022{, 14:05}

      AlexCrane, выставил параметры на входа крутит
      но стоит запустить клиент как больше не крутит с теми же параметрами
      1.flp
      (3.6 МБ) 53 скачивания
      2.flp
      (3.57 МБ) 43 скачивания

      Kot
      Сержант
      Сообщения: 125
      Зарегистрирован: 09.10.2021{, 11:54}
      Репутация: 1
      Имя: Дима

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

      #130

      Сообщение Kot » 27.05.2022{, 09:44}

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

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

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

      #131

      Сообщение AlexCrane » 28.05.2022{, 08:40}

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

      Bond2222
      Рядовой
      Сообщения: 8
      Зарегистрирован: 05.01.2022{, 20:09}
      Репутация: 1
      Имя: Dima

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

      #132

      Сообщение Bond2222 » 30.06.2022{, 15:15}

      Всем привет, помогите разобраться. У меня сделано простое управление ШД, постоянное вращение вперед-назад с плавным старт-стоп, регулировка плавным старт-стоп, и регулировка скоростью ШД, на Arduino Mega2560
      1) Обновил библиотеки (GyverStepper; GyverTimers) , и у меня перестал работать вход CCW (реверс). Поставил обратно старые библиотеки и все ОК. Но к сожалению старые библиотеки не сохранил, и теперь реверс не работает.
      2) При смени скорости постоянного вращения на входе "Endless_Rotation_Speed" блока, ШД сам стартует.(До обновления библиотек, проблема уже была).При условии если плата Arduino запустилась и двигатель при этом ни разу не включался, то произвольного старта двигателя не происходит, но если двигатель был в роботе, то при смене скорости ШД сам стартует.
      Вложения
      TEST.flp
      Тестовый файл
      (3.62 МБ) 48 скачиваний

      ggen4ik
      Рядовой
      Сообщения: 20
      Зарегистрирован: 09.02.2022{, 17:34}
      Репутация: 1
      Имя: Evgeny

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

      #133

      Сообщение ggen4ik » 04.07.2022{, 09:01}

      Подскажите, можно ли как-то получить с ардуинки или esp32 64000 шагов (импульсов) в сек? Нужно управлять шд с дроблением шага на драйвере 6400 имп на оборот. Скорость нужна 10 об/сек.

      Ardudue
      Лейтенант
      Сообщения: 423
      Зарегистрирован: 13.04.2020{, 18:22}
      Репутация: 24
      Имя: Антон

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

      #134

      Сообщение Ardudue » 28.01.2023{, 20:03}

      AlexCrane писал(а):
      08.06.2021{, 19:53}
      Критичные изменения были только в 1.13 далее просто убирает баги
      вышла Библиотека для шагового двигателя Arduino v2.2.0 https://alexgyver.ru/gyverstepper
      с Вашим БП будет работать?

      Аватара пользователя
      Dryundel
      Полковник
      Сообщения: 2401
      Зарегистрирован: 22.05.2017{, 23:15}
      Репутация: 783
      Откуда: Ярославль
      Имя: Андрей
      Контактная информация:

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

      #135

      Сообщение Dryundel » 28.01.2023{, 21:59}

      AlexCrane писал(а):
      24.03.2021{, 22:49}
      вышла Библиотека для шагового двигателя Arduino v2.2.0
      Вообще, на сегодняшний день, актуальна версия v2.6. 4 :)
      https://github.com/GyverLibs/GyverStepper

      Ardudue
      Лейтенант
      Сообщения: 423
      Зарегистрирован: 13.04.2020{, 18:22}
      Репутация: 24
      Имя: Антон

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

      #136

      Сообщение Ardudue » 29.01.2023{, 13:16}

      Dryundel писал(а):
      28.01.2023{, 21:59}
      Вообще, на сегодняшний день, актуальна версия v2.6. 4 :)
      https://github.com/GyverLibs/GyverStepper
      на github не ходил.
      На офсайте Гайвера 2.2.0 декларируется.

      Ardudue
      Лейтенант
      Сообщения: 423
      Зарегистрирован: 13.04.2020{, 18:22}
      Репутация: 24
      Имя: Антон

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

      #137

      Сообщение Ardudue » 29.01.2023{, 14:42}

      AlexCrane, почему на вторую плату не могу продублировать ПБ?
      Хотел на первой плате поставить ПБ что бы при включении шаговик встал в исходное положение по отработке концевика.
      На второй плате что бы ПБ отшагал 200 шагов и вернулся назад 100шагов. Затем на исходную до концевика.

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

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

      #138

      Сообщение AlexCrane » 30.01.2023{, 08:01}

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

      Ardudue
      Лейтенант
      Сообщения: 423
      Зарегистрирован: 13.04.2020{, 18:22}
      Репутация: 24
      Имя: Антон

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

      #139

      Сообщение Ardudue » 30.01.2023{, 08:59}

      AlexCrane, так и должно быть -ПБ управляет же одним и тем же мотором.
      ПБ на первой плате отработал, потом отрабатывает задачу ПБ на второй плате.
      Stepper A4988 тест1.png

      Аватара пользователя
      Dryundel
      Полковник
      Сообщения: 2401
      Зарегистрирован: 22.05.2017{, 23:15}
      Репутация: 783
      Откуда: Ярославль
      Имя: Андрей
      Контактная информация:

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

      #140

      Сообщение Dryundel » 30.01.2023{, 10:16}

      Ardudue, а как Вы планируете запускать платы по очереди?

      И что Вам мешает на разных платах разместить только "задания" и отправлять их переменными на отдельную плату с блоком шаговика?

      Или здесь просто недопонимание принципа работы программы.
      Ответьте на первый вопрос, и тогда станет понятно, чем Вам помочь.

      Ответить

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