GyverStepper (https://alexgyver.ru/gyverstepper/)
GyverTimers (https://alexgyver.ru/gyvertimers/)
В блоке реализована поддержка всех функций библиотеки gyverstepper!
[spoiler=Особенности использования данных блоков:]
Первым на холст программирования нужно вытаскивать блок ШД AlexCrane GyverLIB и лишь затем блок ШД Конечный.
Если вытащили еще один блок ШД AlexCrane GyverLIB, то удалите блок ШД Конечный и вытащите его заново.
Если удалите самый последний блок ШД AlexCrane GyverLIB то удалите и блок ШД Конечный и начните заново.
Возможно автор программы Сергей что-то подправил, но сейчас компилируется нормально и без ШД блок конечный... Пока оставил...
[/spoiler]
Блоки бета-версия от 17.06.2021: - исправлена ошибка изменения скорости в режиме постоянного вращения на лету
[spoiler=Обозначения:]_|¯ - постоянная подача true, отработка по переднему фронту
_|_ - Подача сигнала через RTrig на один цикл[/spoiler]
[spoiler=Входы:]
_|_ 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[/spoiler]
[spoiler=Выходы:]
_|¯ Ready - На выходе высокий уровень, если мотор стоит или остановился
Position - На выходе текущая позиция в шагах
curSpeed - На выходе текущая целевая скорость мотора[/spoiler]
Параметры блоки описаны внутри блока.
Ненужные режимы, входы отключаются.
[spoiler=Выявленные недостатки библиотеки gyverstepper: пока не проверено!!!]
1. В режиме бесконечного вращения с включенным режимом SMOOTH (плавный разгон и торможение) если во время плавного ускорения вызвать плавную остановку stop, то мотор резко останавливается и продолжает медленно шагать! Как решение использовать резкую остановку break или reset. Все вопросы к Гайверу (в тестовом примере с его сайта у меня наблюдаются такие-же глюки).
2. В режиме бесконечного вращения с включенным режимом SMOOTH (плавный разгон и торможение) если во время плавного ускорения вызвать плавную остановку stop и тут же включить опять бесконечное вращение то мотор ускоряется не с нуля а с момента остановки (может стартануть вообще без ускорения)... Решение см. п.1.[/spoiler]
[spoiler=Примеры (внимание в примерах используются и старые и новые блоки блоки):]
Бесконечное вращение - Бесконечное вращение с реверсом - Шагаем в режиме относительных координат - Крутим мотор туда сюда на определенное количество шагов бесконечно viewtopic.php?t=7245&start=40#p103761[/color][/spoiler]
Протестировал базовые функции. НЕ удалось достичь высоких скоростей на моем ШД (максимум 2500 при питании 50В Nema23)
ТРЕБУЕТСЯ ТЕСТИРОВАНИЕ ВСЕХ РЕЖИМОВ....
Можете отблагодарить на кофе, ну или хотя-бы лайкните пост.