Могу ли я использовать неравенство в пользовательской функции 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, что практически не приведет к нарушению максимальной скорости. Мне кажется, вы искали блок "сравнить с константой" или, может быть, блок "оператор отношения"?