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

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

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

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

#1

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

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

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

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


      Возможно автор программы Сергей что-то подправил, но сейчас компилируется нормально и без ШД блок конечный... Пока оставил...
      Блоки бета-версия от 17.06.2021:
      ШД_AlexCrane_GyverStepper_v1.15_(Code_-_Professional).zip
      ШД_AlexCrane_GyverStepper_v1.15a_(Code_-_Professional)_01.07.2021.zip
      - исправлена ошибка изменения скорости в режиме постоянного вращения на лету

      Обозначения:Показать
      _|¯ - постоянная подача 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
      Бесконечное вращение с реверсом -
      ШД G бесконечное вращение с реверсом.zip
      Шагаем в режиме относительных координат -
      ШД G шагаем относительно.zip
      Крутим мотор туда сюда на определенное количество шагов бесконечно viewtopic.php?t=7245&start=40#p103761[/color]
      Протестировал базовые функции. НЕ удалось достичь высоких скоростей на моем ШД (максимум 2500 при питании 50В Nema23)

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

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

      Шаговый двигатель на 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
      Рядовой
      Сообщения: 5
      Зарегистрирован: 03.04.2022{, 22:10}
      Репутация: 0
      Имя: Costya

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

      #122

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

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

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

      Шаговый двигатель на 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
      Рядовой
      Сообщения: 5
      Зарегистрирован: 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
      Капитан
      Сообщения: 822
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 258
      Откуда: Ульяновск
      Имя: Александр

      Шаговый двигатель на 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
      Капитан
      Сообщения: 822
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 258
      Откуда: Ульяновск
      Имя: Александр

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

      #128

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

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

      Ответить

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