Каскадный контур управления Arduino

Я пытаюсь реализовать каскадную систему управления с внутренним контуром скорости и внешним контуром положения.

Отдельно и без каскадного управления я легко реализовал управление положением и управление скоростью благодаря «библиотеке pid».

Я понятия не имею, как преобразовать выходные данные положения из pid положения в опорную скорость.

Буду признателен за любую помощь, поскольку у меня нет информации по этой теме. Спасибо и с уважением

, 👍2


1 ответ


1

Это не конкретная тема Arduino, но вот просто прагматичный ответ:

Используйте выходной сигнал ПИД-регулятора непосредственно в качестве опорной скорости, вычтите фактическую скорость и используйте ее в качестве входных данных для скорости ПИД-регулятора. Единицы в этом случае не волнуют.

Вы должны убедиться, что параметры вашего положения ПИД хорошо отрегулированы, это создаст проблемы с единицами измерения.

Вот пример для понимания (учитывается только усиление P):

Если вы хотите проехать из А в Б на машине, а расстояние от А до Б составляет 10 км, то желаемое положение — 10 км, и я бы выбрал скорость около 100 км/ч. Итак, в этом примере вы начинаете с отклонения регулирования 10 км – 0 км = 10 км. Если вы выберете P-усиление, равное 10, выходной сигнал ПИД-регулятора будет равен 100, что является идеальной эталонной скоростью, если скорость задана в км/ч.

Но если вы измеряете расстояние не в км, а в м, контрольное отклонение будет (10.000м - 0м = 10.000м), при коэффициенте усиления P, равном 10, вы в конечном итоге получите опорную скорость 100.000км/ h, что в данном случае не является подходящей опорной скоростью.

Теперь кто-то может возразить, что в моем примере, если вы хотите проехать из A в C, а C находится на расстоянии 1000 км, вы получите исходную скорость 10 000 км/ч, что тоже не подходит, но это там, где ограничения ПИД-регулятора полезны, просто установите их для этого примера на 130 км/ч, и вы все равно получите соответствующую опорную скорость, а ваша часть интегратора не будет работать бесконечно.

Вы можете посмотреть на усиление I и D аналогичным образом.

,

Да, я понял, спасибо, @Syed Tirmizi

@SyedTirmizi, пожалуйста, надеюсь, твоя система работает. :-), @RJPlog