видео отличное, а главное подробно всё. одного не могу понять. уже пол дня голову ломаю как составить программу чтобы это работало как нужно даже простой круг и то все 3 оси задействованы. тут по моему арткамом не сделать программкуDrew писал(а):http://www.youtube.com/watch?v=wkk4zv96 ... re=related
интересно)
Интересная реализация (Нетрадиционная ориентация в станках)
Модератор: Dj_smart
Re: Интересная реализация (Нетрадиционная ориентация в станк
Re: Интересная реализация (Нетрадиционная ориентация в станк
Если прочитаете тему внимательнее, то поймете. Код готовите в любой САМ программе для 3-х осей.
-
- Станкостроитель
- Сообщения: 1950
- Зарегистрирован: 07 дек 2011, 09:51
- Имя: Алексей
- Откуда: Россия, респ.Коми, г.Сыктывкар, с.Усть-Кулом
- Контактная информация:
Re: Интересная реализация (Нетрадиционная ориентация в станк
Мач наверное умеет управлять. В общем трудоголик делал подобную модель, не читали выше? Тут же, вот - http://www.cncmasterkit.ru/viewtopic.ph ... 908#p73818, почитайте оттуда, я вдаваться в подробности не стал, ибо не нужно и сложно...
Или у вас чисто спортивный интерес, и просто так спросили?
Или у вас чисто спортивный интерес, и просто так спросили?
Re: Интересная реализация (Нетрадиционная ориентация в станк
не нужно так умничать. не один КАМ не сможет для подобной машины сделать код, так как даже при простых фигурах как квадрат, треугольник или круг одновременно задействованы 3 оси, а не как в сдандартном станке с 3мя осямиukr-sasha писал(а):Если прочитаете тему внимательнее, то поймете. Код готовите в любой САМ программе для 3-х осей.
делал, видел, читал спасибо. но читал ли сам что он написал? Трудоголик также не может составить код чтобы простые фигуры начеркать.nowmik писал(а): В общем трудоголик делал подобную модель, не читали выше? Тут же, вот - viewtopic.php?f=4&t=2908#p73818, почитайте оттуда, я вдаваться в подробности не стал, ибо не нужно и сложно...
Или у вас чисто спортивный интерес, и просто так спросили?
-
- Станкостроитель
- Сообщения: 94
- Зарегистрирован: 06 окт 2012, 10:01
Re: Интересная реализация (Нетрадиционная ориентация в станк
Pitsilver,
земляк, вы не правы.
земляк, вы не правы.
Re: Интересная реализация (Нетрадиционная ориентация в станк
возможно, но в чём именно? я смотрел когда видео то чтобы провести одну прямую задействованы сразу 3 мотора, как в стандартном 3х осевом только один. пришлите кто нибудь файл хотя бы квадрата. уж начал проявляться интерес к такой машине именно из за одной детали.workaholic писал(а):земляк, вы не правы.
Re: Интересная реализация (Нетрадиционная ориентация в станк
Pitsilver писал(а):не нужно так умничать
Учитывая мое участие в этой теме.
А если серьезно, то Вы уважаемый, если бы прочитали тему, то поняли бы, что код, таки, готовится стандартный для 3-х осей в любой программе или даже вручную, а преобразование координат выполняет программа управления станком Mach3, хотя и ЕМС думая справиться.
Re: Интересная реализация (Нетрадиционная ориентация в станк
не знаю. с MACHем никак не знаком. мне координацию на PCNC бы загнать в таком случае. вот мне в КАМ нужно тогда пояснение как сделать уже там готовый
Re: Интересная реализация (Нетрадиционная ориентация в станк
Через постпроцессор, вбиваете те же самые формулы.
-
- Станкостроитель
- Сообщения: 94
- Зарегистрирован: 06 окт 2012, 10:01
Re: Интересная реализация (Нетрадиционная ориентация в станк
Pitsilver,
вот несколько строк, где работают все координаты, это стандартная ситуация, в основном зависит от вида выполняемой работы и применяемой стратегий.
X0Y0Z0A0
X10Y20Z30A40
если PCNC понимает тригонометрические функций то это не проблема. EMC справится без проблемы.
вот несколько строк, где работают все координаты, это стандартная ситуация, в основном зависит от вида выполняемой работы и применяемой стратегий.
X0Y0Z0A0
X10Y20Z30A40
если PCNC понимает тригонометрические функций то это не проблема. EMC справится без проблемы.
Re: Интересная реализация (Нетрадиционная ориентация в станк
да. понятно теперь с нулевой части на прямую как вывести. как теперь интересно более посложней файл. не в прямой линии а рельеф прогнать.ukr-sasha писал(а):Через постпроцессор, вбиваете те же самые формулы.
тут нужно справочник доставать по математики. ладно. учитывая к4акие вещи решает данная машина что то должно быть проще чем такие пытки мозга
Re: Интересная реализация (Нетрадиционная ориентация в станк
вот в этом и состоит проблема. я уже его весь на куски укладываю, но ничего не возможно. макс. работа с готовым файлом.workaholic писал(а):если PCNC понимает тригонометрические функций то это не проблема.
вот тут я и не понял.
ладно. забили. буду лучше собирать весной как планировал с поворотной Z осью. этот космос мне не освоить
Re: Интересная реализация (Нетрадиционная ориентация в станк
Уважаемые коллеги! На досуге собрал что-то наподобие viewtopic.php?f=4&t=2908#p73818 ,
На данный момент пока не установил linuxcnc.
Убедительная просьба выложить рабочую формулу управления осями трипода под мач3 Хочется попробовать сие подобие в деле http://www.thingiverse.com/tag:delta_robot
На данный момент пока не установил linuxcnc.
Убедительная просьба выложить рабочую формулу управления осями трипода под мач3 Хочется попробовать сие подобие в деле http://www.thingiverse.com/tag:delta_robot
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Re: Интересная реализация (Нетрадиционная ориентация в станк
Весь справочник доставать не надо, там всего одна формула используется - "длина отрезка в пространстве", через нее все и решается для каждой оси.Pitsilver писал(а):да. понятно теперь с нулевой части на прямую как вывести. как теперь интересно более посложней файл. не в прямой линии а рельеф прогнать.ukr-sasha писал(а):Через постпроцессор, вбиваете те же самые формулы.
тут нужно справочник доставать по математики. ладно. учитывая к4акие вещи решает данная машина что то должно быть проще чем такие пытки мозга
В строку формул MACH или другой программы по каждой оси вбивается это: sqrt((x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)+(z-Zo)*(z-Zo)) где Xo Yo Zo начальные положения приводов относительно нуля. Выше есть пример для моей модели, еще раз благодарность ukr_sasha.
Можно и другими путями решать, но эта удобнее всего для расчетов.
А управляющая программа используется обычная, как для ортогональных осей.
Кто будет делать , предупреждаю сразу, - формулы действуют только при обработке управляющей программы.
Режим ручного управления этим формулам не подчиняется, например при попытке ручного перемщения по X, МАСН крутит только мотор Х, соответственно инструмент идет не так как надо.
Так же при управлении из окна MDI, задаешь команду например G1 X100, и МАСН опять крутит только движок Х, причем учитывает исходную длину троса X, а не положение инструмента.
Я с этим гемороем очень много времени потерял, пока разобрался.
Кстати, уже разобрался с 4-х нитевым подвесом и 4-х осевым управлением, получился неплохой кран-манипулятор для квадратного(прямоугольного) помещения. Недостаток - нужно 4 лебедки, компенсируется огромадным преимуществом - не нужны рельсы по стенам и сама кран-балка. При расположении лебедок по углам и достаточной высоте помещения достигается перекрытие помещения по площади примерно 80-85%
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Re: Интересная реализация (Нетрадиционная ориентация в станк
Благодарю за помошь!
Однако формула работает наверно только для подвеса. На моём "дельта параллельном роботе" она ведет себя странно. - вечером выложу видео.
Вот огрызок кода, писаного на фитоне, который управляет так называемыми "башнями" (TOWER) всего их конечно же 3.
Тут указываеться расстояние "диагональных пальцев", которые двигаються по башням, и по моему радиус, которыйописывают эти башни.
SIN_60 = math.sin(math.pi / 3)
COS_60 = 0.5RADIUS = 175 - 33 - 18 # Horizontal distance of diagonal rods when centered.
ZERO_OFFSET = -9 # Print surface is lower than bottom endstops.
TOWER_1 = Vector(-SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_2 = Vector(SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_3 = Vector(0, RADIUS, 0)
def delta(v): t1 = TOWER_1 - v t2 = TOWER_2 - v t3 = TOWER_3 - v
return Vector( v.z + math.sqrt(250*250 - t1.x*t1.x - t1.y*t1.y) + ZERO_OFFSET, v.z + math.sqrt(250*250 - t2.x*t2.x - t2.y*t2.y) + ZERO_OFFSET, v.z + math.sqrt(250*250 - t3.x*t3.x - t3.y*t3.y) + ZERO_OFFSET)
Кому ещё интересно поламать голову вместе со мной - буду благодарен за помощь.
Однако формула работает наверно только для подвеса. На моём "дельта параллельном роботе" она ведет себя странно. - вечером выложу видео.
Вот огрызок кода, писаного на фитоне, который управляет так называемыми "башнями" (TOWER) всего их конечно же 3.
Тут указываеться расстояние "диагональных пальцев", которые двигаються по башням, и по моему радиус, которыйописывают эти башни.
SIN_60 = math.sin(math.pi / 3)
COS_60 = 0.5RADIUS = 175 - 33 - 18 # Horizontal distance of diagonal rods when centered.
ZERO_OFFSET = -9 # Print surface is lower than bottom endstops.
TOWER_1 = Vector(-SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_2 = Vector(SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_3 = Vector(0, RADIUS, 0)
def delta(v): t1 = TOWER_1 - v t2 = TOWER_2 - v t3 = TOWER_3 - v
return Vector( v.z + math.sqrt(250*250 - t1.x*t1.x - t1.y*t1.y) + ZERO_OFFSET, v.z + math.sqrt(250*250 - t2.x*t2.x - t2.y*t2.y) + ZERO_OFFSET, v.z + math.sqrt(250*250 - t3.x*t3.x - t3.y*t3.y) + ZERO_OFFSET)
Кому ещё интересно поламать голову вместе со мной - буду благодарен за помощь.
Re: Интересная реализация (Нетрадиционная ориентация в станк
В чем странность проявляется?rost911 писал(а):ведет себя странно
Re: Интересная реализация (Нетрадиционная ориентация в станк
Не происходит плоско -параллельное перемещение. Например квадрат рисуеться выпуклый. Правильно работает только ось Z.
На нитках блочки закреплены статически, а тут они ездять по Z думаю в этом все дело. Точно так как тут: http://www.thingiverse.com/thing:17175
На нитках блочки закреплены статически, а тут они ездять по Z думаю в этом все дело. Точно так как тут: http://www.thingiverse.com/thing:17175
Re: Интересная реализация (Нетрадиционная ориентация в станк
В плане написать конвертер для G кода, подобный фитону, только на С++ в виде исполняемого приложения. Тогда можнобудет пользоваться любой УП.
Разберемся:
SIN_60 - угол расположения осей относительно друг друга.
RADIUS - горизонтальное расстояние диагональных ребер, когда все по центру окружности.
ZERO_OFFSET - смещение,пока пренебрегаем
теперь
TOWER_1 = Vector(-SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_2 = Vector(SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_3 = Vector(0, RADIUS, 0) - тут Vector значение, которое считает функция delta Вот и она:
def delta(v):
t1 = TOWER_1 - v
t2 = TOWER_2 - v
t3 = TOWER_3 - v
return Vector(v.z + math.sqrt(250*250 - t1.x*t1.x - t1.y*t1.y) + ZERO_OFFSET,
v.z + math.sqrt(250*250 - t2.x*t2.x - t2.y*t2.y) + ZERO_OFFSET,
v.z + math.sqrt(250*250 - t3.x*t3.x - t3.y*t3.y) + ZERO_OFFSET)
Получаеться
v - значение, которое глатает функция delta, а возвращает нам искомое значение.?
Разберемся:
SIN_60 - угол расположения осей относительно друг друга.
RADIUS - горизонтальное расстояние диагональных ребер, когда все по центру окружности.
ZERO_OFFSET - смещение,пока пренебрегаем
теперь
TOWER_1 = Vector(-SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_2 = Vector(SIN_60 * RADIUS, -COS_60*RADIUS, 0)
TOWER_3 = Vector(0, RADIUS, 0) - тут Vector значение, которое считает функция delta Вот и она:
def delta(v):
t1 = TOWER_1 - v
t2 = TOWER_2 - v
t3 = TOWER_3 - v
return Vector(v.z + math.sqrt(250*250 - t1.x*t1.x - t1.y*t1.y) + ZERO_OFFSET,
v.z + math.sqrt(250*250 - t2.x*t2.x - t2.y*t2.y) + ZERO_OFFSET,
v.z + math.sqrt(250*250 - t3.x*t3.x - t3.y*t3.y) + ZERO_OFFSET)
Получаеться
v - значение, которое глатает функция delta, а возвращает нам искомое значение.?
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Re: Интересная реализация (Нетрадиционная ориентация в станк
Не вижу смысла.rost911 писал(а):В плане написать конвертер для G кода, подобный фитону, только на С++ в виде исполняемого приложения. Тогда можнобудет пользоваться любой УП.
Задача стоит в том, чтобы написать формулу даже не полных координат, а только высоты точки, соединенной отрезком прямой(постоянной длины) с другой, заданной точкой в простанстве.
Нам известны: координаты точки A(xyz) задаваемой в программе, расположение башен в той же систеиме координат, то есть координаты X и Y для всех точек, расположенных вдоль оси башни.
Также известна длина рычагов.
Задача состоит в написании формулы вычисления "высоты" каждой башни, с вершиной которой соединяется рычаг. Сначала можно сделать как для нитей, соединенных в одной точке, потом можем измерить геометрию площадки с инструментом и учесть ее.
Формула вписывается в строки формул МАСН или другой программы и пусть работает.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Re: Интересная реализация (Нетрадиционная ориентация в станк
Вот что набросал, пока был на работе по этому поводу: http://cncfiles.su/photo/18583
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Re: Интересная реализация (Нетрадиционная ориентация в станк
Эта формула доказывает только равенство рычагов, это нам не надо, они и так изготавливаются равными, и длины их при работе не меняются.rost911 писал(а):Вот что набросал, пока был на работе по этому поводу: http://cncfiles.su/photo/18583
Зная длину рычага и размеры площадки крепления фрезера, тебе нужно из этой же формулы вывести координаты z1, z2 и z3 для задаваемых в программе X0, Y0 и Z0.
Координаты x1, y1, x2, y2, x3, y3, и длина рычагов остаются постоянными и их можно сразу внести в формулу,
Mожно сразу учесть размер площадки и вычислить координаты x01, y01, x02, y02, x03, y03, относительно центра площадки, т.е. координат X0 Y0, это тоже всегда постоянная величина и ее можно сразу вводить в формулу.
Высота Z0 относительно высоты центра площадки (поправка на длину инструмента) просто добавляется к одновременно к z1, z2 и z3.
Давай приведем все в один вид:
Моделька станка понравилась.....
Не в тему:
A Street Dance вызвал добрую зависть...
Тут просыпаешся и радуешся, что где-то что-то болит... Значит еще живой
Тут просыпаешся и радуешся, что где-то что-то болит... Значит еще живой
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- Станкостроитель
- Сообщения: 135
- Зарегистрирован: 17 ноя 2012, 17:25
- Имя: Иван
- Откуда: Менделеево
Re: Интересная реализация (Нетрадиционная ориентация в станк
Я может чего не понимаю, но конвертором g-кода получится обработать УП только если зависимость координат от положений моторов линейная. Ведь Mach будет двигаться между вершинами уп по прямой, а будет ли это прямой после механики станка?.. нет! Плюс к этому еще придется учесть изменение скорости движения.rost911 писал(а):Не происходит плоско -параллельное перемещение. Например квадрат рисуеться выпуклый. Правильно работает только ось Z.
Так что формулы в Mach - это единственно правильное решение.
Re: Интересная реализация (Нетрадиционная ориентация в станк
Всем большое спасибо за изложениы и разжованые труды - лед тронулся. "Сексапод" заработал
Однако хочу признаться что второй такой или ,скажем "профессиональный" не взялся бы изготавливать. После классики - это кажеться "фантазмагорией".
Малейшие погрешности в длинах, размерах, углах, люфтах которые присутствуют в 12-ти карданчиках и 6-ти направляющих...и тд.....накапливаються в кучу этой Киндза-зы.
Хотя для, например Рип-Рап робота наверно сгодиься, + высота оси Z около 600мм!
Мда.. есть над чем подумать
Однако хочу признаться что второй такой или ,скажем "профессиональный" не взялся бы изготавливать. После классики - это кажеться "фантазмагорией".
Малейшие погрешности в длинах, размерах, углах, люфтах которые присутствуют в 12-ти карданчиках и 6-ти направляющих...и тд.....накапливаються в кучу этой Киндза-зы.
Хотя для, например Рип-Рап робота наверно сгодиься, + высота оси Z около 600мм!
Мда.. есть над чем подумать
Re: Интересная реализация (Нетрадиционная ориентация в станк
С какими формулами?rost911 писал(а):заработал
Re: Интересная реализация (Нетрадиционная ориентация в станк
480-sqrt((-360-x)^2+(-305-y)^2+(600-z)^2)
Видать дело было в неправильно заданых размерах.
Ищё раз огромное ВСЕМ спасибо!
Видать дело было в неправильно заданых размерах.
Ищё раз огромное ВСЕМ спасибо!
Re: Интересная реализация (Нетрадиционная ориентация в станк
Поздравляю.
Осталось только заснять, как станок отрабатывает траекторию, рисует например что то.
Осталось только заснять, как станок отрабатывает траекторию, рисует например что то.
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Re: Интересная реализация (Нетрадиционная ориентация в станк
Формулу не понял, вернее не знаю, что за цифры там стоят.
Для своих "веревок", управляемых такими же башнями, и имеющими одну точку подвеса груза, написал вот эту формулу для каждого движка:
=Zo+h+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
L-длина рычага, в моем случае веревка постоянной длины, x и y - координаты башни в декартовой системе. h- расстояние от точки подвеса до стола.
Проверьте, не ошибся ли.
Чтоб поняли откуда взял формулу, коротко поясню:
Как сказал раньше, нам нужно знать высоту
точки крепления веревки на башне - Z
Известны координаты x y башен, длина веревки L,
текущие координаты других концов веревок Xo, Yo, Zo
Есть формула(уравнение) определения длины веревки
по координатам ее концов.
L=sqrt(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)+(z-Zo)*(z-Zo)
Делаем ряд преобразований уравнения:
L*L=(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)+(z-Zo)*(z-Zo)
или
(z-Zo)*(z-Zo)=(L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)
или
z-Zo=sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
или
z=Zo+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
т.е. определили высоты башен, при которых концы
веревок сходятся в точке Xo, Yo, Zo
Делаем поправку на высоту груза:
z=Zo+h+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
Все, вписываем правую часть формулы в строки формул МАСН.
Для своих "веревок", управляемых такими же башнями, и имеющими одну точку подвеса груза, написал вот эту формулу для каждого движка:
=Zo+h+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
L-длина рычага, в моем случае веревка постоянной длины, x и y - координаты башни в декартовой системе. h- расстояние от точки подвеса до стола.
Проверьте, не ошибся ли.
Чтоб поняли откуда взял формулу, коротко поясню:
Как сказал раньше, нам нужно знать высоту
точки крепления веревки на башне - Z
Известны координаты x y башен, длина веревки L,
текущие координаты других концов веревок Xo, Yo, Zo
Есть формула(уравнение) определения длины веревки
по координатам ее концов.
L=sqrt(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)+(z-Zo)*(z-Zo)
Делаем ряд преобразований уравнения:
L*L=(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)+(z-Zo)*(z-Zo)
или
(z-Zo)*(z-Zo)=(L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo)
или
z-Zo=sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
или
z=Zo+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
т.е. определили высоты башен, при которых концы
веревок сходятся в точке Xo, Yo, Zo
Делаем поправку на высоту груза:
z=Zo+h+sqrt((L*L)-(x-Xo)*(x-Xo)+(y-Yo)*(y-Yo))
Все, вписываем правую часть формулы в строки формул МАСН.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- Станкостроитель
- Сообщения: 135
- Зарегистрирован: 17 ноя 2012, 17:25
- Имя: Иван
- Откуда: Менделеево
Re: Интересная реализация (Нетрадиционная ориентация в станк
Так у вас одна и та же формула, просто у rost911, частный случай при его коэффициентах, а у Trudogolik - общий случай.
Вариант rost911, конечно, неприменим к другим станкам, и понять, как он пришел к этой формуле почти невозможно, не зная всех исходных данных.
Вариант rost911, конечно, неприменим к другим станкам, и понять, как он пришел к этой формуле почти невозможно, не зная всех исходных данных.