Задать вопрос
Illivion
@Illivion

Управление линейным приводом?

Есть задача управлять линейным приводом с электродвигателем (www.exlar.com/product_lines/23-tritex-ii-ac-linear... в следящем режиме. В качестве входного параметра положение штока. Параметр может изменяться случайным образом. Необходимо заставить следовать привод за входной координатой.


У привода есть 3 режима работы:


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

2. Установка скорости с ограничениями по ускорению и току. Ставим скорость и привод начинает с ней двигаться, пока не поменяешь знак скорости или не выставишь 0 (ну или пока не упрется в конец — перегруз по току).

3. Управление током. Unlimited режим, так сказать. Тупо ставим ток в амперах. По поведению сказать не могу, так как не пробовал.


Для примера взял входной периодический сигнал в виде синусоиды. Изначально решил попробовать управлять координатой. То есть с некоторой частотой (30-50 Гц) обновлять привод расчетным значением координаты, установив лимиты по скорости, ускорению и току на грани возможностей привода. Это заработало, но на малом периоде синуса не было заметно динамичности движений плюс начинается неровное движение штока, если на него действует динамическая нагрузка.


Похоже, что нужна обратная связь с управлением скоростью или током.


Попробовал управлять скоростью по такому алгоритму: По срабатыванию таймера каждые 30мс проверяем фактическую координату штока с датчика, сравниваем с расчетной координатой, делим разницу координат на время между обновлениями (30мс) и получаем скорость, которую отправляем на привод. Получается, что привод должен отрабатывать с задержкой на >=30мс от реального изменения координаты, но это, я думаю, нормально. Однако на практике оказалось, что значения скорости всегда получаются крайне малые, и привод еле-еле шевелится. Попробовал умножать результирующую скорость на некоторый константный коэффициент (например, 100). Движение туда-сюда получается, но тоже очень невнятное. Видно, что ошибка по координате очень велика.


В связи с этим вопрос. Как правильно управлять такими штуками? Смотрел в интернетах теорию, но там больше заточено не на программное, а на аппаратное управление — у меня нет возможности использовать обратную связь с мгновенным действием. Подскажите куда копать, или ткните носом, что почитать. Отвечу на любые вопросы. Спасибо.
  • Вопрос задан
  • 4283 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
iliasam
@iliasam
Может быть попробовать реализовать ПИД-регулятор?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Akson87
@Akson87
Посмотрите в сторону control theory или ТАУ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы