Рассчитать ускорение по точкам данных - PullRequest
0 голосов
/ 21 июня 2020

У меня есть серводвигатель, и этот серводвигатель я хотел бы сделать так, чтобы он как можно точнее следовал «шаблону движения» и использовал то же значение для ускорения и замедления.

На прилагаемом изображении показано "шаблон движения" (Y = скорость, X = время)

шаблон движения:

  1. ускоряет 0 м / с до 0,100 м / с.
  2. постоянная скорость 0,100 м / с за 4 сек. c.
  3. замедляется до отрицательного значения? М / с.
  4. ускоряется до 0 м / с, а положение двигателя = 0.

Как я могу рассчитать ускорение и замедление?

Я пробовал до сих пор:

Время = (общее время - время постоянной скорости) 10-4 = 6se c. Расстояния = (общие расстояния - расстояния с постоянной скоростью) 1 - 0,4 = 0,6 метра. ускорение = (2 * расстояния / (время ^ 2) 2 * 0,6 / sqr (6) = 0,0333 м / с.

Но с этим ускорением он выстреливает в отрицательном направлении на 500 мм.

модель движения серводвигателя, значение Y = (скорость, значение X = время)

1 Ответ

0 голосов
/ 23 июня 2020

Взгляните на функциональные блоки PL C Open motion, например MC_MoveRelative и MC_MoveContinuesRelative:

(документация Beckhoff)

As Sergey Как уже было сказано, вы можете использовать эти блоки для создания профиля движения, введя все необходимые параметры и интегрировав блоки в цепочку шагов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...