Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы Новичка
Все о станках с ЧПУ > Станки с ЧПУ, Hobby CNC > Обсуждение станков,устройств, вопросы
king2
Возникли в результате обдумывания своего станка вопросы. К сожалению, сейчас нет возможности поставить программы и погонять.
Извините, если вопросы тупые, но ответьте, пожалуйста..

1. Каким образом происходит позиционирование на заготовку? Вот положили заготовку, допустим, она овальная, и точность нужна большая. По home/limit спозиционироваться не получится, потому что заготовка лежит произвольно, и потому что точность home небольшая..
Как это происходит алгоритмически и конструктивно?
Мне видится, что на этапе проектирования (до вывода в gerber) надо ставить на заготовке две реперные точки, далее как-то позиционироваться на них вручную (точку от лазерной указки на оси Z?), и после этого запускать программу. Правильно ли я понимаю? Как это принято делать? Поддерживают ли такой режим программы Mach3 и CNC? корректируют ли смещения по X и Y, а также возможный поворот заготовки?

2. Если фрезеруем деталь, то при подходе к угловым точкам необходимо снижать скорость, иначе при остановке фреза при снятии нагрузки от разгибания "вильнет" в материал. Делает ли это сам софт (Mach3 и EMC) или это надо предусматривать в той программе, которая генерит gerber? Сейчас разговор не про холостой ход, а именно при обработке.

3. Как устаналивается смещение по оси Z? Закрепили, например, фрезу, она длиннее, как ее спозиционировать на 0? А на ноль заготовки? А если заготовка на поворотном шпинделе и неправильной формы? Умеет ли софт сам понимать 0 при упоре в столик, например, по какому-то дополнительному датчику?

4. Enable. Я так понял, используется один сигнал для ВСЕХ осей одновременно. Так ли это? Правильно ли я понимаю, что его главное назначение - останавливать станок при нажатии на ESTOP и вообще-то он особо не используется?

5. Есть файл фрезеровки, и при обработке необходимо каждые 30 секунд включать на 5 секунд пылесос. Софт это умеет сам или надо команды вставлять в той программе, которой генеришь gerber? Что вообще умеет mach3 и emc делать, кроме точного исполнения файла gerber (по сути, он же модифицирует команды даже в случае, когда просто заготовка не у нуля лежит)?

6. Есть файл отрисовки и дозатор чернил, например. В gerber только вектора. Как производится включение-выключение подачи краски? Делает ли это сам mach3 или оно уже должно быть в gerber?

7. Писал ли кто-то плагин к mach3, управляющий движками не через LPT порт? я что-то примеров не нашел особо.. если у кого есть, поделитесь, плиз!



Заранее спасибо за ответы!
starik99
Есть координаты станка, в них перемещения задаются если вы напрямую этого просите: G00 G53 X0 Y0 Z0,
если вы не указали G53, то перемещения будут в текущей системе координат заготовки (G54, G55... G59.9)
соответственно, при установке заготовки вы должны либо ее закрепить в 0 соответствующей системы координат, либо систему обнулить
по вашей заготовке -- центру, углу, точке пересечения линий... систему координат заготовки можно сместить относительно СК станка (очевидно), и можно задать поворот в плоскости XY. если предполагается обработка 1 инструментом, то СК по З можно выставить по концу этого инструмента. Если есть система смены инструмента, то обычно для всех инструментов в магазине задается вынос (до 9 координат), и корректировка траектории происходит уже при смене инструмента автоматом...
Gene
Цитата
7. Писал ли кто-то плагин к mach3, управляющий движками не через LPT порт? я что-то примеров не нашел особо.. если у кого есть, поделитесь, плиз!
- нормально работать с ЧПУ можно или через LPT порт или надо покупать дорогущий motion controller.
alexandr_st+
Мач исполнит любую задачу, вплоть до управленеия драйверами по CAN шине. Все упирается лишь в собственные знания и знание самой программы (скрипты, брейны, ModIO). Если знаний не хватает, напиши разработчикам - они без проблем напишут любой программный модуль за соотв. вознаграждение. А если конкретно под Gerber, то лучше отдельный контроллер со своим софтом купить - напряжно все время Гербер в G код перегонять. Посмотри Cnc player - он вроде с Гербер напрямую работает (с HPGL, DXF точно работает), хотя прога сама по себе намного проще, но очень стабильная, работает через LPT.
Огромный плюс Мача - почти полноценная поддержка параметрического программирования, а в параметрическую переменную можно включить любую функцию, типа вкл. пылесоса и он будет автоматически включаться, например, при каждом опускании по Z по достижении определенной глубины, в общем, здесь только собственная фантазия...
С MotionControllers Мач не всегда работает корректно. Написать свой плагин можно, но очень много времени потребуется на отладку и полноценной работы в полной синхронизации с софтом в одиночку мало вероятно, опять же отладка, ловля багов займет полгода-год... Он заточен под ЛПТ и работает очень стабильно, если все отлажено и нет никаких внутренних логических конфликтов с IO. хоть и говорят, что нет рилтайма, винда и пр. - главное - в нем нет рассинхронизации осей
Ну вот где-то так. Возможно и не совсем так, но это из собственных наблюдений
starik99
[quote name='alexandr_st' date='8.12.2010, 20:59' post='19834']
Гербер в G код перегонять.
/quote]
http://en.wikipedia.org/wiki/Gerber_File -- вроде Гербер и G-code это одно и то же? Или вы что-то другое имели ввиду?
king2
Цитата(starik99 @ 8.12.2010, 18:51) *
Есть координаты станка, в них перемещения задаются если вы напрямую этого просите: G00 G53 X0 Y0 Z0,
если вы не указали G53, то перемещения будут в текущей системе координат заготовки (G54, G55... G59.9)
соответственно, при установке заготовки вы должны либо ее закрепить в 0 соответствующей системы координат, либо систему обнулить
по вашей заготовке -- центру, углу, точке пересечения линий... систему координат заготовки можно сместить относительно СК станка (очевидно), и можно задать поворот в плоскости XY. если предполагается обработка 1 инструментом, то СК по З можно выставить по концу этого инструмента. Если есть система смены инструмента, то обычно для всех инструментов в магазине задается вынос (до 9 координат), и корректировка траектории происходит уже при смене инструмента автоматом...

