Страница 1 из 1

Сервопривод на Gyver ServoSmooth

Добавлено: 18 июл 2021, 19:43
AlexCrane
Блок для управления сервоприводами на основе библиотек Gyver'а
    GyverServo.png
      Используемые библиотеки (в блок не интегрированы, скачивать по ссылкам ниже):
      GyverSmooth (https://alexgyver.ru/servosmooth/ , https://github.com/GyverLibs/ServoSmooth)
      GyverTimers (https://alexgyver.ru/gyvertimers/)

      Блоки бета-версия от 18.07.2021:
      Серво_AlexCrane_GyverServoSmooth_v3.8с_(Code_-_Professional).ubi
      [spoiler=Обозначения:]_|¯ - постоянная подача true, отработка по переднему фронту
      _|_ - Подача сигнала через RTrig на один цикл
      [/spoiler]

      [spoiler=Входы:]
      Позиция (угол) или Позиция (длина имп.) - Задание целевой позиции
      Макс скрость, град/сек - установка максимальной скорости (градусы в секунду)
      Ускорение, градус в сек за сек или Ускорение (0.1-1) - установка ускорения в градусах/сек/сек (рабочее от 1 до ~1500). 0 - отключено (или установка ускорения (0.05 - 1.0). При значении 1 ускорение максимальное.)
      _|_ Отключить серву - Запрет работы сервопривода, через RTrig
      _|_ Включить серву - Разрешение работы сервопривода после запрета, через RTrig
      _|_ Получить текущую позицию - получение текущей позиции в градусах (0-макс. угол). Зависит от min и max (или получение текущей позиции в мкс (500 - 2400)), через RTrig
      _|_ Получить целевую позицию - получение целевой позиции в градусах (0-макс. угол). Зависит от min и max (или получение целевой позиции в мкс (500 - 2400)), через RTrig
      _|¯ Автоотключение - вкл/выкл автоматического отключения (detach) при достижении угла. По умолч. вкл
      _|¯ Смена направления - меняем 0 и максимум местами
      [/spoiler]

      [spoiler=Выходы:]
      _|¯ Готов - На выходе высокий уровень, если сервопривод стоит или остановился
      Текущая позиция (угол) - Текущая позиция в углах при подаче импульса на вход _|_ Получить текущую позицию
      Целевая позиция (угол) - Целевая позиция в углах при подаче импульса на вход _|_ Получить целевую позицию
      [/spoiler]

      Параметры блоки описаны внутри блока.

      Ненужные режимы, входы отключаются.

      Спасибо [ref]дрон[/ref] за тестирование.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 26 июл 2021, 17:38
      Wadim77
      Здравствуйте! Подскажите, попробывал этот блок. Серва крутится. Вопросов нет. Но Когда подключаю в настройках ВЫХОД (Текущая позиция) - на выходе показывает 0. Что логично т.к. на вход(Текущая позиция ) не подается импульс. Как правильно сделать, что бы я мог в любое время запросить позицию сервы? (Я буду опрашивать эту позицию по MODBUS). Вот и не понимаю как сделать.толи постоянно кидать импульсы(условно генератор ставить, что думаю неправильно), толи еще както? Спасибо!

      П.С. Инвертнул вход (тек. позиция). по сути постоянно включил. Значение считываются. Но почему то так - я задал угол 90 гр. А при считывании получается 89 гр.
      Т.е. при любом установленном значения угла (180, 90, 45 итд) вы опросе значения текущей позиции выдает на единицу меньше. Может кто знает почему так (если кто то может проверить это) . Возможно это у меня только такой глюк.

      Спасибо.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 26 июл 2021, 19:11
      дрон
      Здравствуйте, попробуйте так:
      Новый рисунок (4).bmp
      Отправлено спустя 51 минуту 51 секунду:

      Сервопривод на Gyver ServoSmooth

      Добавлено: 26 июл 2021, 19:11
      дрон
      Да, есть такое, на единицу отстает от заданного, может AlexCrane обратит внимание.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 27 июл 2021, 07:50
      AlexCrane
      Wadim77 писал(а): 26 июл 2021, 17:38 Но почему то так - я задал угол 90 гр. А при считывании получается 89 гр.
      Походу опять нужно к Гайверу обращаться (в библиотеке видимо баг какой-то)...

      Сервопривод на Gyver ServoSmooth

      Добавлено: 25 авг 2021, 18:48
      vitko112
      Приветствую!
      Подскажите, пожалуйста, этот блок будет работать с ESP-32?
      С mega удалось подружить, а вот с ESP-32 ни в какую.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 28 июл 2022, 15:50
      Dryundel
      vitko112 писал(а): 25 авг 2021, 18:48 Приветствую!
      Подскажите, пожалуйста, этот блок будет работать с ESP-32?
      С mega удалось подружить, а вот с ESP-32 ни в какую.
      Если еще кому то актуально, для работы блока с ESP32, поправьте библиотеку самостоятельно.
      А именно:
      В файле ServoSmooth.h найдите строку

      Код: Выделить всё

      #include <Servo.h>
      и замените ее на

      Код: Выделить всё

      #if defined(ESP32)
         #include <ESP32Servo.h>
      #else
         #include <Servo.h>
      #endif
      После этого библиотека будет работать и с ESP32 тоже.
      .
      С Гайвером связался, думаю поправит либу в ближайшее время.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 28 июл 2022, 22:31
      Dryundel
      Библиотека ServoSmooth обновлена до версии 3.9.
      Включена поддержка ESP32
      https://github.com/GyverLibs/ServoSmooth

      Сервопривод на Gyver ServoSmooth

      Добавлено: 27 сен 2022, 10:49
      sergii2012
      срывается резко почему то
      с углами ниче не понятно.. не докручивает до конца. так и должно быть?.

      Сервопривод на Gyver ServoSmooth

      Добавлено: 09 окт 2022, 19:08
      Daniil
      здравствуйте. не получается выставить начальный угол. доходит до заданного угла и потом в начало. как сделать или может есть у кого подобный блок с настройкой начального положения?