реклама на сайте
подробности

 
 
> Перемещение по декартовой СК
_lukash_
сообщение Nov 24 2007, 21:41
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 1-09-07
Из: Винница
Пользователь №: 30 222



Всем привет!

Нужно перемещать головку по декартовой СК. Траектории движений всегда должны быть прямыми отрезками при равномерном разгоне и торможении.
Т.е. знаем 4 величины - x,y,x0,y0, и по ним требуется рассчитать общее время перемещения (оно будет равное и для двигателя по Х, и для двигателя по оси У), максимальную скорость каждого двигателя после разгона/перед торможением, и соответственно величину ускорения/торможения для каждого двигателя. При этом уже есть некоторые заранее известные значения - максимальное ускорение, максимальная скорость.
Существуют ли какие-то наработки по этой теме? Вроде то как ниче сложного и нет, но вот к примеру остановить двигатель в нужном месте вроде тож не оч сложно, а используется ПИД регуляция со всякими формуламиsmile.gif

Нарисовал мой вариант решения (блок-схему) этого алгоритма, возможно не совсем правильную, хотелось бы услышать по этой теме несколько советов, возможно уже где-то есть красивая реализация алгоритма?

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_lukash_
сообщение Nov 27 2007, 16:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 1-09-07
Из: Винница
Пользователь №: 30 222



Значит делаю как TSerg написал:
Сначала рассчитываю коэффициент для меньшей координаты.
Если случай первый, рассчитываю длины отрезков ускорение/стационар/торможение.
Далее перевожу эти длины в количество импульсов от датчика Холла(будет около 30 импульсов на 1 миллиметр)
Потом возьму какую-то переменную в качестве счетчика (по переменной на каждую ось, ее перед каждым проездом обнулять буду) и в обработчике прерывания компаратора (по импульсу от датчиков Холла) буду каждый раз ее увеличивать на 1. Там же (в обработчике прерывания) и проверять ее на равность со значениями ускорение/стационар/торможение. Так я узнаю, что пора прекратить разгон, к примеру. И так же для 2-го случая, но там просто ускорение/торможение.

Немного непонятно как мне посчитать отклонение от рекомендованной линии движения. Опять по времени?
Еще объясните доступно плз, как прикрутить к этому всему П-регулятор - получается он тоже будет корректировать скорость исходя из времени, или он будет корректировать только конечную точку, в которой нужно остановиться?

И еще один момент – сами расчеты ведутся в одном контроллере, потом он (master) контроллер передает рассчитанные данные в 2 slave МК (на каждый двигатель по МК), после чего master одновременно дает команду на пуск 2 –х двигателей. Во время движения каждый из slave контроллеров НЕ будет знать сколько в данный момент прошел второй slave, т.е. связи между ними не будет. Возможно ли обойтись без привязки по времени в данном случае?
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Nov 28 2007, 08:52
Сообщение #3





Guests






Цитата(_lukash_ @ Nov 27 2007, 19:10) *
Значит делаю как TSerg написал:

Немного непонятно как мне посчитать отклонение от рекомендованной линии движения. Опять по времени?


Рекомендованная линия пути (ЛРП) известна, т.к. задана начальной и конечно точками. Текущая точка тоже известна по датчикам перемещения. Далее - обычная геометрия (кратчайшее расстояние от точки до прямой)

В качестве примера, реализующего подобный подход, привожу симуляцию.

Имеется двухкоординатная система с двигателями пост.тока и датчиками положения (не снижая общности). рис.1
Прикрепленное изображение


Каждая из подсистем реализована как замкнутая по скорости, т.е. обеспечивается постоянство скорости на рабочем участке.
Для демонстрации возможностей работы такой САР в условиях значительной неопределенности введены следующие усложнения жизни.
Динамические характеристики разомкнутых систем различаются по динамике и передаточному числу. рис.2
Прикрепленное изображение


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


В канал скорости по X вводится случайная составляющая, как интеграл от белого шума с катастрофической величиной дисперсии 25% от макс.скорости. рис.4
Прикрепленное изображение


(синий - результирующая скорость задатчика, красный - шумовой сигнал). Т.е. мы в сигнал задания вводим значительное возмущение без объяснения его природы.

На рис.5 приведен график отклонения от ЛРП при работе САР без канала коррекции по отклонению.
Как видно, текущую точку значительно уводит и отклонение достигает 2 мм на 100 мм, т.е. 2%

Прикрепленное изображение


На рис.6 приведен аналогичный график при включенной коррекции. Отклонение не превышает 0.05 мм, т.е. 0.05%
Прикрепленное изображение


Отключим возмущение по скорости рис.7. Дисбаланс в каналах приводит конечно же к процессу установления, но он быстротечен и невелик, те же 0.05%.
Прикрепленное изображение


Безусловно, это всего лишь демонстрация возможностей и отнюдь не идеальная.
Все регуляторы имеют П-характер, возможно введением иных законов и нелинейностей удасться получить апериодический характер пуска и выхода на ЛРП.
Пуск производился на максимальном ускорении, если же делать его плавным, с контролируемым ускорением, то переходной процесс выглядит так - рис.8.
Прикрепленное изображение


Если же каналы максимально идентичны, то - рис.9 и переходной процесс, скорее всего, будет определятся иными факторами.

Прикрепленное изображение



Следующим шагом к улучшению показателей может стать введение режима "погоня за фазовой точкой", когда азимут берется не на конечную, а на искусственную движущуюся точку впереди фазовой точки системы.





На рис.10 приведена траектория выхода на ЛРП при несовпадающих начальных точках ЛРП и каретки.
Т.е. изменили начальные условия X0=0, Y0=-5, XT=0, YT=0
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _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
- - _lukash_   А можно немного объяснить по пункту 4 - про интерп...   Nov 26 2007, 18:01
|- - TSerg   Цитата(_lukash_ @ Nov 26 2007, 21:01) А м...   Nov 27 2007, 06:33
|- - Tanya   Цитата(TSerg @ Nov 27 2007, 09:33) Я бы п...   Nov 27 2007, 07:50
- - urasinov   ЦитатаКогда известна контурная (общая) скорость. У...   Nov 27 2007, 09:54
|- - alexander55   Цитата(urasinov @ Nov 27 2007, 12:54) Т.е...   Nov 27 2007, 10:04
- - _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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 02:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016