Добро пожаловать на Форум по станкам с ЧПУ!

Настройка скоростей joints / world

Тема в разделе "Программы исполняющие G-код", создана пользователем PRO59, 14 окт 2017.

  1. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Для тривиальной кинематики все более-менее понятно Скорость оси = скорость перемещения вдоль оси = скорсть joint.
    Но вот с нетривиальной кинематикой, не совсем понятно... В какая скорость указывается в ini в разделах axis и traj, откуда беруться ускорения для режимов world и joint?
    И как все это правильно настроить?

    Сказать по правде я тупо ставил большие значения на угад. Как мне показалось, что если поставить маленикие max_velocity для осей (скажем в моем случае это было 720 градусов в секунду), то потом станок не будет ездить на больших скоростях. Нормальные скорости получались при значениях 10 000...
     
  2. Karpachev Artem

    Karpachev Artem Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    3.478
    Симпатии:
    0
    оно вообще не различает поворотные оси, кажется.
    точно не помню, я для параллельных ставлю joints_axes, там это чуть лучше сделано.
     
  3. Arhi

    Arhi Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    10.435
    Симпатии:
    0
    Для world скорости и ускорения ограничиваются в TRAJ.
    Причем если там не указать ускорение, то оси будут стартовать и тормозить с максимальным.
     
  4. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Не знаешь, планируется его в основную ветку запихать или нет?
     
  5. Karpachev Artem

    Karpachev Artem Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    3.478
    Симпатии:
    0
    Пока не планируется. А вот в форке machinekit - возможно )
     
  6. Aleks1966

    Aleks1966 Member

    Регистрация:
    13 апр 2012
    Сообщения:
    259
    Симпатии:
    0
    Как при использовании не тривиальной кинематики задать soft limits не в системе world а для каждого joint?
    При использовании не стандартной кинематики, при ручном перемещени linuxcnc выводит только предупреждение что сработал soft limits и продолжает двигать оси дальше.
     
  7. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Хороший вопрос. :) Т.е. получается в ini в разделах [AXIS] задаются лимиты для World, а не для joint?
    А какая используется кинематика?
     
  8. Aleks1966

    Aleks1966 Member

    Регистрация:
    13 апр 2012
    Сообщения:
    259
    Симпатии:
    0
    кинематика 5-и осевая с поворотной головой
     
  9. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Можно попробовать их ограничивать через HAL... провести все команды осям через limit, и вставить туда пределы.
     
  10. Karpachev Artem

    Karpachev Artem Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    3.478
    Симпатии:
    0
    Именно.
     
  11. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Т.е. AXIS_0 - это X, 1-Y и т.д.?
    И скорости тоже для world?
     
  12. Karpachev Artem

    Karpachev Artem Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    3.478
    Симпатии:
    0
    Да. А по скоростям не скажу, скорее нет. Точно помню, что часть параметров относится к осям, а часть - к приводам.
     
  13. Vlad76

    Vlad76 Active Member

    Регистрация:
    25 апр 2012
    Сообщения:
    6.371
    Симпатии:
    0
    если лимит всё таки отслеживается (вывод предупреждения ) - то можно это использовать для блокировки движения ...
    конечно - это уже не на уровне пользователя...

    зы
    разрабам было это несложно прикрутить , интересно - почему не доделали :confused:
     
  14. Arhi

    Arhi Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    10.435
    Симпатии:
    0
    Режимы joints / world вообще плохо проработаны, такое ощущение что "навесили" это много позже...
    В axis_joints сделана попытка в правильном направлении, но, к сожалению, только самая поверхностная. По хорошему надо весь motmod переделать с четким разделением joints и axis и только в "самом конце" делать привязку joint<->axis.
    Или, как вариант, оставить там именно axis (и выкинуть оттуда всякую фигню типа процедур хомления и т.п.), а joints реализовать в виде отдельного HAL-компонента, который будет получать команды от axis и управлять моторами.