Тангенциальный нож

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
vvpolyakov
Кандидат
Сообщения: 58
Зарегистрирован: 15 окт 2014, 12:43
Репутация: 0
Настоящее имя: Владимир
Контактная информация:

Re: Тангенциальный нож

Сообщение vvpolyakov »

Сегодня поигрался с программкой atan2 из вышеупомянутой темы, вот возник вопрос, а можно ли заставить подниматься нож при резкой смене направления?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Тангенциальный нож

Сообщение NightV »

можно..
насчет авотара... злобный пингвин у нас уже есть, который на фоне леса :hehehe:
Всё просто! если знаешь КАК!
Аватара пользователя
vvpolyakov
Кандидат
Сообщения: 58
Зарегистрирован: 15 окт 2014, 12:43
Репутация: 0
Настоящее имя: Владимир
Контактная информация:

Re: Тангенциальный нож

Сообщение vvpolyakov »

=))
ок, а как? =))
хотя бы примерно, что нужно сделать что бы заставить программу остановиться и поднять Z
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Тангенциальный нож

Сообщение NightV »

vvpolyakov писал(а):хотя бы примерно,
врать не буду, не знаю, НО в чем прелесть LCNC в связке с Gcodetools это в гибкости, настроить можно как угодно.
года 3 назад мы с Nick под меня Gcodetools кроили, востанавливал хитрый станок гравировки по стеклу, были несколько проблем работы с поворотной головой, ниче.. сделали, досих пор работает :) только мы сделали все через Gcode, недоезды, переезды, отскоки от стекла на острых углах и тд и тп
если nkp, Nick и UAVpilot подтянутся сюда, уверен решат твою проблему :)
Всё просто! если знаешь КАК!
Аватара пользователя
vvpolyakov
Кандидат
Сообщения: 58
Зарегистрирован: 15 окт 2014, 12:43
Репутация: 0
Настоящее имя: Владимир
Контактная информация:

Re: Тангенциальный нож

Сообщение vvpolyakov »

для работы с gcodetools нужны нервы более крепкие =)))
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Тангенциальный нож

Сообщение nkp »

vvpolyakov писал(а):а можно ли заставить подниматься нож при резкой смене направления?
несколько мыслей и вопросов :
если смотреть на задачу в разрезе кинематики (или atan2) - то наверно можно получить подъем только уже в начале движения "условно назад"...
----------
то есть - сперва "едем назад" - потом "поворачиваем нож",
хотя происходить это будет практически одновременно...
преимущество подобного решения в том , что нет необходимости задавать в жкоде параметры поворотной оси...
добавляется задача повернуть и опустить нож после поднятия - это же тоже по
идее должно предшествовать началу движения по XY...
--------------
если момент поднятия должен быть строго перед поворотом инструмента - то скорей всего нужно из жкода напрямую давать такую команду...
Nick пишет, что GT это умеет
кстати - Nick , как это там работает? правильно ли я думаю:
поднимая нож командой жкода , необходимо и поворачивать , и опускать его уже жкодом ...
так команда для поворотной оси уже берется не из векторов X,Y ??
то есть в этом случае GT выдает код для XYZA trivial кинематики??
----------
для полного понимания вопроса:
какой цифрой можно выразить "резкой смене направления" ??
==============
ну и наверно можно написать фильтр для емс , который будет прогонять код и добавлять подъемы...
gendos
Мастер
Сообщения: 1114
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 79
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Тангенциальный нож

Сообщение gendos »

Мне кажется удобно если было бы как в mach3, он делает все сам.
Вложения
рисунок.GIF (4997 просмотров) <a class='original' href='./download/file.php?id=50461&sid=3bd06ada27d8fbd43f833d2e4a1af4cd&mode=view' target=_blank>Загрузить оригинал (124.63 КБ)</a>
Аватара пользователя
vvpolyakov
Кандидат
Сообщения: 58
Зарегистрирован: 15 окт 2014, 12:43
Репутация: 0
Настоящее имя: Владимир
Контактная информация:

Re: Тангенциальный нож

Сообщение vvpolyakov »

микронная точность не нужна, так что вполне можно сделать шаг в резком направлении (что бы посчитать тангенс по скорости) прежде чем начать поднимать Z
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Тангенциальный нож

Сообщение Nick »

Вариант:
Добавляем near. Ему на вход текущее значение atan2, и текущее положение оси.
Если near не срабатывает, то (near.out=>not.in=>not.out) => motion.feed-hold + схемка на Classic ladder. (хотя feed-hold наверное тоже лучше в ladder завернуть)
Схема на ladder будет:
1. поднимать нож - stepgen.2.pos-cmd (добавляем нужное значение (скорее всего через add2))
2. доворачивать нож
3. опускать нож
4. снимать feed-hold.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Тангенциальный нож

Сообщение nkp »

