ПО двушпиндельного (многошпиндельного) фрезера

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Ещё немного вводных:

LPT - 12 выходов и 4 входа. Значит мы можем подключить шаговики: X, Y1, Y2, Z1, Z2 - 10 выходов. ESTOP, X-home, Y1+Y2home, Z1+Z2-home и всё...

И выход в HOME можно минимизировать по времени так: выходим по Z1, затем вместе в Y1 + Z2, затем Y2+X.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Ворон226 писал(а):А не запутаешься потом? Где у кого плюсы-минусы?
Так у тебя ж названия осей разные будут...
Ворон226 писал(а):LPT - 12 выходов и 4 входа.
Мне было-бы стыдно управлять таким станком через LPT. ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Стыдно - это когда не знаешь, но делаешь вид, что знаешь.

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

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Ну всегда можно поставить доп порт.

ИМХО управление на уровне команд положения будет более универсальным и простым. Да и отслеживать расстояние между шпинделями проще...
Как ты планируешь перекидывать сигналы? через unlinkp и net?
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Nick писал(а):Как ты планируешь перекидывать сигналы? через unlinkp и net?
Если про переключение STEP и DIR, то используя кнопку визуальной панели и компоненты HAL AND, NOT, OR прям на пинах parport.0.pin-NN-out
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Nick »

Появится хорошая вероятность впилиться башкой в конец оси - как только мы переключаем управление, мы не будем точно знать, где сейчас реально находится башка...
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение vovafed »

у меня получилось что оси A B C по умолчанию привязаны по скорости к поворотным
и не работает G 64, при любых параметрах работает как G61
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Nick писал(а):Появится хорошая вероятность впилиться башкой в конец оси - как только мы переключаем управление, мы не будем точно знать, где сейчас реально находится башка...
Если у моего станка реальная рабочая зона 1000мм, то в режиме двушпиндельного (как минимум) делю пополам. И никуда не впилится... Плюс к тому - датчики крайних положений.
Хочешь быть счастливым? Будь им!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение tooshka »

Ворон226 писал(а):Если у моего станка реальная рабочая зона 1000мм, то в режиме двушпиндельного (как минимум) делю пополам. И никуда не впилится... Плюс к тому - датчики крайних положений.
Я бы посоветовал на ось У прицепить магнитную линейку, а на головы датчики положения, это надежнее будет и не очень дорого.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Так придется все равно каким-то образом контролировать взаимное положение. Разве это реализовано в LCNC? А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений. Ведь подготовка к фрезеровке все равно в ручном режиме. А уже в синхронном режиме головы принципиально не смогут поехать навстречу.

ИМХО нужно найти оптимальное соотношение автоматизации и простоты. Ищу...
Хочешь быть счастливым? Будь им!
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение tooshka »

Ворон226 писал(а):Так придется все равно каким-то образом контролировать взаимное положение. Разве это реализовано в LCNC? А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений. Ведь подготовка к фрезеровке все равно в ручном режиме. А уже в синхронном режиме головы принципиально не смогут поехать навстречу.
Через МЕСУ завести такие датчики наверно не сложно?
Мне вообще не очень понятно зачем бошки разделять? Ось Z тут понятно (опять же можно механически выставлять длинну инструмента). Все равно головы будут резать одно и тоже, просто механически сделать возможным регулировку расстояния между головами?
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Ворон226 писал(а):А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений.
Нельзя. Наезд на любой из этих датчиков - это авария и прекращение программы. А конечная цель как правило - это готовая деталь. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

UAVpilot писал(а):
Ворон226 писал(а):А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений.
Нельзя. Наезд на любой из этих датчиков - это авария и прекращение программы. А конечная цель как правило - это готовая деталь. :)
Давай ещё раз пройдем по пунктам:
1. При автоматической резки двух деталей двумя головками вероятность столкновения головок стремится к нулю.
2. При автоматической резки двух деталей двумя головками вероятность выхода из рабочей зоны можно также свести к нулю, если разбивать рабочую зону на равные две части, которые прописать в INI, например. (потому и был вопрос как переобозначать предел по Y через визуальную панель).
3. Остается вполне себе реальная опасность столкнуться шпинделями или вылететь за пределы рабочей зоны станка в ручном режиме. В этом случае можно ставить датчики, по которым не отключать станок ESTOP-ом, а просто останавливать (запрещать) движение. (мы так делали на принтере. При наезде на концевой датчик, безусловно включалось движение ОТ датчика до его отключения).
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Ворон226 писал(а):потому и был вопрос как переобозначать предел по Y через визуальную панель
А смысл? Наезд даже на программный лимит - это прекращение программы

