Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Simulink Control System toolbox
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Misile_Inc
Здравствуйте, пытаюсь промоделировать систему.
Одно из звеньев описывается функцией в операторном виде
W(p)=k*p.
То есть, дифференциальное звено. Но задать его в блоке Transfer Fcn у меня не выходит.
Числитель задаю как [0.000002 0]
Знаменатель как [1].
Simulink ругается- порядок числителя должен быть ниже порядка знаменателя.
RHnd
Цитата(Misile_Inc @ Oct 26 2012, 11:50) *
Здравствуйте, пытаюсь промоделировать систему.
Одно из звеньев описывается функцией в операторном виде
W(p)=k*p.
То есть, дифференциальное звено. Но задать его в блоке Transfer Fcn у меня не выходит.
Числитель задаю как [0.000002 0]
Знаменатель как [1].
Simulink ругается- порядок числителя должен быть ниже порядка знаменателя.


Все правильно, порядок знаменателя должен быть не меньше порядка числителя - условие физической реализуемости.
Попробуйте использовать втроенные матлабовский блок взятия производной. Или использовать реальное дифференцирующее звено вида s/(Ts+1), задав малое T.
Еще лучше определиться, а действительно ли в вашем дизайне нужно идеальное дифференцирующее звено.
Misile_Inc
Спасибо за отклик!
Я уже пробовал поставить дифференцирующее звено из стандартной библиотеки.
Получая на входе инерционную характеристику, выдает стабильный ноль, пока не зададим малую постоянную, например, 0.01.
Не понимаю смысл постоянной дифференцирования Тs.
Возьмем простой пример- зависимость момента сопротивления от момента инерции (уравнение баланса моментов)
М = J(dw/dt).
Чтобы вывести М из w необходимо продифференцировать w. Каким образом для этого стоит подбирать Тs?
Не от фонаря же - ерунда вместо синтеза регулятора получится.
RHnd
Цитата(Misile_Inc @ Oct 26 2012, 13:16) *
Спасибо за отклик!
Я уже пробовал поставить дифференцирующее звено из стандартной библиотеки.
Получая на входе инерционную характеристику, выдает стабильный ноль, пока не зададим малую постоянную, например, 0.01.
Не понимаю смысл постоянной дифференцирования Тs.
Возьмем простой пример- зависимость момента сопротивления от момента инерции (уравнение баланса моментов)
М = J(dw/dt).
Чтобы вывести М из w необходимо продифференцировать w. Каким образом для этого стоит подбирать Тs?
Не от фонаря же - ерунда вместо синтеза регулятора получится.


Вообще странно, что диф. звено на выходе ноль выдает, не должно такого быть.
Понимаете, идеальная процедура дифиференцирования не реализуема. Поэтому используется реальное дифференцирующее звено s/(T*s+1). Выход этого звена является оценкой производной, и стремится к истинному значению при t->0.
Вывести M из w в чистом виде не получится. Нужно либо оценивать ускорение, либо строить какие-то наблюдающие устройства. А зачем вам вообще это делать?
Misile_Inc
Например, затем, чтобы реализовать плавное управление моментом через ПИД - регулятор.
Для этого необходимо получить передаточную характеристику машины при управлении моментом через напряжение.
А потом синтезировать регулятор на основе данных анализа объекта.
Ну это я себе так представляю.
RHnd
Цитата(Misile_Inc @ Oct 26 2012, 16:28) *
Например, затем, чтобы реализовать плавное управление моментом через ПИД - регулятор.
Для этого необходимо получить передаточную характеристику машины при управлении моментом через напряжение.
А потом синтезировать регулятор на основе данных анализа объекта.
Ну это я себе так представляю.

Это учебное задание или жизненное?
Правильно ли я понял, что вы хотите управлять развиваемым моментом, не измеряя его? Выражение в прошлом посте вам тут не поможет, так как в нем нет момента сопротивления. Оценивая ускорение, вы получите действующий момент, а не развиваемый. Может быть, у вас все-таки есть какой-то способ измерить/оценить именно развиваемый момент? Через ток? Какая вообще электрическая машина?
И точно ли вам надо управлять именно развиваемым моементом? Не является ли это частью более общей задачи управления скоростью/ положением? Если способов измерить/оценить момент нет, то такие задачи можно решать и без контура момента.
Misile_Inc
Да, измерение момента производится через ток двигателя. Машина - бесколлекторный двигатель постоянного тока.
Задача жизненная. Пока заказчик сам не знает - управление скоростью или моментом ему нужно, а я изучаю оба вопроса.
RHnd
Цитата(Misile_Inc @ Oct 26 2012, 16:50) *
Да, измерение момента производится через ток двигателя. Машина - бесколлекторный двигатель постоянного тока.
Задача жизненная. Пока заказчик сам не знает - управление скоростью или моментом ему нужно, а я изучаю оба вопроса.


