Тангенциальный нож
- vvpolyakov
- Кандидат
- Сообщения: 58
- Зарегистрирован: 15 окт 2014, 12:43
- Репутация: 0
- Настоящее имя: Владимир
- Контактная информация:
Re: Тангенциальный нож
Сегодня поигрался с программкой atan2 из вышеупомянутой темы, вот возник вопрос, а можно ли заставить подниматься нож при резкой смене направления?
- NightV
- Почётный участник
- Сообщения: 6599
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Тангенциальный нож
можно..
насчет авотара... злобный пингвин у нас уже есть, который на фоне леса
насчет авотара... злобный пингвин у нас уже есть, который на фоне леса
Всё просто! если знаешь КАК!
- vvpolyakov
- Кандидат
- Сообщения: 58
- Зарегистрирован: 15 окт 2014, 12:43
- Репутация: 0
- Настоящее имя: Владимир
- Контактная информация:
Re: Тангенциальный нож
=))
ок, а как? =))
хотя бы примерно, что нужно сделать что бы заставить программу остановиться и поднять Z
ок, а как? =))
хотя бы примерно, что нужно сделать что бы заставить программу остановиться и поднять Z
- NightV
- Почётный участник
- Сообщения: 6599
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Тангенциальный нож
врать не буду, не знаю, НО в чем прелесть LCNC в связке с Gcodetools это в гибкости, настроить можно как угодно.vvpolyakov писал(а):хотя бы примерно,
года 3 назад мы с Nick под меня Gcodetools кроили, востанавливал хитрый станок гравировки по стеклу, были несколько проблем работы с поворотной головой, ниче.. сделали, досих пор работает только мы сделали все через Gcode, недоезды, переезды, отскоки от стекла на острых углах и тд и тп
если nkp, Nick и UAVpilot подтянутся сюда, уверен решат твою проблему
Всё просто! если знаешь КАК!
- vvpolyakov
- Кандидат
- Сообщения: 58
- Зарегистрирован: 15 окт 2014, 12:43
- Репутация: 0
- Настоящее имя: Владимир
- Контактная информация:
Re: Тангенциальный нож
для работы с gcodetools нужны нервы более крепкие =)))
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Тангенциальный нож
несколько мыслей и вопросов :vvpolyakov писал(а):а можно ли заставить подниматься нож при резкой смене направления?
если смотреть на задачу в разрезе кинематики (или atan2) - то наверно можно получить подъем только уже в начале движения "условно назад"...
----------
то есть - сперва "едем назад" - потом "поворачиваем нож",
хотя происходить это будет практически одновременно...
преимущество подобного решения в том , что нет необходимости задавать в жкоде параметры поворотной оси...
добавляется задача повернуть и опустить нож после поднятия - это же тоже по
идее должно предшествовать началу движения по XY...
--------------
если момент поднятия должен быть строго перед поворотом инструмента - то скорей всего нужно из жкода напрямую давать такую команду...
Nick пишет, что GT это умеет
кстати - Nick , как это там работает? правильно ли я думаю:
поднимая нож командой жкода , необходимо и поворачивать , и опускать его уже жкодом ...
так команда для поворотной оси уже берется не из векторов X,Y ??
то есть в этом случае GT выдает код для XYZA trivial кинематики??
----------
для полного понимания вопроса:
какой цифрой можно выразить "резкой смене направления" ??
==============
ну и наверно можно написать фильтр для емс , который будет прогонять код и добавлять подъемы...
- vvpolyakov
- Кандидат
- Сообщения: 58
- Зарегистрирован: 15 окт 2014, 12:43
- Репутация: 0
- Настоящее имя: Владимир
- Контактная информация:
Re: Тангенциальный нож
микронная точность не нужна, так что вполне можно сделать шаг в резком направлении (что бы посчитать тангенс по скорости) прежде чем начать поднимать Z
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Тангенциальный нож
Вариант:
Добавляем 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.
Добавляем 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.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Тангенциальный нож
хороший вариантNick писал(а):Вариант:
но (даже с учетом того - что может вопрошающему это и подходит) мне бы
хотелось подумать над решением - которое не поворачивало бы инструмент не подняв его...
нельзя ли все таки задействовать кинематику,вычисляя угол поворота ,и если он превышает установленый предел ,
то активировать пин , который потом коммутировать с feed-hold ...
а потом уже - подъем ,поворот , опускание , и продолжаем...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Тангенциальный нож
Самая большая проблема - c G64. Узнаем мы о том, что нам надо поворачивать не сразу и при этом можем иметь текущую не нулевую скорость.
Если работать на G61 - то все просто. Узнаем о повороте прямо перед стартом осей, сразу включаем feed-hold и никуда не едем.
В описанном выше примере, нож будет поворачиваться только в поднятом состоянии, при превышении предела. И feed-hold будет включаться сразу.
Зачем нам для этого кинематика?
Если работать на G61 - то все просто. Узнаем о повороте прямо перед стартом осей, сразу включаем feed-hold и никуда не едем.
В описанном выше примере, нож будет поворачиваться только в поднятом состоянии, при превышении предела. И feed-hold будет включаться сразу.
Зачем нам для этого кинематика?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Тангенциальный нож
это я напутал - atan2 с tangentkins...Nick писал(а):Зачем нам для этого кинематика?
============================================
не будет ли выскакивать ошибка следования
после "насильственного" поворота оси
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Тангенциальный нож
в atan2 поворотная ось не контроллируется кинематикой.nkp писал(а):не будет ли выскакивать ошибка следования
после "насильственного" поворота оси
остальные оси будем двигать в feed-hold незаметно от кинематики - т.е. просто добавляем непосредкственно к stepgen.X.pos-cmd и вычитая из обратной связи.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Тангенциальный нож
z ось тоже можно "не показывать" планировщику - она ведь не будет управляться жкодом...Nick писал(а):остальные оси будем двигать в feed-hold незаметно от кинематики - т.е. просто добавляем непосредкственно к stepgen.X.pos-cmd и вычитая из обратной связи.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Тангенциальный нож
будет - холостые переезды.nkp писал(а): она ведь не будет управляться жкодом...
- vvpolyakov
- Кандидат
- Сообщения: 58
- Зарегистрирован: 15 окт 2014, 12:43
- Репутация: 0
- Настоящее имя: Владимир
- Контактная информация:
Re: Тангенциальный нож
такс... из всего понял только то как включить motion.feed-hold =)
а вот как поднять, потом повернуть, потом опустить и потом отключить motion.feed-hold?
это же где-то отдельно от atan2 надо программировать? )
а вот как поднять, потом повернуть, потом опустить и потом отключить motion.feed-hold?
это же где-то отдельно от atan2 надо программировать? )
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тангенциальный нож
По хорошему надо копать в сторону нового планировщика - он-то знает куда скоро поедем...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Тангенциальный нож
Classic laddervvpolyakov писал(а):а вот как поднять, потом повернуть, потом опустить и потом отключить motion.feed-hold?
это же где-то отдельно от atan2 надо программировать? )
Примерно вот так:
на %I0 подаем превышение предела разницы текущего положения и значения atan2.
После этого %Q0 выставляется в 1. Q0 заводим на feed-hold.
Также при растущем фронте I0 отключаем Q1 (это не нарисовал), который заведем на блокировку вращения ножа (например на stepgen.N.enable).
Q0 также заводим на mux2, который добавит к команде привода по Z нужное значение.
Q0 через таймер заводим на включение Q1 - которое разблокирует поворот ножа.
И в самом низу добавляем I1 - вход near который будет определять, что мы довернули нож = он сбрасывает Q0 и Q1. Мда..... косяков по схеме много... работать она (без исправлений) скорее всего не будет, но общий принцип надеюсь понятен .
О том, что нам надо резко поворачивать, мы узнаем за 1 серво цикл до перемещения, может этого хватит?UAVpilot писал(а):По хорошему надо копать в сторону нового планировщика - он-то знает куда скоро поедем...
-
- Новичок
- Сообщения: 11
- Зарегистрирован: 13 авг 2010, 18:44
- Репутация: 0
- Контактная информация:
Re: Тангенциальный нож
Жаль, что тема умерла без решения!
-
- Мастер
- Сообщения: 298
- Зарегистрирован: 14 апр 2015, 10:28
- Репутация: 38
- Настоящее имя: Антон
- Откуда: Томск
- Контактная информация:
Re: Тангенциальный нож
Я в свое время для такой же задачи изучил Python и написал постпроцессор, который добавлял ось C в готовый G-код.