Помогите с ротационными координатами манипулятора scara

7Line

Здравствуйте!
Имеется манипулятор с 3мя двигателями:
X расположена по центру, на ней закреплено плечо 200 мм, на конце которого закреплено еще одно плечо 200м с двигателем, с координатой Y соответственно. А на конце этого плеча стоит ШВП (Шариковая винтовая передача) такж де с двигателем, которая поднимает/опускает инструмент. X и Y двигаются по окружностям 200мм строго горизонтально, Z вертикально верх/вниз.
Вот фото, но тут ШВП не подсоединена.

На данный момент собрано все:

  • на все 3 оси закреплены датчики (Home)
  • блок управления в корпусе (3 драйвера, БП, плата гальванич. развязки, разьемы)

  • управление по LPT порту ПО Mach3

Все работает, начальное положение по датчикам Home находит. Ручное и упправление по G-кодам отлично работает.

Но несколько важных вопросов так и не могу решить:

  1. т.к. оси X и Y двигаются по окружности, то их перемещения не линейные. Как вообще настроить, чтобы программа понимала, что это не линейные перемещения, а ротационные. И соответственно как настроить в таком случае конфигурацию “motor tuning”?
  2. В векторе нарисовал картинку небольшую, перевел в LazyCam, создал G-код, запустил на Mach3. В программе в обзорном окне эта картинка появилась, все как надо, не криво. После запуска судя по программе координаты все правильно вырисовывают, но манипулятор лишь “черкает кривые”. Я подозреваю, что он так же перемещается в соответствии с линейными перемещениями, а не ротационными. Как быть?
  3. Как обозначить габариты манипулятора программе, что бы он понимал зону своей работы?

Очень жду ответа! Спасибо за внимание!

Марат
7Line:

Как вообще настроить, чтобы программа понимала, что это не линейные перемещения, а ротационные

Ну наверно нужно оси как вращающиеся оси А и B представить. В мотортюнинге указать на сколько градусов повернятся ось за один оборот ШД

Но вот как программа будет учитывать ваши плечи - вопрос интересный!!! Тут нужно постпроцессор под ваш станок делать.

7Line
Марат:

Ну наверно нужно оси как вращающиеся оси А и B представить. В мотортюнинге указать на сколько градусов повернятся ось за один оборот ШД

Но вот как программа будет учитывать ваши плечи - вопрос интересный!!! Тут нужно постпроцессор под ваш станок делать.

Спасибо за ответ. Я вроде как привязал оси X и Y к вращательным A и B соответственно во вкладке Slave axis options. Разницы не ощутил, может она и есть, но проверить не знаю как. Видимо дело в постпроцессоре, я думаю в нем должно быть указано, что оси ротационные. Ведь Mach3 всего лишь выполняет код. В связи с этим вопрос - кто знает какой пост процессор работает с вращательными осями? (на ограничения плеч пока закроем глаза) В LazyCam я в настройках ничего такого не нашел.
На счет ограничения плеч - я думаю можно просто выставить soft limits, и соответственно дальше этих координат программа работать не будет =)

Марат
7Line:

кто знает какой пост процессор работает с вращательными осями?

Тут надо не привязывать, а именно вращающиеся оси использовать.
Сам МАЧ поддерживает вращающиеся оси, но проблема в том что они у вас связаны да ещё и через плечо… т.е тут нужен постпроцессор, который учитывает этот нюанс и описывает траектории движения осей. Или нужен специальный софт, который умеет просчитывать траектории движения взаимозависимых осей.

fly55

Либо писать постпроцессор непосредственно под ваш станок, либо попробовать linuxcnc создать свою конфигурацию станка.
В маче вроде есть какой то пункт про формулы для осей - но я его никогда не использовал.

7Line
fly55:

Либо писать постпроцессор непосредственно под ваш станок, либо попробовать linuxcnc создать свою конфигурацию станка.
В маче вроде есть какой то пункт про формулы для осей - но я его никогда не использовал.

Спасибо за наводку. Прописал в формулы - все работает теперь =)
Вот первый раз нарисовал, прикрепил к оси фломастер)))))

тут конечно вспомогательные линии (не поднимая ось рисовал) + кривовато, но эт надо настроить конфигурацию двиганов=) но хоть уже прогресс =)
С ограничителями - воспользовался “программными лимитами” и ограничил координаты - прекрасно работает.
Осталосьнастроить точность перемещения.
У меня двиг:
200 шагов на оборот
дробление 1/16
1 полный шаг (или 16 дробленых) = 1,8 градуса поворота
получается в настройке надо писать число импульсов на 1 градус - у меня и получилось 8.888 импульсов
программа это не воспринимает (и с округлением и без) , движения нет… как настроить тогда?
пользуюсь ангулярными осями А и В

Марат:

Тут надо не привязывать, а именно вращающиеся оси использовать.
Сам МАЧ поддерживает вращающиеся оси, но проблема в том что они у вас связаны да ещё и через плечо… т.е тут нужен постпроцессор, который учитывает этот нюанс и описывает траектории движения осей. Или нужен специальный софт, который умеет просчитывать траектории движения взаимозависимых осей.

В мач3 в формулах прописал зависимости. чисто случайно наткнулся, решил попробовать =) в итоге норм заработало=)