Ну и замечательно. Если измерение момента происходит косвенно через ток, то так и стройте свою систему управления, зачем вам дифференцировать скорость. По управлению моментом есть куча методов для различных типов двигателей.
Misile_Inc
Вероятно, я недостаточно теоретически подкован. Я сегодня пытался сам передаточную функцию двигателя вывести (буду еще читать, конечно, но хочется самому понимать аналитическое описание) для момента через напряжение.
Ну и как ни крутил, получается функция с оператором дифференцирования в числителе.
В явном виде я дифференцировать скорость не собирался, хотел лишь описание системы получить с входом напряжения и выходом момента.
И под эту систему регулятор получить
RHnd
Если нет момента сопротивления, то при постоянном напяржении на входе установится постоянная скорость и нулевой момент. Тогда да, передаточная функция от напяржения к моменту будет содержать оператор дифференцирования в числителе. Но не идеальный же, порядок знаменателя всей передаточной функции (при определенных упрощениях - второй порядок) больше, чем числителя.
Misile_Inc
Я не возражаю по поводу идеальный / неидеальный. Все в мире неидеально.
Но постоянную Ts же надо откуда-то взять. 0.1 или 0.00001. Чем-то ее величина обоснована.
Извините, если глупые вопросы задаю или не правильно вас понял - учусь.
RHnd
Цитата(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] - нереализуема и матлаб ее моделировать откажется.
Misile_Inc
Наверное, забивают на обратную (генераторную) ЭДС?
ПротивоЭДС - это та, которая L(di/dt), насколько помню. На нее лучше не забивать.
Или нет?
Подождите. Как не нужно использовать? Берем стандартный модуль derivative - он из инерционного процесса дает ноль.\
Лезем в настройки. Там Linearization time constant s/(Ns+1) = inf.
Меняем его на 0.01 и уже видим дифференцирование.
RHnd
Там, где я общаюсь на эти темы, генераторную ЭДС обычно называют противо-ЭДС. sm.gif Я про нее говорил.

Вам для построения модели не нужно использовать блок дифференцирования, должно хватить стандартных блоков передаточных функций. Ведь вы скоость создаете на основе интегрирования момента, а не наоборот. А для измерения используете ток. Вроде нет мест, в которых понадобился бы блок дифференцирования. т.к.
Напряжение -> Ток -> Момент -> Ускорение -> Скорость -> противо-ЭДС идет обратно к напряжению. Дифференцирования нигде нет.
Misile_Inc
Ваши рассуждения логичны.
Но, я уже пробовал плясать от момента и, преобразуя дифференциальное уравнение,чтобы получить привычную передаточную функцию с постоянными времени, получил опять оператор дифференцирования в числителе sm.gif
Я не виноват - сам не котел, а получил.

Мне кажется, что физику с математикой не обмануть и другую передаточную функцию не получить.

Да и не стоит, наверное, ее воспринимать как дифференцирование скорости. Это просто описание системы, в котором содержится информация о зависимости скорости и момента.
Может я не прав, конечно.
RHnd
Попробую еще раз объяснить.

То, что в передаточной функции (ПФ) появляется оператор дифференцирования в числителе - правильно, так как соответствует физической природе системы. при этом порядок знаменателя остается больше порядка числителя - условие физической реализуемости выполняется, что так же соответствует физической природе.
То, что при попытке промоделировать вы пытаетесь где-то зачем-то использовать опертор дифференцирования в читом виде, отдельно от той ПФ, часть которой он является - неверно, так делать нельзя.
Misile_Inc
Теперь понял sm.gif Использовал отдельно оператор дифференцирования с целью одновременно построить два переходных процесса - по скорости и моменту (Две выходные точки для линейного анализа)

А как быть при моделировании дифференциального канала регулятора, если не использовать блок derivative?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.