1

Тема: ПИД-регуляторов для двусторонних систем

Доброе время суток! Есть устройство, которое может перемещаться по шкале, например от 0 до 1000. При этом требуется удерживать его в середине, на отметке 500 с помощью двух гидравлических линий. (Один клапан сдвигает влево, второй вправо.) От устройства имеем сигнал положения по CAN 0-1000.
Правильно ли я понимаю, что для реализации управления необходимо использовать два ПИД регулятора, каждый на свой выход ШИМ. Решить вопрос одним регулятором с последующей логикой распределения направления воздействия если и не невозможно то нецелесообразно?

2 (23-07-2026 22:22:00 отредактировано AlexN)

Re: ПИД-регуляторов для двусторонних систем

Никто кроме вас на данном этапе не имеет представления о том что для вас необходимо и что для вас нецелесообразно. Не говоря уже о технических требованиях и граничных условиях самой задачи.

+ мечты

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

Модераторское: предупреждение AlexN за флейм см.правила

3

Re: ПИД-регуляторов для двусторонних систем

AlexN, вы абсолютно правы в том, что технические требования и граничные условия задачи известны только мне. И чтобы не утомлять уважаемое сообщество лишними деталями, я постарался предельно упростить описание задачи, чтобы донести основную сложность, с которой столкнулся. Я ищу не готовое решение "под ключ", а только подтверждение или опровержение моих выводов теми, кто уже сталкивался с подобной задачей.

Эксперименты, которые я провел, показывают, что драйвер асинхронных ПИД-регуляторов CANNY не обеспечивает двустороннего управления. Он выдает беззнаковое значение u(t), которое меняется только в одну сторону, что делает его непригодным для управления двумя гидравлическими клапанами от одного регулятора. Возможно, я что-то упустил.

В итоге я реализовал на макете схему с двумя ПИД-регуляторами — по одному на каждое направление. Такое решение работает, но вызывает серьезные опасения при переносе на реальную гидравлику:

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

Непредсказуемое поведение. При быстрых изменениях сигнала обратной связи регуляторы могут "конфликтовать", ухудшая качество управления.

Поэтому переформулирую вопрос для тех, у кого есть практический опыт:

Кто-нибудь успешно реализовывал двустороннее позиционирование гидравлики на CANNY? Какой подход оказался рабочим: два ПИД-регулятора, программная реализация или иной способ?

Буду благодарен за любые практические советы, ссылки на примеры или краткое описание решения.

4

Re: ПИД-регуляторов для двусторонних систем

Драйвер АПИД не обязательно привязывать к периферии напрямую.
А ноль - всего лишь точка на прямой. При необходимости его можно сместить в более удобное место.

Вложений в сообщении

Иконка вложения PIDdemo.cfd 60.72 кб, скачивался 7 раз, последний раз 2026-07-29