Simulink PID блок против производной / интегратор - PullRequest
0 голосов
/ 09 ноября 2019

Я делаю модель PID в Simulink, но у меня проблема. На изображении ниже вы можете видеть, что я попробовал два разных метода: использование блока PID напрямую и использование коэффициентов усиления с блоками производных / интеграторов. Почему они дают два совершенно разных результата, показанных на втором изображении? Использование блока PID согласуется с результатом, полученным из rltool. Спасибо.

Simulink Модель

Результат для пошагового ответа

1 Ответ

0 голосов
/ 13 ноября 2019

Реализация производной не согласована между встроенным блоком PID и вашим контроллером PID. Если вы нажмете на блок PID, вы увидите, что он не использует чистую производную, а вместо этого приближение, которое обеспечивает спад на высоких частотах. Аппроксимация производной в блоке PID:

\frac{du}{dt}\approx\frac{N}{1+N\frac{1}{s}}=\frac{s}{\frac{1}{N}s+1}

со значением по умолчанию N = 100. Использование пошагового ввода (которое технически имеет бесконечную производную) приводит к явной разнице между двумя реализациями, когда Kd не равен нулю.

Если заменить производный блок в нижней реализации на передаточную функциюВ блоке с такими же коэффициентами, что и в производной аппроксимации, выходные данные будут идентичны результату с использованием блока PID.

...