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

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

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

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

      #2

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

      Ардуино UNO. Режим бесконечного вращения, две кнопки Старт и Стоп

      В работе 1 ШД Период прерывания 20 мкс, скорость ~22700 шагов/сек
      20us_1sd.jpg
      20us_1sd_.jpg
      В работе 2 ШД Период прерывания 65 мкс, скорость ~15300 шагов/сек (период следования шагов уперся в 65 мкс). При уменьшении периода на основной цикл не остается времени (нет реакции на нажатие кнопок).
      65us_2sd.jpg
      В работе 3 ШД Период прерывания 90 мкс, скорость ~11000 шагов/сек (период следования шагов уперся в 90 мкс). При уменьшении периода на основной цикл не остается времени (нет реакции на нажатие кнопок).
      90us_3sd.jpg
      Последний раз редактировалось AlexCrane 29.03.2021{, 21:59}, всего редактировалось 2 раза.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

      #3

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

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

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

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

      #4

      Сообщение Ardudue » 25.03.2021{, 17:12}

      AlexCrane писал(а):
      24.03.2021{, 22:49}
      НЕ удалось достичь высоких скоростей на моем ШД (максимум 2500 при питании 50В Nema23)
      на драйвере какая микросхема?

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

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

      #5

      Сообщение AlexCrane » 25.03.2021{, 19:41}

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

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

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

      #6

      Сообщение Ardudue » 26.03.2021{, 07:46}

      AlexCrane, Осциллограф на входе PUL что показывает? Какую частоту выдает ардуино?

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

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

      #7

      Сообщение Ardudue » 26.03.2021{, 07:53}

      AlexCrane писал(а):
      24.03.2021{, 22:49}
      Особенности использования данных блоков:
      Первым на холст программирования нужно вытаскивать блок ШД AlexCrane GyverLIB и лишь затем блок ШД Конечный.
      Почему в Ваших примерах ШД Конечный стоит перед ШД AlexCrane GyverLIB ?
      ШД_пример.PNG

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

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

      #8

      Сообщение AlexCrane » 26.03.2021{, 10:09}

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

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

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

      #9

      Сообщение Ardudue » 27.03.2021{, 17:49}

      AlexCrane, так осциллограф на входе PUL что показывает?

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

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

      #10

      Сообщение AlexCrane » 27.03.2021{, 18:23}

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

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

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

      #11

      Сообщение Ardudue » 27.03.2021{, 18:51}

      AlexCrane, да срочности нет, я из чистого любопытства хочу понять ардуино выдает ли шаги заявленные Гайвером при использовании его библиотеки.
      А как Вы измерили скорость 2500 на Вашем шаговике?

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

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

      #12

      Сообщение AlexCrane » 27.03.2021{, 19:07}

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

      Аватара пользователя
      ingener
      Лейтенант
      Сообщения: 556
      Зарегистрирован: 14.10.2018{, 00:26}
      Репутация: 20
      Имя: Андрей

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

      #13

      Сообщение ingener » 29.03.2021{, 11:54}

      Нано + дисплей = выдает максимум 5кГц в режиме Start steps.
      Это больше, чем на Accel Stepper (там около 3800)
      Без дисплея, наверняка, будет больше, не пробовал, нет смысла (обычно для управления ШД всегда нужен дисплей)
      интересно, можно ли размножить блоки хотя бы до трех?

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

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

      #14

      Сообщение Ardudue » 29.03.2021{, 13:06}

      ingener писал(а):
      29.03.2021{, 11:54}
      обычно для управления ШД всегда нужен дисплей
      А что смотрите на дисплее вовремя работы шаговика?

      Аватара пользователя
      ingener
      Лейтенант
      Сообщения: 556
      Зарегистрирован: 14.10.2018{, 00:26}
      Репутация: 20
      Имя: Андрей

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

      #15

      Сообщение ingener » 29.03.2021{, 14:11}

      Установленную скорость и пройденный путь. Плюс меню же надо где-то настраивать.

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

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

      #16

      Сообщение AlexCrane » 29.03.2021{, 14:32}

      ingener писал(а):
      29.03.2021{, 11:54}
      интересно, можно ли размножить блоки хотя бы до трех?
      Можно, никто-же не запрещает...
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      EgorKa
      Сержант
      Сообщения: 217
      Зарегистрирован: 09.03.2019{, 17:49}
      Репутация: 21
      Имя: Egor

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

      #17

      Сообщение EgorKa » 29.03.2021{, 15:49}

      AlexCrane, плюс за демонстрацию возможнойстей нового редактора ПБ.
      А что не сделали выход getSpeed ?

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

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

      #18

      Сообщение Ardudue » 29.03.2021{, 16:53}

      ingener писал(а):
      29.03.2021{, 14:11}
      Установленную скорость и пройденный путь. Плюс меню же надо где-то настраивать.
      вообще если импульсы на драйвер шаговика генерят аппаратные таймеры, то им фиолетово что там крутится в loop, тут скорее надо оптимизировать проект и вызывать мню только кода требуется настройка.
      Настройка же требуется перед запускам а не в процессе, когда уже шг пошел исполнять задачу?

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

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

      #19

      Сообщение AlexCrane » 29.03.2021{, 17:30}

      EgorKa писал(а):
      29.03.2021{, 15:49}
      А что не сделали выход getSpeed ?
      Ну это бета версия, добавлю
      EgorKa писал(а):
      29.03.2021{, 15:49}
      AlexCrane, плюс за демонстрацию возможнойстей нового редактора ПБ.
      В первый раз попробовал, оказался интуитивно понятен
      Ardudue писал(а):
      29.03.2021{, 16:53}
      вообще если импульсы на драйвер шаговика генерят аппаратные таймеры
      Судя по библиотеке нет
      ingener писал(а):
      29.03.2021{, 14:11}
      Установленную скорость и пройденный путь. Плюс меню же надо где-то настраивать.
      Лучше использовать не штатные блоки вывода на экран, а оптимизированные

      Отправлено спустя 3 часа 1 минуту 18 секунд:
      Ardudue писал(а):
      27.03.2021{, 17:49}
      AlexCrane, так осциллограф на входе PUL что показывает?
      Выложил осциллограммы во 2 посту viewtopic.php?f=75&t=7245&p=101767#p101767

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

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

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

      #20

      Сообщение AlexCrane » 29.03.2021{, 20:33}

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

      Ответить

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