Почему эквивалентная реализация дискретного управления дает разные результаты в XCos
Я моделирую простой контроллер скорости с замкнутым контуром для двигателя постоянного тока в scilab/xcos.
У меня непрерывный ПИ-контроллер работает просто отлично.
Затем я дискретизировал непрерывный контроллер и реализовал его двумя различными, но эквивалентными способами, и кажется, что две дискретные реализации дают разные результаты, даже если предполагается, что они эквивалентны.
Оба дискретных контроллера получены одним и тем же методом дискретизации (Tustin), но один реализован как одна передаточная функция Xcos DLR, тогда как другой реализован как сумма P и I частей по отдельности.
Прилагаемая модель содержит все настройки в контексте и иллюстрирует как непрерывный контроллер, так и оба дискретных контроллера.
"Компонентное дискретное управление" достаточно хорошо отслеживает непрерывный контроллер, тогда как "дискретное управление передаточной функцией" неустойчиво.
Эта проблема решается за более короткое время выборки, что меня озадачивает, поскольку математика, управляющая двумя дискретными реализациями, полностью идентична, и поэтому я ожидаю, что относительное поведение двух дискретных контроллеров должно быть одинаковым независимо от того, какое время выборки используется.
Я был бы признателен за любой вклад или объяснение того, что я делаю неправильно, и почему эти две, казалось бы, эквивалентные реализации отличаются.
Модель прилагается здесь:
https://www.dropbox.com/s/itudk4a1ooh6ncz/dc_motor_control.zcos?dl=0
1 ответ
Просто добавьте образец и удерживайте путь (непрерывного!) КП в компонентном контроллере;-) КП сохраняет вашу стабильность, потому что он непрерывный, хотя интегратор работает дискретно. Но встроенный дискретный контроллер полностью работает с Ts - это слишком медленно. Если вы добавите дискретное поведение в kp через sample-and-hold, вы получите те же результаты.