Страница 1 из 6
ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 31 мар 2014, 20:23
Ворон226
Собрался ставить второй шпиндель на фрезер с рабочим полем 1800 х 2600 х 200мм.
С механикой сам разберусь, а вот определиться с логикой работы станка и с ПО многошпиндельного варианта попробую публично и с вашей помощью в этой теме.
Постановка задачи.
Собрать конфигурацию многошпиндельного (для начала двушпиндельного) фрезера и подготовить ПО и визуальную панель для управления этим фрезером.
Алгоритм работы.
Думаю, что нужно рассмотреть следующие режимы.
1. Включение станка.
2. Поиск HOME.
3. Установка фрез и калибровка по осям Z1 и Z2.
4. Переход в режим синхронной фрезеровки.
5. Особые случаи.
Есть ли уже отработанные элементы ПО подобных станков?
Тему буду развивать по мере созревания...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 31 мар 2014, 20:29
aftaev
на китайских станках этосделано так - есть переключатель галетный который включает либо первую ось Z или вторую или все 2 оси. Включил ты первую ось, поймал высоту, переключился на вторую ось, поймал высоту, потом переключается на синхронную работу. Переключатель включает/выключает степ на оси.
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 31 мар 2014, 20:49
Ворон226
Это слишком просто.
Хочется на панели выставлять расстояние между осями.
Хочется отдельно для каждого шпинделя выставлять начало заготовки.
Хочется реализовать датчик инструмента (кончика фрезы) для каждой оси и автоматический.
Хочется организовать выход в HOME для каждой оси автоматически в начале работы.
Хочется организовать программно отключение одного из шпинделей и получение одношпиндельного фрезера с большим полем работы.
Хочется отработать на двух шпинделях работу четырех-шпиндельного, например, станка

Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 31 мар 2014, 21:02
aftaev
Ворон226 писал(а):Это слишком просто.
вообщем ты секс любишь

Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 31 мар 2014, 21:02
Ворон226
Выход в HOME.
Имеем двигатель по X, два двигателя по Y, два двигателя по Z.
Имеем датчик HOME X, два датчика HOME Y1 и HOME Y2, два датчика HOME Z1 и HOME Z2.
Самый простой вариант:
Прописать в INI пять осей.
Сначала выходим в HOME Z1, затем в HOME Z2. Датчики HOME Z1 и HOME Z2 можно включить последовательно на разрыв и подключить к одному входу.
Затем уходим одним шпинделем в один край до датчика HOME Y1, потом вторым шпинделем в другой край до датчика HOME Y2. Датчики HOME Y1 и HOME Y2 также можно включить последовательно на разрыв и подключить к одному входу.
В заключение выходим в HOME X.
Конечно, это несколько долго, но мы получаем два независимых шпинделя (как мне кажется)...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 10:48
vovafed
уже есть небольшой опыт
http://cnc-club.ru/forum/viewtopic.php? ... 4&start=60
но не очень удачный хотя работает
буду управление переделывать
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 12:06
Nick
Ворон226 писал(а):Самый простой вариант:
Прописать в INI пять осей.
Сначала выходим в HOME Z1, затем в HOME Z2. Датчики HOME Z1 и HOME Z2 можно включить последовательно на разрыв и подключить к одному входу.
Затем уходим одним шпинделем в один край до датчика HOME Y1, потом вторым шпинделем в другой край до датчика HOME Y2. Датчики HOME Y1 и HOME Y2 также можно включить последовательно на разрыв и подключить к одному входу.
В заключение выходим в HOME X.
Конечно, это несколько долго, но мы получаем два независимых шпинделя (как мне кажется)...
Не выйдет c G02 G03 в оси Z работать, хотя это наверное и не нужно...
Если будет отдельный home - то надо делать отдельной осью. Если будешь отдельно управлять положением по Y - нужна отдельная ось.
5-осевой наверное оптимальный вариант. Но синхронность будет на базе CAM .
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 12:16
Ворон226
Об этом и ломаю голову... Наверное 6-ти осевой при выходе в HOME и настройке начальных положений. А при фрезеровке в HAL-е буду переключаться в дубляж осей Y и Z до окончания программы. Далее опять раздельные оси...
Но это только мысли. Уже всю ночь во сне катал станок

Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 12:33
Nick
Ворон226 писал(а): А при фрезеровке в HAL-е буду переключаться в дубляж осей Y и Z до окончания программы. Далее опять раздельные оси...
Но это только мысли. Уже всю ночь во сне катал станок
А как думаешь в hal переключать?
Там не совсем тривиально будет, надо либо смещение хранить, либо обратную связь как-то корректировать...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 18:52
Ворон226
Так ведь начало программы с нуля и окончание с нуля.
Вышли двумя разными шпинделями в два начала. Определили положение первого шпинделя (Y и Z) как нулевое. Нажали на специальную кнопку визуальной панели, которая включает дублирование сигналов STEP и DIR первого шпинделя на второй.
Запускаем программу обработки детали в координатах X-Y-Z. Вытачиваем ДВЕ одинаковые делали. По окончании программы сбрасываем кнопку дублирования. А шпиндели находятся именно в том месте, в котором они были до включения кнопки дублирования.
Теперь мы можем опять управлять шпинделями раздельно, готовя следующие заготовки к обработке.
Где-то такая логика работы вырисовалась за последние сутки.
Годится?
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 19:12
Nick
Ворон226 писал(а):которая включает дублирование сигналов STEP и DIR первого шпинделя на второй.
ИМХО, лучше дублировать axis.N.motor-pos-cmd....
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 21:58
Ворон226
Почему?
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 22:58
Nick
Ну сигналы там вservo-thread, с ними проще работать, плюс по логике будет правильнее. Плюс будет работать даже с любыми внешними генераторами...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 01 апр 2014, 23:20
Ворон226
Хотелось работать с LCNC.
И потом, axis.N.motor-pos-cmd - это выход. Как и с каким сигналом его соединять (смотрел-смотрел в мануале - не нашел).
Например, так:
Первая головка: X-Y-Z
Вторая головка: X-A-B
Какие сигналы куда перенаправить, чтобы вторая головка управлялась сигналами первой (ведь в G-кодах у нас программа трехмерной обработки, т.е. с использованием координат X-Y-Z)?
(как переключить, используя логические компоненты в HAL, я уже представляю

)
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 16:46
Nick
axis.2.motor-pos-cmd да, это вывод, его надо на stepgen.N.pos-cmd. Собственно переключение будет выглядеть так:
1. запоминаем текущую разницу между координатами Y и A, отключаем от stepgen.3 (А) пины команды и обратной связи (можно через mux) и подключаем пины от оси Z + значение смещения.
2. обратную связь можно суммировать для обоих голов, или брать максимум.
3. при выключении делаем пункт 1, только наоборот. При этом важно выдать предупреждение или заранее проверить, что текущее положение второй головы не изменится, иначе голова рванется к статровой позиции на полной скорости!
Опятьже плюс - стандартный mux работатет с float, а не с bit...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 22:35
Ворон226
Ну не из-за mux-а же принимать решение работать с axis.N.motor-pos-cmd ?
Я бы как раз не делал так сложно - ведь многошпиндельный станок приговорен к изготовлению одинаковых деталей.
А вот в режиме многошпиндельной подготовки нужно (вернее не обязательно, но желательно) отслеживать взаимное положение по оси Y, чтобы головы не бились друг в друга... Вот об этом буду думать... Может отдельный компонент сделать, который будет в реальном времени считать разницу координат и, если эта разница будет меньше некоторого значения, оперативно уменьшать скорость движения до полной остановки и выдачи сигнала аварии?
Также хочу сделать оперативное изменение пределов по осиY через визуальную панель. Например, есть заготовки шириной 200 мм. Удобно их располагать поближе. Прописываем в визуальной панели физические границы рабочего поля по Y от 0 до 300мм, например. А при заготовке в 400 мм - от 0 до 500мм. Удобно

Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 22:52
Serg
Ворон226 писал(а):А вот в режиме многошпиндельной подготовки нужно (вернее не обязательно, но желательно) отслеживать взаимное положение по оси Y, чтобы головы не бились друг в друга... Вот об этом буду думать... Может отдельный компонент сделать, который будет в реальном времени считать разницу координат и, если эта разница будет меньше некоторого значения, оперативно уменьшать скорость движения до полной остановки и выдачи сигнала аварии?
Зачем отдельный компонент? Можно обойтись стандартным комплектом - поставить на "головы" ещё один концевик, чтоб они "бились" в первую очередь именно им...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 22:58
Ворон226
UAVpilot писал(а):Зачем отдельный компонент? Можно обойтись стандартным комплектом - поставить на "головы" ещё один концевик, чтоб они "бились" в первую очередь именно им...
А концевик будет просто останавливать (запрещать) движение?
Я, вообще думал, что при выходе в HOME одна голова будет двигаться до края, а вторая - до первой головы

Конечно после установки первой в HOME. Можно этот концевик и использовать...
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 23:20
Serg
Ворон226 писал(а):А концевик будет просто останавливать (запрещать) движение?
А есть варианты? Хочешь чтоб давал команду на перепрыгивание одной головы другой?
Ворон226 писал(а):Я, вообще думал, что при выходе в HOME одна голова будет двигаться до края, а вторая - до первой головы

Конечно после установки первой в HOME. Можно этот концевик и использовать...
Для двух голов лучше HOME сделать в разных концах - меньше погрешность и вероятность столкновения.
Re: ПО двушпиндельного (многошпиндельного) фрезера
Добавлено: 02 апр 2014, 23:47
Ворон226
Это у меня был первый вариант... А не запутаешься потом? Где у кого плюсы-минусы? Короче - скоро поставим вторую голову и будем кататься... Там быстро идеи проверятся