P.S. Можно просто в HAL самостоятельно контролировать позицию осей и сравнивать со "своими" лимитами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты. Или я ошибаюсь?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение nkp »

Ворон226 писал(а):Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты.
лимиты,указаные в ини, читаются один раз при запуске емс...
поэтому из панели корректировать проблематично...
так что:
UAVpilot писал(а):P.S. Можно просто в HAL самостоятельно контролировать позицию осей и сравнивать со "своими" лимитами.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

... и если мы подошли к лимиту во время отработки программы, то...
(что напишем дальше?)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Ну, народ!
Понятное дело, что если мы левый шпиндель отведем влево, а правый вправо, а затем перейдем в режим двушпиндельной обработки детали, размером в полстола, то правый шпиндель попытается вылететь вправо. Но тут ведь:
1. Сам дурак, раз такое допустил.
2. О каком сохранении заготовки идет речь, если ты дурак? Учись. Хотя бы на заготовках.
3. Если ты не подумал об этой ситуации заранее, то хоть станок пусть сам себя сохранит. Для того и лимиты.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Serg »

Ворон226 писал(а):Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты. Или я ошибаюсь?
Почти не ошибаешься. До выполнения не возможно проверить все перемещения. Например можно задать позиции G28 за пределами лимитов и потом попытаться туда уехать - ошибка будет только
при выполнении команды.
Тебе помогло-бы G22/G23, но в LinuxCNC их пока нет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: ПО двушпиндельного (многошпиндельного) фрезера

Сообщение Ворон226 »

Сегодня запустил станок в двушпиндельном режиме.
Буду в этой теме продолжать описывать его и, попутно, задавать вопросы...

Итак, двушпиндельный станок.

Оси:

Общая ось Y выполнена на двух ШД с двумя драйверами (до этого включал два ШД на один драйвер последовательно).
Две оси X1 и X2 - ещё два ШД и два драйвера.
Две оси Z1 и Z2 - ещё два ШД и два драйвера.

Датчики HOME - пять штук.
Выход в HOME организовал следующим образом: сначала обе оси Z одновременно в HOME; затем первая ось X1, за ней вторая ось X2 и одновременно с ней ось Y. Обе оси X идут в HOME влево, при чем вторая базируется относительно первой оси X1. Это менее точно, но по точности меня пока устраивает, а затем, возможно, сделаю HOME_X1 и HOME_X2 в противоположных сторонах... После выхода второй оси X2 в HOME - ось быстро перемещается в противоположную сторону до конца, чтобы не мешалась ;)

Для реализации такой конфигурации пришлось использовать два порта LPT. (есть вариант ужимания по датчикам и перейти на один LPT. Возможно со временем...)

Для удобства управления двумя шпинделями "прикрутил" к стандартной панели AXIS дополнительные кнопки: ЛЕВЫЙ ВЛЕВО, ПРАВЫЙ ВПРАВО, ОБА В СТОРОНЫ, ЛЕВЫЙ ВВЕРХ, ПРАВЫЙ ВВЕРХ, ОБА ВВЕРХ, ВСЕ В ИСХОДНОЕ СОСТОЯНИЕ (Y в 0, X в 0, Х2 в 1550, Z1 в 0, Z2 в 0). Также добавил кнопку - СИНХРОННАЯ РАБОТА.

Подробнее опишу о реализации СИНХРОННОЙ РАБОТЫ шпинделей на примере X1 и X2.
У меня ось X1 реализована на AXIS1, а X2 на AXIS3. Соответственно,
x1step берется на stepgen.1.step
x1dir берется на stepgen.1.dir
x2step берется на stepgen.3.step
x2dirp берется на stepgen.3.dir

Как я связал кнопку "Синхронная работа" с управляющими сигналами LCNC:
(на примере формирования x2step)

loadrt and2 count=2
loadrt or2
loadrt not

addf and2.0 servo-thread
addf and2.1 servo-thread
addf or2.0 servo-thread
addf not.0 servo-thread

далее сформировал связи в соответствии со схемой, которая ниже...
Вложения
2шп001.png (1078 просмотров) <a class='original' href='./download/file.php?id=28046&mode=view' target=_blank>Загрузить оригинал (21.78 КБ)</a>
Хочешь быть счастливым? Будь им!
Ответить

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