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

 
 
> Перемещение по декартовой СК
_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
Ответов
uriy
сообщение Nov 25 2007, 07:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Что-то меня смущает блок:
Определим путь ускорения/торможения
L_amax = (a_t^2)/2
Не нашел описания переменной a_t что это?
Насколько я помню из физики, растояние пройденное при равномерном ускорении определяется как L_amax = (a*t^2)/2.
Но если мы не начали движение откуда нам знать величину ускорения и время?
PS Прошу прощенья за оффтоп, но подобные картинки где мало цветов (тут их два черный и белый), тонкие линии и контрастные переходы лучше сэйвить в GIF, качество будет гораздо выше (не будет артефактов при переходе цветов), а объем меньше чем JPG.
Go to the top of the page
 
+Quote Post
_lukash_
сообщение Nov 25 2007, 10:26
Сообщение #3


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

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



Цитата(urasinov @ Nov 25 2007, 09:35) *
Что-то меня смущает блок:
Определим путь ускорения/торможения
L_amax = (a_t^2)/2
Не нашел описания переменной a_t что это?
Насколько я помню из физики, растояние пройденное при равномерном ускорении определяется как L_amax = (a*t^2)/2.
Но если мы не начали движение откуда нам знать величину ускорения и время?

Да, ошибка.
L_amax - ето перемещение за время ускорения/торможения. Получается, что мы его знаем еще до начала движения, т.к. мы знаем максимальную скорость V_max, и максимальное ускорение a_max - и это константы - они экспериментально потом находятся.

Я считал, что возможно только 2 варианта:
1- двигатель разгоняется до V_max с ускорением a_max, проходя путь L_amax, затем некоторое время движется с максимальной скоростью, и затем тормозит с тем же ускорением a_max до 0-ой скорости, также проходя путь L_amax. Торможение/ускорение будет регулироваться программно ,т.е. не сразу пытаемся крутить двигатель с 3000об/мин, а постепенно увеличивая обороны. Так и получится одинаковое ускорение при разгоне/торможении.

2- двигатель не успевает разогнаться до V_max, т.к. общее перемещение меньше, чем то, которое требуется для разгона+торможения до V_max. Поэтому в этом случае беру время на разгон такое же как и в первом случае ,но ускорение умножаю еще на koefA, чтоб не разгонятся до максимальной скорости и успеть затормозить.

Для этого я и считаю L_amax, чтоб потом сверить большую координату(ту, по которой перемещение больше) с величиной 2*L_amax. Так я узнаю какой вариант будет (успеет разогнаться до V_max или нет)

Пересчитал L_amax
t_amax=V_max/a_max
L_amax= (a_max*t_amax^2)/2

Возможно я еще чет не учел?

Цитата(urasinov @ Nov 25 2007, 09:35) *
PS Прошу прощенья за оффтоп, но подобные картинки где мало цветов (тут их два черный и белый), тонкие линии и контрастные переходы лучше сэйвить в GIF, качество будет гораздо выше (не будет артефактов при переходе цветов), а объем меньше чем JPG.

Ок, приаттачил с исправлением, только уже не картинкой, о оригинальным файлом от FCEditor. Возможно, так лучше будет (9Кб)

Прикрепленный файл  blok_cxema.rar ( 1.41 килобайт ) Кол-во скачиваний: 164


Прикрепленный файл  FCEditor.rar ( 1.88 мегабайт ) Кол-во скачиваний: 137
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _lukash_   Перемещение по декартовой СК   Nov 24 2007, 21:41
|- - 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_   Значит делаю как 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


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:22
Рейтинг@Mail.ru


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