Могу ли я использовать неравенство в пользовательской функции Simscape? / Как я могу сделать блок, который ограничивает скорость в SimMechanics?

У меня есть симмеханика Revolute joint блок с крутящим моментом на входе и скоростью вращения на выходе. Я хотел бы ограничить скорость сустава, установив максимальную скорость.

  • Я не нахожу подходящий блок в браузере библиотеки Simulink - Simscape - SimMechanics - Второе поколение - Ограничения.
  • Поэтому я хочу сделать пользовательский блок для ограничения скорости вращения. Можно ли включить неравенства в пользовательский блок Simscape? До сих пор я встречал только уравнения с == которые представляют энергетические балансы, см. Electromagnetic converter например:
equations
    v   == p.v - n.v;
    mmf == N.mmf - S.mmf;
    mmf == Nw*i;
    phi.der == -v/Nw; % Faraday's law
end

1 ответ

Я бы использовал блок Rotational Hard Stop из библиотеки Simscape, чтобы ограничить угловое движение сустава:

введите описание изображения здесь

Из документации:

Блок Rotational Hard Stop представляет собой двухсторонний механический вращательный упор, который ограничивает движение тела между верхней и нижней границами. Оба порта блока имеют механический ротационный тип. Ударное взаимодействие между ползунком и упорами предполагается упругим. Упор выполнен в виде пружины, которая входит в контакт с ползунком, когда зазор очищается. Пружина противодействует проникновению ползуна в упор с силой, линейно пропорциональной этому проникновению. Для учета рассеяния энергии и неупругих эффектов демпфирование вводится в качестве параметра блока, что позволяет учитывать потери энергии.

Один из способов ограничения скорости - добавить крутящий момент к поворотному шарниру пропорционально тому, насколько он превышает предел. Вы можете установить очень высокое значение GAIN, что практически не приведет к нарушению максимальной скорости. Мне кажется, вы искали блок "сравнить с константой" или, может быть, блок "оператор отношения"?

Другие вопросы по тегам