ПИД регулятор на GyverPID

ПИД регулятор – мощный инструмент, позволяющий удерживать заданную величину (температура, скорость вала, положение) при помощи управляющего устройства (обогреватель, контроллер мотора, линейный привод).

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

ПИД регулятор на GyverPID

#1

Сообщение AlexCrane » 19.05.2021{, 20:51}

ПИД регулятор на основе библиотеки GyverPID
    GyverPID.png
      Используемые библиотеки (в блок не интегрированы, скачивать по ссылкам ниже):
      GyverPID (https://alexgyver.ru/gyverpid/)
      https://github.com/AlexGyver/GyverLibs/ ... verPID.zip

      Блоки бета-версия:
      PID_AlexCrane_GyverPID_(Code_-_Professional).ubi
      (1.2 МБ) 319 скачиваний
      Обозначения:
      _|¯ - постоянная подача true, отработка по переднему фронту
      _|_ - Подача сигнала через RTrig на один цикл

      Описание входов и выходов добавлю позже если будут вопросы...

      Блоки не тестировал, просто упаковал в блоки. Если испытаете и отпишитесь буду благодарен
      Если блок понравился, можете отблагодарить...
      Последний раз редактировалось AlexCrane 04.06.2021{, 21:12}, всего редактировалось 1 раз.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      Аватара пользователя
      Sio
      Сержант
      Сообщения: 108
      Зарегистрирован: 28.06.2021{, 19:26}
      Репутация: 0
      Откуда: из дома, к вам
      Имя: Александр

      ПИД регулятор на GyverPID

      #41

      Сообщение Sio » 11.02.2022{, 22:34}

      Коллеги,
      бльшое спасибо за поддержку. Скажу често, я не очень шорошо разбираюсь с FLProg программе.
      У мня получилось сделать ПИД-регулятор с датчиком температуры в программе FLProg. Собрав схему заметил как работает этот алгоритм. Попытался подобрать P. I. D. параметры, чтобы колебания температуры снизить. Но настройки можно применить только в блоке ПИД-регулятора в самой программе.
      Хотелось бы настройки P. I. D. параметров более точнее устанавливать как-то кнопками на самом устройстве или на веб-интерфейсе устройства а не в блоке программы.

      Dmabst
      Сержант
      Сообщения: 149
      Зарегистрирован: 08.12.2018{, 16:49}
      Репутация: 10
      Имя: Дмитрий

      ПИД регулятор на GyverPID

      #42

      Сообщение Dmabst » 13.02.2022{, 00:28}

      Sio, вы хоть видеоурок посмотрите, который я ранее вам рекомендовал. Там разжевано непосредственно то, что вам нужно. Настройка коэффициентов ПИД-регулятора при помощи энкодера. Как говорится: "Наливай да пей". Что еще необходимо?

      Аватара пользователя
      Sio
      Сержант
      Сообщения: 108
      Зарегистрирован: 28.06.2021{, 19:26}
      Репутация: 0
      Откуда: из дома, к вам
      Имя: Александр

      ПИД регулятор на GyverPID

      #43

      Сообщение Sio » 13.02.2022{, 15:45}

      Не досмотрел, извените.
      КЛАСС...! ДА, Это мне и надо! НАСТРОЙКИ ПИДОВ в этом случае через энкодер.
      СПАСИБО.

      Sergey30031977
      Рядовой
      Сообщения: 22
      Зарегистрирован: 01.05.2019{, 12:11}
      Репутация: 0
      Имя: Сергей

      ПИД регулятор на GyverPID

      #44

      Сообщение Sergey30031977 » 14.02.2022{, 23:10}

      Mih1 писал(а):
      11.02.2022{, 20:44}
      Добрый день , в блоке MAX6675 время опроса меньше 0,5 сек не выставить , надо 0,1 сек.
      Добрый!
      То есть с MAXом без вариантов?

      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 29
      Имя: Дмитрий

      ПИД регулятор на GyverPID

      #45

      Сообщение Di123 » 26.03.2022{, 12:28}

      при включении на выходе блока всегда 250 независимо от того что я подаю на pv
      00.flp
      (2.28 МБ) 34 скачивания
      2022-03-26_162652.png
      зелёный - выход
      синий - pv

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

      ПИД регулятор на GyverPID

      #46

      Сообщение AlexCrane » 27.03.2022{, 11:51}

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

      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 29
      Имя: Дмитрий

      ПИД регулятор на GyverPID

      #47

      Сообщение Di123 » 27.03.2022{, 12:13}

      ошибаетесь
      вызывается но только на 1 цикл програмы почему то
      если менять значения и нажимать вкл выкл то на выходе меняется значение что меня натолкнуто на мысль что ваш блок работает по импульсу
      и вправду поставив детектор значения блок ожил
      2022-03-27_160935.png
      2022-03-27_161009.png
      2022-03-27_161009.png (4.57 КБ) 978 просмотров
      ладно методом тыка разобрались как он управляется но почему на выходе в данном случае я не могу получить до 1000 а только 300 максимум при таких настройках хотя диапазон выхода указан 0-1000

      Отправлено спустя 10 минут 43 секунды:
      хотя нет выход отрабатывает нормально
      КР слишком маленький был

      Отправлено спустя 7 минут 32 секунды:
      если к вашему блоку добавить генератор на выходе с самовычетом времени от итерации на паузу и импульса то получится релейный ПИД
      собственно он и нужен был
      2022-03-27_162832.png
      2022-03-27_162852.png
      2022-03-27_162852.png (6.93 КБ) 975 просмотров
      Отправлено спустя 24 минуты 1 секунду:
      странно убрал детектор и поставил инверсию на Ен и тоже работает
      видимо почему ТТ тригер самосбрасывался тут хотя на втроеном пиде он отрабатывал прекрасно я лиш только заменил на ваш блок
      вобщем ваш блок по качеству работы ничем не отличается от встроеного

      но у меня не получается воспользоваться его плюсами посмотреть интегральные накопления
      он не компилится
      2022-03-27_165244.png
      000.flp
      (2.65 МБ) 25 скачиваний

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

      ПИД регулятор на GyverPID

      #48

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

      Di123, Какой то глюк в редакторе видимо, подправил
      PID_AlexCrane_GyverPID_(Code_-_Professional).ubi
      (1.2 МБ) 119 скачиваний
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 29
      Имя: Дмитрий

      ПИД регулятор на GyverPID

      #49

      Сообщение Di123 » 27.03.2022{, 13:35}

      компилится
      но только на графике ничего не выводится с выхода интеграла ка как бы я не менял Pv

      Отправлено спустя 11 минут 17 секунд:
      хотя работает но только если переключиться в режим ON_RATE

      Отправлено спустя 26 минут 2 секунды:
      в принципи понятно как он работает
      при приближении к порогу интеграл опускается до 0 что соответствует отключению нагрузки при отдалении он постепенно обратно нарастает
      как из плюсов это возможность сброса его не достигнув порога и он не большими раскачкам потом доплывёт до порога что должно исключить резкий вылет при старте
      допустим поставить компаратор на пол пути который одёрнет устройство
      есть у гувера всётаки свой плюс но он такой себе нужно увидеть на графике где его одёрнуть или в нескольких местах одёрнуть

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

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

      ПИД регулятор на GyverPID

      #50

      Сообщение ingener » 27.03.2022{, 16:41}

      А нельзя сделать проще - входной сигнал сравнивается с заданным (разность), которая через блок нелин. масштабирования подается на управление ШИМ?

      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 29
      Имя: Дмитрий

      ПИД регулятор на GyverPID

      #51

      Сообщение Di123 » 28.03.2022{, 03:42}

      Можно но только если используется один Кр
      И то нужно извратиться с выгибанием логарифма дабы его настроить по точкам и так с каждым разным устройством нужно редактировать таблицу ибо внешне туда не залесть а заниматься десятками перепрошивками для настройки это на мазохиста поэтому это всё бред

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

      Ответить

      Вернуться в «ПИД регуляторы (PID), блоки для ШИМ»