Это все умеет mach3 или это надо делать при подготовке гербера?
Вот например у меня есть плата, мне ее надо обработать с двух сторон. Я задаю две реперные точки (допустим, сверлю две тонкие дырки в плате). Ноль для CAD системы - одна из точек, вторая - противоположный угол. Установил плату на столик, примерно подогнал прямо в mach3 сверло туда где хочу ноль, нажал в mach3 какую-то кнопку "тут ноль"? так?

Дальше, оно насверлило дырок, закончило. Не снимая заготовки я повторил то же самое с файлами сверловки другим сверлом, потом с фрезой. И вот тут мне надо заготовку снять, перевернуть и закрепить другой стороной. Предположим, я ее снял и закрепил с небольшим перекосом. И вот тут я могу не меняя самостоятельно исходных файлов обработки, просто загрузить следующий, подогнать мачем инструмент к одной реперной точке, нажать какую-то кнопку "тут ноль", потом ко второй, нажать другую "тут вторая реперная", чтобы он сам пересчитал поворот? Или мне надо как-то этот угол вычислять и задавать ему в градусах?

По поводу смены иснтрумента - я так понимаю, что мач оперирует элементарными командами через LPT в итоге, для смены инструмента надо подогнать в определенную точку шпиндель, опустить, выдать импульс на открытие лапок, запомнить, куда положили инструмент, поднять шпиндель, перегнать в другое место (определить, в какое), опустить, зажать лапки, поднять инструмент, начать сверловку другим диаметром.

На входе у меня тупо excellon. Кто должен формировать команды на все эти действия, это делает сам мач, это должен делать я сам, или между CAD системой, генерящей exсellon и мачем мне надо пропустить файл через постпроцессор (я так понимаю, некую программу, которую я должен писать сам и которая между сверловкой разными диаметрами должна вставить все эти команды, специфичные именно для моего станка)?

Извиняюсь за чайниковость :)
king2
Цитата(Gene @ 8.12.2010, 20:03) *
- нормально работать с ЧПУ можно или через LPT порт или надо покупать дорогущий motion controller.

Я читал (нашел все-таки) описание создания плагина под G100. Как я понял, мач состоит как бы из двух частей - та, что выдает логические команды, и та, которая работает с LPT. Между ними мач все время гоняет микроперемещения, раз в 63 миллисекунды говорит "сместись туда-то с такой-то скоростью". В ответ ждет отчет об исполнении.

LPT модуль преобразует все это в последовательность STEP-DIR, я же могу их отсылать на микроконтроллер, который будет делать то же самое (ну, еще буферизовать немного). В принципе, сделать такой motion контроллер лично для меня будет менее затратно, чем купить, а использовать между компом и станком USB или Ethernet куда удобнее чем LPT (и ограничений по количеству сигналов не будет, и сам контроллер можно бубдет запрограммировать на вывод хочешь DIR-STEP, хочешь STEP+/STEP-, хочешь набор фаз для ШД5).

