|
Simulink Control System toolbox, передаточная функция дифферицирующего звена |
|
|
|
Oct 26 2012, 07:54
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Misile_Inc @ Oct 26 2012, 11:50)  Здравствуйте, пытаюсь промоделировать систему. Одно из звеньев описывается функцией в операторном виде W(p)=k*p. То есть, дифференциальное звено. Но задать его в блоке Transfer Fcn у меня не выходит. Числитель задаю как [0.000002 0] Знаменатель как [1]. Simulink ругается- порядок числителя должен быть ниже порядка знаменателя. Все правильно, порядок знаменателя должен быть не меньше порядка числителя - условие физической реализуемости. Попробуйте использовать втроенные матлабовский блок взятия производной. Или использовать реальное дифференцирующее звено вида s/(Ts+1), задав малое T. Еще лучше определиться, а действительно ли в вашем дизайне нужно идеальное дифференцирующее звено.
|
|
|
|
|
Oct 26 2012, 11:54
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Misile_Inc @ Oct 26 2012, 13:16)  Спасибо за отклик! Я уже пробовал поставить дифференцирующее звено из стандартной библиотеки. Получая на входе инерционную характеристику, выдает стабильный ноль, пока не зададим малую постоянную, например, 0.01. Не понимаю смысл постоянной дифференцирования Тs. Возьмем простой пример- зависимость момента сопротивления от момента инерции (уравнение баланса моментов) М = J(dw/dt). Чтобы вывести М из w необходимо продифференцировать w. Каким образом для этого стоит подбирать Тs? Не от фонаря же - ерунда вместо синтеза регулятора получится. Вообще странно, что диф. звено на выходе ноль выдает, не должно такого быть. Понимаете, идеальная процедура дифиференцирования не реализуема. Поэтому используется реальное дифференцирующее звено s/(T*s+1). Выход этого звена является оценкой производной, и стремится к истинному значению при t->0. Вывести M из w в чистом виде не получится. Нужно либо оценивать ускорение, либо строить какие-то наблюдающие устройства. А зачем вам вообще это делать?
|
|
|
|
|
Oct 26 2012, 12:47
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Misile_Inc @ Oct 26 2012, 16:28)  Например, затем, чтобы реализовать плавное управление моментом через ПИД - регулятор. Для этого необходимо получить передаточную характеристику машины при управлении моментом через напряжение. А потом синтезировать регулятор на основе данных анализа объекта. Ну это я себе так представляю. Это учебное задание или жизненное? Правильно ли я понял, что вы хотите управлять развиваемым моментом, не измеряя его? Выражение в прошлом посте вам тут не поможет, так как в нем нет момента сопротивления. Оценивая ускорение, вы получите действующий момент, а не развиваемый. Может быть, у вас все-таки есть какой-то способ измерить/оценить именно развиваемый момент? Через ток? Какая вообще электрическая машина? И точно ли вам надо управлять именно развиваемым моементом? Не является ли это частью более общей задачи управления скоростью/ положением? Если способов измерить/оценить момент нет, то такие задачи можно решать и без контура момента.
|
|
|
|
|
Oct 26 2012, 13:37
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Misile_Inc @ Oct 26 2012, 17:06)  В явном виде я дифференцировать скорость не собирался, хотел лишь описание системы получить с входом напряжения и выходом момента. И под эту систему регулятор получить Достаточно традиционным подходом является забить на противоЭДС и строить управление чистым контуром тока без учета скорости вращения. Тогда за счет интегральной части регулятора замкнутый контур тока будет компенсировать постоянную противоЭДС. Это хорошо работает при движениях с постоянной скоростью. Цитата(Misile_Inc @ Oct 26 2012, 17:31)  Но постоянную Ts же надо откуда-то взять. 0.1 или 0.00001. Чем-то ее величина обоснована. Вам эту T использовать не нужно. Например, Y=[s]/[2*s +1]X - такая передаточная функция реализуема и матлаб может ее промоделировать. А если Y=[s]/[1]*[1]/[2*s+1]X, то в итоге получается то же самое, но первая передаточная функция [s]/[1] - нереализуема и матлаб ее моделировать откажется.
|
|
|
|
|
Oct 26 2012, 14:05
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Там, где я общаюсь на эти темы, генераторную ЭДС обычно называют противо-ЭДС.  Я про нее говорил. Вам для построения модели не нужно использовать блок дифференцирования, должно хватить стандартных блоков передаточных функций. Ведь вы скоость создаете на основе интегрирования момента, а не наоборот. А для измерения используете ток. Вроде нет мест, в которых понадобился бы блок дифференцирования. т.к. Напряжение -> Ток -> Момент -> Ускорение -> Скорость -> противо-ЭДС идет обратно к напряжению. Дифференцирования нигде нет.
|
|
|
|
|
Oct 26 2012, 14:59
|

Частый гость
 
Группа: Участник
Сообщений: 174
Регистрация: 30-08-11
Из: Санкт-Петербург
Пользователь №: 66 926

|
Ваши рассуждения логичны. Но, я уже пробовал плясать от момента и, преобразуя дифференциальное уравнение,чтобы получить привычную передаточную функцию с постоянными времени, получил опять оператор дифференцирования в числителе  Я не виноват - сам не котел, а получил. Мне кажется, что физику с математикой не обмануть и другую передаточную функцию не получить. Да и не стоит, наверное, ее воспринимать как дифференцирование скорости. Это просто описание системы, в котором содержится информация о зависимости скорости и момента. Может я не прав, конечно.
Сообщение отредактировал Misile_Inc - Oct 26 2012, 15:00
|
|
|
|
|
Oct 28 2012, 12:11
|

Частый гость
 
Группа: Участник
Сообщений: 174
Регистрация: 30-08-11
Из: Санкт-Петербург
Пользователь №: 66 926

|
Теперь понял  Использовал отдельно оператор дифференцирования с целью одновременно построить два переходных процесса - по скорости и моменту (Две выходные точки для линейного анализа) А как быть при моделировании дифференциального канала регулятора, если не использовать блок derivative?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|