|
Перемещение по декартовой СК |
|
|
|
Nov 24 2007, 21:41
|
Частый гость
 
Группа: Свой
Сообщений: 126
Регистрация: 1-09-07
Из: Винница
Пользователь №: 30 222

|
Всем привет! Нужно перемещать головку по декартовой СК. Траектории движений всегда должны быть прямыми отрезками при равномерном разгоне и торможении. Т.е. знаем 4 величины - x,y,x0,y0, и по ним требуется рассчитать общее время перемещения (оно будет равное и для двигателя по Х, и для двигателя по оси У), максимальную скорость каждого двигателя после разгона/перед торможением, и соответственно величину ускорения/торможения для каждого двигателя. При этом уже есть некоторые заранее известные значения - максимальное ускорение, максимальная скорость. Существуют ли какие-то наработки по этой теме? Вроде то как ниче сложного и нет, но вот к примеру остановить двигатель в нужном месте вроде тож не оч сложно, а используется ПИД регуляция со всякими формулами  Нарисовал мой вариант решения (блок-схему) этого алгоритма, возможно не совсем правильную, хотелось бы услышать по этой теме несколько советов, возможно уже где-то есть красивая реализация алгоритма?
|
|
|
|
|
 |
Ответов
Guest_TSerg_*
|
Nov 27 2007, 06:33
|
Guests

|
Цитата(_lukash_ @ Nov 26 2007, 21:01)  А можно немного объяснить по пункту 4 - про интерполяцию и приращение по координатам? Т.е. с самой интерполяцией я разобрался, а как ее здесь применить не оч понял.
ЗЫ Нагуглил по ЧПУ инфы, разбираюсь... Я бы попробовал смоделировать другой вариант, он несколько более "свободный", но и более робастный. Предварительно вычисляется направление движения и и на рекомендуемой линии движения определяются точки переключения разгон-стационар и стационар-торможение. В каждый момент времени определяются текущие координаты X,Y и рассчитываются: - направление на конечную точку - отклонение по траверзу от рекомендованной линии движения; Для следующего шага вырабатывается новый вектор скорости, а имеющееся отклонение устраняется регулятором типа ПИ или ПИД. В случае достижения по одной из координат максимальной скорости или ускорения разгон прекращается.
|
|
|
|
|
Nov 27 2007, 07:50
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(TSerg @ Nov 27 2007, 09:33)  Я бы попробовал смоделировать другой вариант, он несколько более "свободный", но и более робастный. Предварительно вычисляется направление движения и и на рекомендуемой линии движения определяются точки переключения разгон-стационар и стационар-торможение. В каждый момент времени определяются текущие координаты X,Y и рассчитываются: - направление на конечную точку - отклонение по траверзу от рекомендованной линии движения; Для следующего шага вырабатывается новый вектор скорости, а имеющееся отклонение устраняется регулятором типа ПИ или ПИД. В случае достижения по одной из координат максимальной скорости или ускорения разгон прекращается. Такой подход, в принципе, правильный. Для системы с ограниченной информацией. Но возможны улучшенные варианты. Автору нужно разобраться с двигателем. Может ли (и хочет ли) он напрямую управлять (измерять по электрическим сигналам, а не с датчика положения) ускорением, скоростью и с какой точностью...
|
|
|
|
Сообщений в этой теме
_lukash_ Перемещение по декартовой СК Nov 24 2007, 21:41 urasinov Что-то меня смущает блок:
Определим путь ускорения... Nov 25 2007, 07:35 _lukash_ Цитата(urasinov @ Nov 25 2007, 09:35) Что... Nov 25 2007, 10:26  Tanya Цитата(_lukash_ @ Nov 25 2007, 13:26) 2- ... Nov 25 2007, 16:45   _lukash_ Цитата(Tanya @ Nov 25 2007, 18:45) Тут ош... Nov 25 2007, 17:13    Tanya Цитата(_lukash_ @ Nov 25 2007, 20:13) Я т... Nov 25 2007, 17:28 Tanya Цитата(_lukash_ @ Nov 25 2007, 00:41) Все... Nov 25 2007, 15:54 _lukash_ Вопрос заключался в том, что я хотел посмотреть на... Nov 25 2007, 16:38 _lukash_ Ок, спасибо.
Ща про ПИД (в моем случае, наверно, т... Nov 25 2007, 18:19 TSerg Цитата(_lukash_ @ Nov 25 2007, 21:19) Ок,... Nov 26 2007, 06:58 urasinov В качестве обратной связи наверно подойдет что-то ... Nov 26 2007, 09:54 _lukash_ А чем не устраивают датчики Холла в двигателях в к... Nov 26 2007, 13:07 alexander55 Цитата(_lukash_ @ Nov 25 2007, 00:41)
Ва... Nov 26 2007, 13:50 urasinov Цитата1.Вы считываете длину пути, как корень квадр... Nov 26 2007, 15:51 alexander55 Цитата(urasinov @ Nov 26 2007, 18:51) Что... Nov 27 2007, 07:02 urasinov ЦитатаКогда известна контурная (общая) скорость. У... Nov 27 2007, 09:54 alexander55 Цитата(urasinov @ Nov 27 2007, 12:54) Т.е... Nov 27 2007, 10:04 _lukash_ Значит делаю как TSerg написал:
Сначала рассчитыва... Nov 27 2007, 16:10 TSerg Цитата(_lukash_ @ Nov 27 2007, 19:10) Зна... Nov 28 2007, 08:52 _lukash_ Это понял, спасибо.
Но еще один момент - у Вас пр... Nov 28 2007, 21:32 TSerg Цитата(_lukash_ @ Nov 29 2007, 00:32) Это... Nov 29 2007, 07:33 _lukash_ Возможно, удастся сделать так, чтоб при расчетах и... Nov 29 2007, 19:56 TSerg Цитата(_lukash_ @ Nov 29 2007, 22:56) Ска... Nov 30 2007, 06:51 _artem_ посмотрите linuxcnc.org там есть сурцы для интерпо... Nov 29 2007, 23:42 alexander55 На память ЧПУшные функции:
G0 - позиционирование
G... Nov 30 2007, 06:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|