Я как-то в этом направлении смотрю, по моему оно того стОит..
king2
Цитата(alexandr_st @ 8.12.2010, 20:59) *
Мач исполнит любую задачу, вплоть до управленеия драйверами по CAN шине. Все упирается лишь в собственные знания и знание самой программы (скрипты, брейны, ModIO). Если знаний не хватает, напиши разработчикам - они без проблем напишут любой программный модуль за соотв. вознаграждение. А если конкретно под Gerber, то лучше отдельный контроллер со своим софтом купить - напряжно все время Гербер в G код перегонять. Посмотри Cnc player - он вроде с Гербер напрямую работает (с HPGL, DXF точно работает), хотя прога сама по себе намного проще, но очень стабильная, работает через LPT.
Огромный плюс Мача - почти полноценная поддержка параметрического программирования, а в параметрическую переменную можно включить любую функцию, типа вкл. пылесоса и он будет автоматически включаться, например, при каждом опускании по Z по достижении определенной глубины, в общем, здесь только собственная фантазия...
С MotionControllers Мач не всегда работает корректно. Написать свой плагин можно, но очень много времени потребуется на отладку и полноценной работы в полной синхронизации с софтом в одиночку мало вероятно, опять же отладка, ловля багов займет полгода-год... Он заточен под ЛПТ и работает очень стабильно, если все отлажено и нет никаких внутренних логических конфликтов с IO. хоть и говорят, что нет рилтайма, винда и пр. - главное - в нем нет рассинхронизации осей
Ну вот где-то так. Возможно и не совсем так, но это из собственных наблюдений

Вроде бы G-code это и есть гербер.. тратить деньгу на написание модуля, когда я сам программист как-то не хочется. :)
Я уже нашел примерчик (плохо искал, видимо, извиняюсь).

По поводу параметрического программирования я понял, см. выше, команду смены инструмента тоже таким же образом обычно делают, или все же нужно что-то еще?
constantine
QUOTE (king2 @ 8.12.2010, 21:49) *
Это все умеет mach3 или это надо делать при подготовке гербера?
Вот например у меня есть плата, мне ее надо обработать с двух сторон. Я задаю две реперные точки (допустим, сверлю две тонкие дырки в плате). Ноль для CAD системы - одна из точек, вторая - противоположный угол. Установил плату на столик, примерно подогнал прямо в mach3 сверло туда где хочу ноль, нажал в mach3 какую-то кнопку "тут ноль"? так?

Дальше, оно насверлило дырок, закончило. Не снимая заготовки я повторил то же самое с файлами сверловки другим сверлом, потом с фрезой. И вот тут мне надо заготовку снять, перевернуть и закрепить другой стороной. Предположим, я ее снял и закрепил с небольшим перекосом. И вот тут я могу не меняя самостоятельно исходных файлов обработки, просто загрузить следующий, подогнать мачем инструмент к одной реперной точке, нажать какую-то кнопку "тут ноль", потом ко второй, нажать другую "тут вторая реперная", чтобы он сам пересчитал поворот? Или мне надо как-то этот угол вычислять и задавать ему в градусах?

По поводу смены иснтрумента - я так понимаю, что мач оперирует элементарными командами через LPT в итоге, для смены инструмента надо подогнать в определенную точку шпиндель, опустить, выдать импульс на открытие лапок, запомнить, куда положили инструмент, поднять шпиндель, перегнать в другое место (определить, в какое), опустить, зажать лапки, поднять инструмент, начать сверловку другим диаметром.

На входе у меня тупо excellon. Кто должен формировать команды на все эти действия, это делает сам мач, это должен делать я сам, или между CAD системой, генерящей exсellon и мачем мне надо пропустить файл через постпроцессор (я так понимаю, некую программу, которую я должен писать сам и которая между сверловкой разными диаметрами должна вставить все эти команды, специфичные именно для моего станка)?

Извиняюсь за чайниковость :)


слишком много - предположим и например.
вы это будете делать нормальным образом:
забазируетесь в home
отьедете и отфрезеруете площадку для крепления заготоки включая отверстия для штифтов.
затем примерно +-1мм закрепите заготовку большего размера, и отфрезеруете плоскость и ответные отверстия для штифтов.
вставите штифты в стол, оденете сверху заготовку, и отфрезеруете плоскость и новые отверстия для штифтов для переворота.
Все будет точно, и никаких может быть и предположим не будет.