Nick писал(а):Вариант:
хороший вариант :good:
но (даже с учетом того - что может вопрошающему это и подходит) мне бы
хотелось подумать над решением - которое не поворачивало бы инструмент не подняв его...
нельзя ли все таки задействовать кинематику,вычисляя угол поворота ,и если он превышает установленый предел ,
то активировать пин , который потом коммутировать с feed-hold ...
а потом уже - подъем ,поворот , опускание , и продолжаем... :thinking:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Тангенциальный нож

Сообщение Nick »

Самая большая проблема - c G64. Узнаем мы о том, что нам надо поворачивать не сразу и при этом можем иметь текущую не нулевую скорость.
Если работать на G61 - то все просто. Узнаем о повороте прямо перед стартом осей, сразу включаем feed-hold и никуда не едем.


В описанном выше примере, нож будет поворачиваться только в поднятом состоянии, при превышении предела. И feed-hold будет включаться сразу.

Зачем нам для этого кинематика?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Тангенциальный нож

Сообщение nkp »

Nick писал(а):Зачем нам для этого кинематика?
это я напутал - atan2 с tangentkins...
============================================
не будет ли выскакивать ошибка следования
после "насильственного" поворота оси :thinking:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Тангенциальный нож

Сообщение Nick »

nkp писал(а):не будет ли выскакивать ошибка следования
после "насильственного" поворота оси
в atan2 поворотная ось не контроллируется кинематикой. ;)
остальные оси будем двигать в feed-hold незаметно от кинематики - т.е. просто добавляем непосредкственно к stepgen.X.pos-cmd и вычитая из обратной связи.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Тангенциальный нож

Сообщение nkp »

Nick писал(а):остальные оси будем двигать в feed-hold незаметно от кинематики - т.е. просто добавляем непосредкственно к stepgen.X.pos-cmd и вычитая из обратной связи.
z ось тоже можно "не показывать" планировщику - она ведь не будет управляться жкодом...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Тангенциальный нож

Сообщение Nick »

nkp писал(а): она ведь не будет управляться жкодом...
будет - холостые переезды.
Аватара пользователя
vvpolyakov
Кандидат
Сообщения: 58
Зарегистрирован: 15 окт 2014, 12:43
Репутация: 0
Настоящее имя: Владимир
Контактная информация:

Re: Тангенциальный нож

Сообщение vvpolyakov »

такс... из всего понял только то как включить motion.feed-hold =)
а вот как поднять, потом повернуть, потом опустить и потом отключить motion.feed-hold?
это же где-то отдельно от atan2 надо программировать? )
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Тангенциальный нож

Сообщение Serg »

По хорошему надо копать в сторону нового планировщика - он-то знает куда скоро поедем...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Тангенциальный нож

Сообщение Nick »

vvpolyakov писал(а):а вот как поднять, потом повернуть, потом опустить и потом отключить motion.feed-hold?
это же где-то отдельно от atan2 надо программировать? )
Classic ladder :)

Примерно вот так:
на %I0 подаем превышение предела разницы текущего положения и значения atan2.
После этого %Q0 выставляется в 1. Q0 заводим на feed-hold.
Также при растущем фронте I0 отключаем Q1 (это не нарисовал), который заведем на блокировку вращения ножа (например на stepgen.N.enable).
Q0 также заводим на mux2, который добавит к команде привода по Z нужное значение.
Q0 через таймер заводим на включение Q1 - которое разблокирует поворот ножа.

И в самом низу добавляем I1 - вход near который будет определять, что мы довернули нож = он сбрасывает Q0 и Q1.
classic ladder.png (4909 просмотров) <a class='original' href='./download/file.php?id=50551&sid=3bd06ada27d8fbd43f833d2e4a1af4cd&mode=view' target=_blank>Загрузить оригинал (179.71 КБ)</a>
Мда..... косяков по схеме много... работать она (без исправлений) скорее всего не будет, но общий принцип надеюсь понятен :freak:.
UAVpilot писал(а):По хорошему надо копать в сторону нового планировщика - он-то знает куда скоро поедем...
О том, что нам надо резко поворачивать, мы узнаем за 1 серво цикл до перемещения, может этого хватит?
Tiberius
Новичок
Сообщения: 11
Зарегистрирован: 13 авг 2010, 18:44
Репутация: 0
Контактная информация:

Re: Тангенциальный нож

Сообщение Tiberius »

Жаль, что тема умерла без решения!
AAN
Мастер
Сообщения: 284
Зарегистрирован: 14 апр 2015, 10:28
Репутация: 35
Настоящее имя: Антон
Откуда: Томск
Контактная информация:

Re: Тангенциальный нож

Сообщение AAN »

Я в свое время для такой же задачи изучил Python и написал постпроцессор, который добавлял ось C в готовый G-код.
Ответить

Вернуться в «LinuxCNC»