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

      Аватара пользователя
      belyx
      Сержант
      Сообщения: 247
      Зарегистрирован: 24.07.2016{, 20:38}
      Репутация: 20
      Откуда: Витебск Беларусь

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

      #101

      Сообщение belyx » 23.10.2021{, 22:29}

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

      Отправлено спустя 23 минуты 11 секунд:
      не увидел где этот режим выбирать, в описании блока только написано :
      При использовании режима <Без прерываний> блок ШД Конечный ставить не нужно!
      блока конечный в проекте нет-значит он уже стоит в режиме "Без прерываний" ?
      в параметрах блока только изменить период прерываний можно

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

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

      #102

      Сообщение AlexCrane » 23.10.2021{, 23:00}

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

      Аватара пользователя
      belyx
      Сержант
      Сообщения: 247
      Зарегистрирован: 24.07.2016{, 20:38}
      Репутация: 20
      Откуда: Витебск Беларусь

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

      #103

      Сообщение belyx » 23.10.2021{, 23:35}

      аааа! нашёл спасибо! :D
      далеко запрятан

      Аватара пользователя
      belyx
      Сержант
      Сообщения: 247
      Зарегистрирован: 24.07.2016{, 20:38}
      Репутация: 20
      Откуда: Витебск Беларусь

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

      #104

      Сообщение belyx » 26.10.2021{, 13:47}

      AlexCrane писал(а):
      23.10.2021{, 23:00}
      В параметрах CPU выберите Без прерываний
      не помогло, сильно не заморачивался-поменял блок в проекте
      Screenshot_1.png
      Screenshot_1.png (2.55 КБ) 1454 просмотра
      на
      Screenshot_2.png
      Screenshot_2.png (4.83 КБ) 1454 просмотра
      + ШД основной для 1х ШД v1.3
      наверное с этой ветки
      тест Пример ШД туда-сюда БЕЗ LCD.flp
      (974.58 КБ) 71 скачивание
      пришлось уменьшить период прерываний до 60 мкс
      резисторы скорость и ускорение на максимуме.
      Всё работает , НО:
      При задании количества шагов=1 не заработал

      Отправлено спустя 1 час 34 минуты 41 секунду:
      выяснилось -бывает впадает в неадекват и просто начинает вращаться в одну сторону ни на что не реагируя, помогает только reset.

      Iqubik
      Сержант
      Сообщения: 147
      Зарегистрирован: 20.01.2020{, 06:10}
      Репутация: 20
      Откуда: Ставрополь
      Имя: Николай

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

      #105

      Сообщение Iqubik » 07.01.2022{, 21:38}

      перенесено

      AleksandrIvin
      Рядовой
      Сообщения: 3
      Зарегистрирован: 07.01.2022{, 19:09}
      Репутация: 0
      Имя: Александр

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

      #106

      Сообщение AleksandrIvin » 12.01.2022{, 06:51}

      Всем доброго времени суток. Всю ветку прочитал, так и не понял с esp8266 работает?

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

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

      #107

      Сообщение AlexCrane » 12.01.2022{, 09:13}

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

      AleksandrIvin
      Рядовой
      Сообщения: 3
      Зарегистрирован: 07.01.2022{, 19:09}
      Репутация: 0
      Имя: Александр

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

      #108

      Сообщение AleksandrIvin » 12.01.2022{, 09:56}

      На esp32 хорошо работает?

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

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

      #109

      Сообщение AlexCrane » 12.01.2022{, 12:40}

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

      Iqubik
      Сержант
      Сообщения: 147
      Зарегистрирован: 20.01.2020{, 06:10}
      Репутация: 20
      Откуда: Ставрополь
      Имя: Николай

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

      #110

      Сообщение Iqubik » 16.01.2022{, 12:39}

      AleksandrIvin писал(а):
      12.01.2022{, 09:56}
      На esp32 хорошо работает?
      Нет. На esp32 работает плохо. Прерывания некорректны и когда идёт обращение к вайфай прерывание стопится и двигло дёргает. Мне пришлось делать свою реализацию на библиотеке прерываний для esp32

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

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

      #111

      Сообщение AlexCrane » 16.01.2022{, 12:59}

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

      Аватара пользователя
      Vuktor
      Сержант
      Сообщения: 237
      Зарегистрирован: 11.04.2021{, 14:44}
      Репутация: 12
      Имя: Vuktor

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

      #112

      Сообщение Vuktor » 16.01.2022{, 13:27}

      AlexCrane, А так получится? - "В библиотеке версии 2+ доступны два планировщика траекторий, которые позволяют сделать многоосевой станок с ЧПУ, в котором моторы движутся синхронно к заданным координатам."
      GyverLibs.png

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

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

      #113

      Сообщение AlexCrane » 16.01.2022{, 14:00}

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

      Iqubik
      Сержант
      Сообщения: 147
      Зарегистрирован: 20.01.2020{, 06:10}
      Репутация: 20
      Откуда: Ставрополь
      Имя: Николай

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

      #114

      Сообщение Iqubik » 16.01.2022{, 15:24}

      AlexCrane писал(а):
      16.01.2022{, 12:59}
      Iqubik, Поделись наработками, добавлю поддержку в блоки
      это моя кривая реализация, чисто под проект, но сама суть корректно работающего таймера на esp32
      p/s не то вложил, заменил
      Вложения
      GyverEsp32Stepper_0.1a_(Code_-_Professional).ubi
      (280.98 КБ) 63 скачивания

      Аватара пользователя
      Vuktor
      Сержант
      Сообщения: 237
      Зарегистрирован: 11.04.2021{, 14:44}
      Репутация: 12
      Имя: Vuktor

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

      #115

      Сообщение Vuktor » 16.01.2022{, 15:46}

      Iqubik писал(а):
      16.01.2022{, 15:24}
      но сама суть корректно работающего таймера на esp32
      В последней версии библиотеки есть поддержка esp32 и встроенный планировщик скорости и траектории для ЧПУ. Возможно AlexCrane добавит, как будет время. Это будет интересно.

      Iqubik
      Сержант
      Сообщения: 147
      Зарегистрирован: 20.01.2020{, 06:10}
      Репутация: 20
      Откуда: Ставрополь
      Имя: Николай

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

      #116

      Сообщение Iqubik » 16.01.2022{, 18:59}

      Vuktor писал(а):
      16.01.2022{, 15:46}
      Iqubik писал(а):
      16.01.2022{, 15:24}
      но сама суть корректно работающего таймера на esp32
      В последней версии библиотеки есть поддержка esp32 и встроенный планировщик скорости и траектории для ЧПУ. Возможно AlexCrane добавит, как будет время. Это будет интересно.
      Да как раз когда делал этот блок столкнулся с ошибка в либе Гайвера, связался с ним - и он пофиксил всё что связано было с совместимостью с esp32, благо там были крошки, так же был конфликт с Json и его тоже пофиксили. на удивление Гайвер это не мифическое существо с миллионами подписчиков а самый настоящий Человек, активный, участливый и отзывчивый. Я был очень удивлён его вниманием и скоростью ответов.

      Marcony_V
      Рядовой
      Сообщения: 41
      Зарегистрирован: 04.02.2017{, 17:02}
      Репутация: 2

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

      #117

      Сообщение Marcony_V » 16.01.2022{, 20:20}

      https://github.com/bdring/Grbl_Esp32 может пригодится кому? Сделал с год назад ЧПУ плазму 1000х1000 мм рабочий стол на этой библиотеке, правда пока без ТНС. Работает с телефона на Андроид.

      AleksandrIvin
      Рядовой
      Сообщения: 3
      Зарегистрирован: 07.01.2022{, 19:09}
      Репутация: 0
      Имя: Александр

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

      #118

      Сообщение AleksandrIvin » 20.02.2022{, 21:19}

      Прошу прощения не по теме. Не могу создать тему поэту пишу здесь. Не работает прием данных на esp32, передача все нормально. Перевожу на плату esp8266 все хорошо записывается. Выбрана esp32 нужно управление шаговиком на расстоянии.
      Вложения
      IMG_20220220_205009_4.jpg
      IMG_20220220_205021_4.jpg
      IMG_20220220_204943_0.jpg
      IMG_20220220_204952_6.jpg

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

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

      #119

      Сообщение costyafedonkin » 04.04.2022{, 23:36}

      Привет всем. Перебрал много вариантов. При использовании с потенциометром(в любом положении), шаговый двигатель на низких и средних скоростях не стабилен в движении.. крутится, резко замедляется, потом резко восстанавливает скорость :smile113: , дальше крутится и так циклично, в общем не стабильная скорость. Если убрать потенциометр и вписывать любую скорость в константу- то все отлично, крутит стабильно без выпендрёжа.... :smile37:
      Помогите решить проблему :smile453: . Драйвер A4988, подключён через ramps.
      Снимок.PNG
      Снимок.PNG (10.11 КБ) 1107 просмотров

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

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

      #120

      Сообщение Ingwar » 05.04.2022{, 00:07}

      costyafedonkin писал(а):
      04.04.2022{, 23:36}
      Если убрать потенциометр и вписывать любую скорость в константу- то все отлично, крутит стабильно без выпендрёжа.... :smile37:
      Попробуйте дополнительно поставить конденсатор на аналоговый вход.
      Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

      Ответить

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