Таким же образом подготавливаются базовые плоскости на столе - для установки заготовок в упор, и снова никаких может быть и предположим.

Если работаем с заготовкой вслепую, берем заготовку на несколько мм(сантиметров) больше, прижимаем, подводим фрезу к предположительному старту, обнуляем координаты и режем как из нуля.

А реально - либо соберите либо найдите у кого либо станок, начните работать задавая конкретные вопросы и не пытайтесь гадать о том, чего еще и в помине нет.


Если решите делать станок - сделайте проверенный рабочий вариант (МАЧ или ЕMC от нормального ЛПТ. с нормальным компьютером настроенным в соответствии с имеющимися на этом сайте рекомендациями).
Мач кушает G-код, это последовательный набор инструкций который должен быть подготовленн под каждый конкретный станок (если в станке нет смены инструмента - в файле бесполезно ее использовать, если нет включения выключения помпы/пылесоса/ вакуумного прижима/реле включения выключения шпинделя - эти команды тоже бесполезно использовать)
Будете проектировать станок - определитесь с тех требованиями, полем, имеющимся в наличии инструментом.
сделайте эскиз, потом второй, потом третий.
Третий выкладывайте сюда - подскажем.

Тогда разговор будет предметный, а не если бы да кабы.
verstehen?

Промышленные станки позволяют производить детали с микронной точностью по всем направлениям, Хоббийные станки позволяют достигать результатов с точностями от 1мм, до 0.1-0.05.
Этого в большинстве случаев достаточно, если только вы не ювелир, стоматолог и не производите точные приборы/машины - типа точных редукторов, ДВС и т.п..
Касательно чайниковости - так и не заморачивайтесь на смену инструмента, лазерные измерения и прочее.
Вам как программисту будет понятная такая аналогия:
хочу попробовать программировать на С++, а вы не знаете - когда создается переменная, то операционная система сама выделяет ячейку памяти, и в случае использования файла подкачки - каким образом обеспечивается постоянство адреса сохраненной на диск ячейки?

Пока что - если на уровне "Hello World" то и изучайте вопрос последовательно, а не начинайте с предпроцессорных директив и особенностей работы линкеров, компиляторов и организации и выделения динамической памяти в Heap.
alexandr_st+
О плагине G100 - работает криво - при 3Д обработке тормоза, при обработке криволинейных поверхностей отсутствует плавная траектория (Гека сама делит линию только на ей понятные участки) - в результате круг с множеством углов. Возьмем плагин Smooth Stepper - все бы ничего, но отсутствует компенсация люфтов. Плагин Kflop - просто регулярно отрубается и на ходу все координаты сбрасываются в нули и еще болячек много... Ну разве что плагин для плат Galil...
Как наиболее рабочий вариант можно рассмотреть следующее - взять любую плату, типа PCI, заточенную под Motion Control, главное, чтоб на ней была поддержка бортового PLC, ну или просто куча Digital IO.. Взять помощнее комп, типа Р4 3Гц, настроить на нем Мач на выход ЛПТ 100кГц. На плате схему PLC программируем под определенную последовательность действий, например для смены инструмента поочередное срабатывание логических входов-выходов, адресованных на соотв реле, а Мач в свою очередь программируем на определенную последовательность импульсов с одного пина... Все. Контроллер сам занимается сменой инструмента. С того же ЛПТ компа выдаем Степ/Диры на PLC нашего контроллера, а он в свою очередь преобразует их в свои запрограммированные команды управления (Step/dir, PWM, Analog +/-10v) и можем управлять любой системой в закрытом цикле - будь то шаговики, шаговик+энкодер, серва.. В свою очередь с платы выводим на вход ЛПТ алармы, вотчдоги и пр.. Приблизительно это выглядит следующим образом
;M50 maps to input 0 -> x step pulses from mach
;M51 maps to input 1 -> x direction pulses from mach
;M52 maps to input 2 -> y step pulses from mach
;M53 maps to input 3 -> y direction pulses from mach
;M54 maps to input 4 -> z step pulses from mach
;M55 maps to input 5 -> z direction pulses from mach
; x axis

OPEN PLC 30 CLEAR
IF (M50=1) ; rising edge of pulse
IF (P50=0)
P50=1 ; set latch
IF (M51=1) ; direction pin
#1J^10 ; jog 10 unit
ELSE
#1J^-10 ; other way
ENDIF
ENDIF
ELSE
P50=0 ; reset latch
ENDIF

; y axis

IF (M52=1) ; rising edge of pulse
IF (P52=0)
P52=1 ; set latch
IF (M53=1) ; direction pin
#2J^10 ; jog 10 unit
ELSE
#2J^-10 ; other way
ENDIF
ENDIF
ELSE
P42=0 ; reset latch
ENDIF

; z axis

IF (M54=1) ; rising edge of pulse
IF (P54=0)
P54=1 ; set latch
IF (M55=1) ; direction pin
#3J^10 ; jog 10 unit
ELSE
#3J^-10 ; other way
ENDIF
ENDIF
ELSE
P54=0 ; reset latch
ENDIF

CLOSE

ENABLE PLC 30

Вам, как программисту разобраться не сложно в сути.
система команд в каждой плате своя, но где-то приблизительно все они похожи. В принципе такой фокус возможен практически с любой платой более-менее именитых производителей, если не хочется заморачиваться на разработке своего софта для ЧПУ, но общая надежность системы повышается.
По поводу Гербера - разбираться надо, но по моему тексты этого формата чем-то очень схожи на формат PLT и далеки от стандартного G кода.
А если вы хотите попытаться разработать свой софт, попробуйте, но понятия "а бы работало" и "работало как надо" разные. Мач не пацаны с соседнего двора создавали и он даст фору многим стойкам ЧПУ. Для примера, попробуйте открыть в ЕМС2 прогу созданную для Мача с парочкой параметрических комманд, циклами и переходом к подпрограмме... вот тогда убедитесь сами, что не все так просто. Если память не изменяет, ЕМС2 даже винтовую интерполяцию исполнить не может.
Кстати, программно заготовку развернуть в Маче не сложно и откорректировать щупом на касание тоже можно.
king2
Окей.
Спасибо всем за ответы.

Буду делать несерьезное шасси "из того что было", обычные биполярники, драйвер из имеющихся 297+298, подключать к mach3 и экспериментировать.

Далее - видимо, развитие в сторону своего пост-процессора, который обрабатывает исходные файлы, вставляет туда необходимые команды типа включения пылесоса, смены инструмента и так далее, на выходе - полный файл команд на исполнение в сферических координатах в вакууме "от нуля".

После этого - софт либо на компе, либо в контроллере, который и осуществляет привязку координатной системы заготовки к координатной системе файла, и далее при обработке использует для коррекции.

Тогда можно будет свободно туда и touch probe воткнуть, и смену инструмента, и все, что захочешь.
Понятно, перед этим проверю, нельзя ли это мЕньшими усилиями сделать на базе mach3. Но это уже будет когда можно будет попробовать на живой модели.

Спасибо всем за помощь, теперь беру таймаут.. :)

p.s. я как программист, имевший дело с большими масштарибуемыми системами, обладаю довольно-таки развитым абстрактным мышлением. То есть если я вдруг начинаю вгрызаться в какую-то проблему, это вовсе не означает, что я считаю ее главной или вообще буду это использовать. Просто это кусочек мозаики, может быть не вполне понятный со стороны, но нужный для осознания всего в целом. Не люблю итерационные процессы :), лучше полдня потерять а потом за полчаса долететь :)
constantine
QUOTE (king2 @ 9.12.2010, 1:46) *
Окей.
Спасибо всем за ответы.

Буду делать несерьезное шасси "из того что было", обычные биполярники, драйвер из имеющихся 297+298, подключать к mach3 и экспериментировать.


из советов - могу только сказать.
Первое - и самое главное, не гонитесь за размером, сделайте небольшой настольный станок.

Драйверы - лучше и проще купить (на ебее на TA8435 или TB8560) это довольно средненькие драйверы - но хватит чтобы начать.
Моторы брать с моментом не менее 10кг/см (и это еще дохлые, но если делать станок с полем 200х300 и с шариковыми линейными направляющими - хватит).
Винты - применять трапецию хотя-бы, шаг - от 3-4мм
Не заморачивайтесь на производство собственного шпинделя - возьмите что-то из имеющихся решений, фрезерную машинку, гравировальную машинку.
На первом станке будете учиться.

Когда подготовите ТЗ и сделаете пару тройку эскизов - выкладывайте сюда, поможем в случае очевидных ошибок.
amorphis
Подскажите пожалуйста! Пойдет ли данный кит aliexpress.com/item/32259813489.html для сборки станка 40х80 для фрезеровки цветмета , и не будет перегруза шаговиков?
amorphis
Дополню сам себя - движки в комплекте 12 кг на см 2.8а
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.