0

Гравировка печатных плат на чпу фрезерном станке

Блог о электронике

▌Станок
Для гравировки платы нужен фрезерный станок ЧПУ. Кудаж без него. У меня тут какой то китаец без роду и племени. С рабочим столом 200 на 200мм и 12мм валами.

Стоит на нем такой же безродный коллекторный шпиндель на 350Вт, дающий около 15000 оборотов. Довольно мало, надо сказать. Хорошо бы от 30 000, а лучше 50-100 тысяч.

Управляется все простейшей платкой опторазвязок на LPT порт.

Через MACH3, на который натянут скринсет от Михаила Юрова. Нагугливается на каждом углу.

Без него интерфейс MACH3 ничего кроме рвотных позывов не вызывает обычно. Вырвиглазная дичь. Особенно с непривычки.

Про сам станок, его конструкцию, настройку и работу если кому то будет интересно я расскажу в другой раз. Там нет ничего сложного, все делается интуитивно и дубово.


Основной инструмент который нам нужен — это гравировальный штихель. Вот такая вот коническая фреза. Чем острей тем лучше. Ходовые размеры острия в 0.1мм (если хотите забацать что то уровня LQFP и с дорогами в 0.3мм) и 0.2мм для более крупных корпусов вроде SOIC и широких, под 0.5мм, дорожек. Также не помешат такого же плана фреза, но с режущей кромкой 1 или даже 1.5мм — пригодится если придется не просто гравировать изоляцию контуров, а нужно будет сносить целые полигоны.


Также нужны будут сверла. У меня три размера используется. 0.4..0.6мм для переходных отверстий. 0.8…1мм для обычных TH компонентов и 3мм для крепежных отверстий под всякие потенциометры, энкодеры, крепежные отверстия в плату и так далее. Чтобы было удобней, я держу инструмент сразу в цанге-гайке. Так как правило не всегда удается подобрать все под одну цангу. А достать цангу из гайки, особенно если это цанга маленького размера, бывает сложно. Поэтому проще иметь штук пять гаек и цанг под все случаи жизни. И держать их такими вот наборами.


Для обрезки платы используется фреза «кукуруза» диаметром 2…3мм, лучше 2. Не так много опилок и нагрузка на станок меньше.

Плата просто приклеивается к жертвенному столу скотчем. Кстати, стол можно сфрезеровать под ноль, тогда все огрехи геометрии станка по крайней мере будут повторять форму подложки, что позволит повысить точность. Но я этого делать не стал, хотя у меня расхождение между углами составляет около миллиметра. Просто к гладкой ламинированной МДФ панели лучше клеится текстолит и при удалении скотч отрывается сразу полностью, не размазываясь по волокнистой структуре МДФ. Разница как… отрывать скотч от лакированного стола или от картонной коробки. Коробка срывается с мясом. Тут так же почти. Потому не фрезерую.

▌Сканирующий софт
Чтобы компенсировать кривизну стола, а у меня она особо кривая, я провожу сканирование поверхности, строя карту высот. Сначала надо подготовить карту высот:

Вообще в Mach3 есть свой визард для этой цели. Искать в меню Wizard-Pick Wizard…-Digitize Wizard, откроется вот такая хреновина:

Где можно указать размер общупываемой поверхности (Width и Height of area), безопасную высоту перемещения щупа (Z travel), глубину до которой щуп будет искать поверхность (Z Axis Probe Depth). Stepover это шаг по осям, а FeedRate скорость с которой щуп пойдет до поверхности. Чем быстрей тем быстрей сканирование, но по инерции он может попасть чуть глубже чем надо. Поэтому тут надо ловить баланс. Потом жмете Create and Load Gcode и у вас в мач сразу же будет загружен готовый код сканирования. Я не пользуюсь этим визардом потому, что он не очень удобный. Куда проще сгенерировать код в той же проге которая будет править код плана резки. Это G-code Ripper.

Брать его с официального сайта Не забыв передать привет мудилам из Роскомнадзора, которые его заблокировали как экстремистский. Так что применяйте прокси-плагины (Opera Turbo вполне подойдет или FriGate плагин для Chrome, только там надо будет вручную вписать адрес этого сайта).

Итак, запускаете G-code Ripper. Эта штука, как и flatcam тоже написана на питоне и тоже имеет консольный интерфейс (впрочем я в нем пока сам не разбирался, а так, думаю, можно вписать ее в наш злой батник). А пока же втыкайте в его GUI.

И что же мы видим:

Вот такое главное окно программы. Нам надо выбрать в левом нижнем углу Auto Probе и через меню File загрузить гкод нашей гравировки. Сначала давайте сторону которую будем резать.

Получили наш план резки и белые крестики поверх. Крестики это точки ощупывания. Обратите внимание на расположение осей координат, туда вы должны будете потом пригнать щуп. А пока займемся пересчетом и вводом параметров программы:

Probe Offset — это смещение щупа относительно инструмента. У меня щупом является сам инструмент, поэтому тут нули. Probe Z Safe — безопасная высота сканирования. Зависит от кривизны вашей системы. У меня разброс под миллиметр и потому я поставил 2. А вообще при ровном столе достаточно и 0.8 мм. Чем ниже тем быстрей сканирование. Опускаться то меньше! Probe Depth — предельная глубина на которую пойдет щуп. У меня 0, т.к. в данном случае начало координат стоит в самом низком углу моего стола. А вообще можно и в минус немного загнать, скажем на -0.5. Хуже не будет. Probe Feed — скорость опускания. Меньше — точнее, но дольше скан и шуму больше. У меня 100мм/мин. Х/У Points это сколько точек по вертикали и горизонтали снять. Вон те самые белые крестики. Габариты платы он сам выберет. Pre и Post коды я оставляю пустыми, т.к. никаких дополнительных кодов перед и после программы мне не надо. А вот счастливые обладатели ченейджера могут, например, автоматом специальный щупательный инструмент вытащить, а потом убрать обратно. Controller у меня MACH3 и, собственно, все.

Жмем Save G-code File Probe Only, получаем файл с гкодом, шлем его в станок и идем щупать плату.

Как же станок будет сканировать поверхность? Для этого у станка есть щуп. Когда щупа касается масса, то станок это чувствует. За массу у меня принят шпиндель. Вот та пластиковая приблуда, что окружает его крыльчатку это держатель щетки. Которая сделана из старой фрезы и втыкается в центр вала, на подпружиненном крепеже. Почему я просто не подал массу на корпус шпинделя? А потому, что через его подшипники довольно хреновый контакт. Он может пропадать в зависимости от угла поворота. А так он прям по валу дойдет до цанги, а внутри цанги еще маленькая пружинка подведет контакт прямо к инструменту. А сам щуп представляет собой пластину известной толщины (где то 0.5мм) на проводке. Если мне надо выставить инструмент точно на 0 я кладу в нужное место пластину, прижимаю ее пальцем к поверхности и даю команду на поиск нуля. Станок тычется в пластину инструментом, потом учитывает толщину и осознает текущую высоту кончика инструмента. Подняв при этом инструмент на 2.5мм.

В случае же с текстолитом мне нужно просто положить контакт щупа на медь, закрепить изолентой, чтобы не убежал и сделать поиск поверхности. Координата, конечно, выставится не верно. Т.к. в этом случае нет толщины самого щупа. Но это не важно. Главное теперь можно вручную, вводя команду G1 Z-2 (почему -2? А потому, что по моему скрипту после нахождения у меня инструмент подпрыгнет на 2.5мм, а 0.5 толщина пластины щупа, т.е. фактически его координата станет 2мм), опустить инструмент почти до уровня текстолита. Почему почти? А для больше точности не помешает поймать самый нежный контакт, а автопоиск довольно груб, т.к. у станка есть некоторая инерция и он немного промахивается. А вот если завести инструмент почти на ноль, а потом вручную, командами G1 Z## сдвигая на сотку-другую вверх или вниз добиться того, что кнопка индикатора начнет мерцать (а она у меня меняет цвет когда происходит касание щупа) от малейшей вибрации в помещении. Скажем когда кто-то мимо прошелся. Да, само собой при этом мы выставляем координаты Х и У в будущий ноль координат исходя из нашей платы. Не путать с нулем станка (машинные координаты).

Дальше, когда ноль найден, то надо обнулить координаты по XYZ и запустить программу сканирования, указать в какой файл записать данные и получить текстовый файл примерно вот такого вида:

0.00000,0.00000,0.00500
7.05500,0.00000,0.03000
14.11500,0.00000,0.03000
21.17000,0.00000,0.06500
28.22500,0.00000,0.07000
35.28500,0.00000,0.11500
42.34000,0.00000,0.12000
49.39500,0.00000,0.16000
56.45500,0.00000,0.14000
63.51000,0.00000,0.14000
0.00000,8.65500,0.00000
7.05500,8.65500,0.00000

Тут все и так ясно — это просто координаты по осям где инструмент коснулся поверхности. Что нам, собственно, и нужно.

Возвращаемся в наш Gcode-Ripper и делаем там Read Probe Data File и наши крестики становятся черными:

Готово. Осталось теперь нажать для верности кнопочку Recalculate и сохранить скорректированный файл. Save G-code File Adjusted. Если теперь их сравнить в каком-нибудь NC-Corrector’e то на виде сбоку будет видно, что у нового файла появился рельеф дна 🙂

старый:

новый:

Таким же макаром правим и обрезку по контуру, иначе вы рискуете не дорезать до конца или наоборот задрать стол. Он, конечно, жертвенный, но лучше обходиться без жертв.


Ободрали изоляцию. Получилось хреново, потому что фреза 0.2 да еще и тупая. А тут бы 0.1 и поострей. Лохмы образуются потому, что контур надо бы обходить в двух направлениях, т.к. фреза когда идет по фольге с одной стороны пропила режет чисто, с другой махратит. И надо обратный проход сделать, снять заусенки. А флаткам не делает его или я не научился еще. Поэтому я их обычно сношу мелкой шкурочкой в пару движений. Еще можно снизить подачу реза, будет намного чище. Или, если шпиндель позволяет, обороты повысить. Вон LPKF Protomat жарит на 100 000 оборотах и там гладенько все.

Читайте также:  Видеоадаптер перестал отвечать и был успешно восстановлен


А это вот уже практически готовая плата. Четыре огромные дырки на месте кнопки это я хорошо факапнулся на эпизоде смены инструмента при сверлении. Когда выложу видео там увидите сами. Надо было поставить после 0.8мм сверла 1мм сверло (или просто нажать «далее», чтобы тем же 0.8мм просверлить), а я не прочитал что мне предложил поставить станок, забыл, что там еще миллиметровые отверстия есть и воткнул сразу 3мм и он мне их весело засверлил 🙂 ЧПУ не прощает ошибок.

Вот как то так. Да, на двусторонке, после переворота текстолита, надо еще раз его простучать щупом.

Кроме обещанной видяшки которую я хз еще когда смонтирую (ненавижу это дело) будет еще одна две статейки по флаткаму и мне тут товарищ набросил альтернативный метод. Я его сверстаю и скоро выложу. На этом тему наверное закрою. Т.к. ну чего там еще рассусоливать то? 😉

51 thoughts on “Гравировка печатных плат на ЧПУ фрезерном станке. Часть вторая. Коррекция кривизны текстолита”

За упор на консоль FlatCAM отдельная благодарность, штука действительно мощная, нужно будет поковырять. На данный момент кругло-непрямоугольные платы режу таким методом https://bitbucket.org/jpcgt/flatcam/wiki/Cutting_the_edges_of_rectangular,_polygonal_or_round_shaped_boards.

Было бы здорово, если бы было уделено время вырезам в плате, что-то с наскока не вышло. И еще один непонятный момент, почему-то из DipTrace сверловка в метрической системе неадекватно в FlatCAM выгоняется, хотя в настройках мм, и в сверловке — METRIC,0000.00. Или это та же история как в Eagle… Но если в DipTrace выбрать в сверловке систему измерения — дюймы, то все на своих местах. При этом во FlatCAM — мм, и все герберы тоже в мм.

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

Чтобы пазы гравирнуть надо их нарисовать на каком-либо отдельном слое который можно в гербер выгрузить. Да хоть на втором слое меди. Флаткаму то пофиг же.

блин, все гениальное — просто!))
я уже несколько вечеров бился над этим, и никак не мог победить!
Спасибо!)

Ага, если выбрать дюймы, то он пишет «Converting units to MM.» и все хорошо. Тоже смирился с этим, в остальном-то все отлично. Прорези тоже не выходят. Стоит галка «фрезеровка (овальные отверстия)» а во FlatCAM они попадают как обычные отверстия. Если первое это мелочи, то второе огорчает конечно. Нужно разбираться.

>>Про сам станок, его конструкцию, настройку и работу если кому то будет интересно я расскажу в другой раз.
Конечно интересно! Я ожидал, что инструментальная часть как раз об этом и будет, а тут опять в основном про софт.

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

Эта тоже так умеет. Там можно сразу скан+рез файл делать. Но как то жутко оно выглядит, надо попробовать.

Здорово. В выходные попробую описанным методом. Пользовался только корректировкой » на лету». Качественно, но на простых платах задалбывает ждать. Собиралсы уже сам писать корректор, но «… всё написано до нас» :). Спасибо.

Не пойму, при начале сканирования mach3 как положено спрашивает о сохранении в текстовый файл, даю имя стартую, сканирование проходит как положено! открываю текстовый файл, он пуст! никто не в курсе в чем загвоздка?
Пробовал и Digitize Wizard в mach3, и g-code_ripper-013 по любому текстовик пуст!

Может ему каких то прав не хватает, чтобы файл записать?

Да уже и под администратором все запускал, эффект тот же, файл создается но по окончанию сканирования он пуст!

А вообще мач может создавать файлы? Там если поковыряться, то вроде можно править гкод и тут же его сохранять. Что то было такое. Режим обучения тоже был, в оригинальном интерфейсе, когда вводишь вручную код, а потом сохраняешь. Попробуй им создать файл, любой гкод и сохранить. Может у тебя сам мач кривой и у него не работает запись в файл.

А еще может у тебя криво работает сам дигитайзер. Ловля нуля работает нормально?

Посмотрел видео, делал один в один, но координат в текстовом файле нема! подозреваю что косячит mach3.
G коды он открывает, правит и сохраняет нормально. Ноль ловится нормально и сканирование проходит как на видео.
Какая у вас система на компе установлена?

Кривой (по понятным причинам) MACH3 — та еще забава. У меня на одной из версий рандомно опускалась фреза, и все это весело шагало домой, перерезая всю заготовку. 🙂

ХП про. Серевиспак вроде бы 2.

Лиценз в принципе абсолютно ничем не отличается, только тем что фигурируют ваши инициалы!
Я на али покупал плату с USB интерфейсом, и продавец вместе с драйверами любезно записал mach3 с файлом лицензии. Думаю глюки больше вылазят от конфигурации железа компа.

Ну вот у меня от продавца станка так и вел себя софт. Мог отшагать всю программу как положено, а мог запороть все в один жест. При этом операционка (XP) специально выделена под станок, все рекомендации и оптимизации выполнены, никто не мешает… Только сменив софт решил проблему, в остальном все осталось как прежде. Что сие было — неведомо.

Запросто могло решится возможной заменой проца, допустим AMD на INTEL, или еще каких железок!

Возможно, но смена версии MACH3 куда проще поочередной замены всего железа. :-))) В итоге несколько месяцев работы без сбоев.

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

Путь к файлу же тоже меняли? Я особо не припомню, но может у него как у FlatCAM непереваримость кириллицы, длинных путей и проч…

Кириллицу в путях и именах не использую, а сохранять пытался в разных местах и С:Mach3GCode и в корень ничего не помогло.

Попробовал на другом компе другой релиз mach3, та же картина текстовик с координатами пуст!
DI HALT а можно глянуть G код который сканирует координаты, может проблема в нем. Голова уже дымится не знаю в какую сторону копать! 🙁

Блог о электронике

▌Станок
Для гравировки платы нужен фрезерный станок ЧПУ. Кудаж без него. У меня тут какой то китаец без роду и племени. С рабочим столом 200 на 200мм и 12мм валами.

Стоит на нем такой же безродный коллекторный шпиндель на 350Вт, дающий около 15000 оборотов. Довольно мало, надо сказать. Хорошо бы от 30 000, а лучше 50-100 тысяч.

Управляется все простейшей платкой опторазвязок на LPT порт.

Через MACH3, на который натянут скринсет от Михаила Юрова. Нагугливается на каждом углу.

Без него интерфейс MACH3 ничего кроме рвотных позывов не вызывает обычно. Вырвиглазная дичь. Особенно с непривычки.

Про сам станок, его конструкцию, настройку и работу если кому то будет интересно я расскажу в другой раз. Там нет ничего сложного, все делается интуитивно и дубово.


Основной инструмент который нам нужен — это гравировальный штихель. Вот такая вот коническая фреза. Чем острей тем лучше. Ходовые размеры острия в 0.1мм (если хотите забацать что то уровня LQFP и с дорогами в 0.3мм) и 0.2мм для более крупных корпусов вроде SOIC и широких, под 0.5мм, дорожек. Также не помешат такого же плана фреза, но с режущей кромкой 1 или даже 1.5мм — пригодится если придется не просто гравировать изоляцию контуров, а нужно будет сносить целые полигоны.


Также нужны будут сверла. У меня три размера используется. 0.4..0.6мм для переходных отверстий. 0.8…1мм для обычных TH компонентов и 3мм для крепежных отверстий под всякие потенциометры, энкодеры, крепежные отверстия в плату и так далее. Чтобы было удобней, я держу инструмент сразу в цанге-гайке. Так как правило не всегда удается подобрать все под одну цангу. А достать цангу из гайки, особенно если это цанга маленького размера, бывает сложно. Поэтому проще иметь штук пять гаек и цанг под все случаи жизни. И держать их такими вот наборами.


Для обрезки платы используется фреза «кукуруза» диаметром 2…3мм, лучше 2. Не так много опилок и нагрузка на станок меньше.

Плата просто приклеивается к жертвенному столу скотчем. Кстати, стол можно сфрезеровать под ноль, тогда все огрехи геометрии станка по крайней мере будут повторять форму подложки, что позволит повысить точность. Но я этого делать не стал, хотя у меня расхождение между углами составляет около миллиметра. Просто к гладкой ламинированной МДФ панели лучше клеится текстолит и при удалении скотч отрывается сразу полностью, не размазываясь по волокнистой структуре МДФ. Разница как… отрывать скотч от лакированного стола или от картонной коробки. Коробка срывается с мясом. Тут так же почти. Потому не фрезерую.

▌Сканирующий софт
Чтобы компенсировать кривизну стола, а у меня она особо кривая, я провожу сканирование поверхности, строя карту высот. Сначала надо подготовить карту высот:

Вообще в Mach3 есть свой визард для этой цели. Искать в меню Wizard-Pick Wizard…-Digitize Wizard, откроется вот такая хреновина:

Где можно указать размер общупываемой поверхности (Width и Height of area), безопасную высоту перемещения щупа (Z travel), глубину до которой щуп будет искать поверхность (Z Axis Probe Depth). Stepover это шаг по осям, а FeedRate скорость с которой щуп пойдет до поверхности. Чем быстрей тем быстрей сканирование, но по инерции он может попасть чуть глубже чем надо. Поэтому тут надо ловить баланс. Потом жмете Create and Load Gcode и у вас в мач сразу же будет загружен готовый код сканирования. Я не пользуюсь этим визардом потому, что он не очень удобный. Куда проще сгенерировать код в той же проге которая будет править код плана резки. Это G-code Ripper.

Читайте также:  Беспроводной микрофон как пользоваться

Брать его с официального сайта Не забыв передать привет мудилам из Роскомнадзора, которые его заблокировали как экстремистский. Так что применяйте прокси-плагины (Opera Turbo вполне подойдет или FriGate плагин для Chrome, только там надо будет вручную вписать адрес этого сайта).

Итак, запускаете G-code Ripper. Эта штука, как и flatcam тоже написана на питоне и тоже имеет консольный интерфейс (впрочем я в нем пока сам не разбирался, а так, думаю, можно вписать ее в наш злой батник). А пока же втыкайте в его GUI.

И что же мы видим:

Вот такое главное окно программы. Нам надо выбрать в левом нижнем углу Auto Probе и через меню File загрузить гкод нашей гравировки. Сначала давайте сторону которую будем резать.

Получили наш план резки и белые крестики поверх. Крестики это точки ощупывания. Обратите внимание на расположение осей координат, туда вы должны будете потом пригнать щуп. А пока займемся пересчетом и вводом параметров программы:

Probe Offset — это смещение щупа относительно инструмента. У меня щупом является сам инструмент, поэтому тут нули. Probe Z Safe — безопасная высота сканирования. Зависит от кривизны вашей системы. У меня разброс под миллиметр и потому я поставил 2. А вообще при ровном столе достаточно и 0.8 мм. Чем ниже тем быстрей сканирование. Опускаться то меньше! Probe Depth — предельная глубина на которую пойдет щуп. У меня 0, т.к. в данном случае начало координат стоит в самом низком углу моего стола. А вообще можно и в минус немного загнать, скажем на -0.5. Хуже не будет. Probe Feed — скорость опускания. Меньше — точнее, но дольше скан и шуму больше. У меня 100мм/мин. Х/У Points это сколько точек по вертикали и горизонтали снять. Вон те самые белые крестики. Габариты платы он сам выберет. Pre и Post коды я оставляю пустыми, т.к. никаких дополнительных кодов перед и после программы мне не надо. А вот счастливые обладатели ченейджера могут, например, автоматом специальный щупательный инструмент вытащить, а потом убрать обратно. Controller у меня MACH3 и, собственно, все.

Жмем Save G-code File Probe Only, получаем файл с гкодом, шлем его в станок и идем щупать плату.

Как же станок будет сканировать поверхность? Для этого у станка есть щуп. Когда щупа касается масса, то станок это чувствует. За массу у меня принят шпиндель. Вот та пластиковая приблуда, что окружает его крыльчатку это держатель щетки. Которая сделана из старой фрезы и втыкается в центр вала, на подпружиненном крепеже. Почему я просто не подал массу на корпус шпинделя? А потому, что через его подшипники довольно хреновый контакт. Он может пропадать в зависимости от угла поворота. А так он прям по валу дойдет до цанги, а внутри цанги еще маленькая пружинка подведет контакт прямо к инструменту. А сам щуп представляет собой пластину известной толщины (где то 0.5мм) на проводке. Если мне надо выставить инструмент точно на 0 я кладу в нужное место пластину, прижимаю ее пальцем к поверхности и даю команду на поиск нуля. Станок тычется в пластину инструментом, потом учитывает толщину и осознает текущую высоту кончика инструмента. Подняв при этом инструмент на 2.5мм.

В случае же с текстолитом мне нужно просто положить контакт щупа на медь, закрепить изолентой, чтобы не убежал и сделать поиск поверхности. Координата, конечно, выставится не верно. Т.к. в этом случае нет толщины самого щупа. Но это не важно. Главное теперь можно вручную, вводя команду G1 Z-2 (почему -2? А потому, что по моему скрипту после нахождения у меня инструмент подпрыгнет на 2.5мм, а 0.5 толщина пластины щупа, т.е. фактически его координата станет 2мм), опустить инструмент почти до уровня текстолита. Почему почти? А для больше точности не помешает поймать самый нежный контакт, а автопоиск довольно груб, т.к. у станка есть некоторая инерция и он немного промахивается. А вот если завести инструмент почти на ноль, а потом вручную, командами G1 Z## сдвигая на сотку-другую вверх или вниз добиться того, что кнопка индикатора начнет мерцать (а она у меня меняет цвет когда происходит касание щупа) от малейшей вибрации в помещении. Скажем когда кто-то мимо прошелся. Да, само собой при этом мы выставляем координаты Х и У в будущий ноль координат исходя из нашей платы. Не путать с нулем станка (машинные координаты).

Дальше, когда ноль найден, то надо обнулить координаты по XYZ и запустить программу сканирования, указать в какой файл записать данные и получить текстовый файл примерно вот такого вида:

0.00000,0.00000,0.00500
7.05500,0.00000,0.03000
14.11500,0.00000,0.03000
21.17000,0.00000,0.06500
28.22500,0.00000,0.07000
35.28500,0.00000,0.11500
42.34000,0.00000,0.12000
49.39500,0.00000,0.16000
56.45500,0.00000,0.14000
63.51000,0.00000,0.14000
0.00000,8.65500,0.00000
7.05500,8.65500,0.00000

Тут все и так ясно — это просто координаты по осям где инструмент коснулся поверхности. Что нам, собственно, и нужно.

Возвращаемся в наш Gcode-Ripper и делаем там Read Probe Data File и наши крестики становятся черными:

Готово. Осталось теперь нажать для верности кнопочку Recalculate и сохранить скорректированный файл. Save G-code File Adjusted. Если теперь их сравнить в каком-нибудь NC-Corrector’e то на виде сбоку будет видно, что у нового файла появился рельеф дна 🙂

старый:

новый:

Таким же макаром правим и обрезку по контуру, иначе вы рискуете не дорезать до конца или наоборот задрать стол. Он, конечно, жертвенный, но лучше обходиться без жертв.


Ободрали изоляцию. Получилось хреново, потому что фреза 0.2 да еще и тупая. А тут бы 0.1 и поострей. Лохмы образуются потому, что контур надо бы обходить в двух направлениях, т.к. фреза когда идет по фольге с одной стороны пропила режет чисто, с другой махратит. И надо обратный проход сделать, снять заусенки. А флаткам не делает его или я не научился еще. Поэтому я их обычно сношу мелкой шкурочкой в пару движений. Еще можно снизить подачу реза, будет намного чище. Или, если шпиндель позволяет, обороты повысить. Вон LPKF Protomat жарит на 100 000 оборотах и там гладенько все.


А это вот уже практически готовая плата. Четыре огромные дырки на месте кнопки это я хорошо факапнулся на эпизоде смены инструмента при сверлении. Когда выложу видео там увидите сами. Надо было поставить после 0.8мм сверла 1мм сверло (или просто нажать «далее», чтобы тем же 0.8мм просверлить), а я не прочитал что мне предложил поставить станок, забыл, что там еще миллиметровые отверстия есть и воткнул сразу 3мм и он мне их весело засверлил 🙂 ЧПУ не прощает ошибок.

Вот как то так. Да, на двусторонке, после переворота текстолита, надо еще раз его простучать щупом.

Кроме обещанной видяшки которую я хз еще когда смонтирую (ненавижу это дело) будет еще одна две статейки по флаткаму и мне тут товарищ набросил альтернативный метод. Я его сверстаю и скоро выложу. На этом тему наверное закрою. Т.к. ну чего там еще рассусоливать то? 😉

51 thoughts on “Гравировка печатных плат на ЧПУ фрезерном станке. Часть вторая. Коррекция кривизны текстолита”

За упор на консоль FlatCAM отдельная благодарность, штука действительно мощная, нужно будет поковырять. На данный момент кругло-непрямоугольные платы режу таким методом https://bitbucket.org/jpcgt/flatcam/wiki/Cutting_the_edges_of_rectangular,_polygonal_or_round_shaped_boards.

Было бы здорово, если бы было уделено время вырезам в плате, что-то с наскока не вышло. И еще один непонятный момент, почему-то из DipTrace сверловка в метрической системе неадекватно в FlatCAM выгоняется, хотя в настройках мм, и в сверловке — METRIC,0000.00. Или это та же история как в Eagle… Но если в DipTrace выбрать в сверловке систему измерения — дюймы, то все на своих местах. При этом во FlatCAM — мм, и все герберы тоже в мм.

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

Чтобы пазы гравирнуть надо их нарисовать на каком-либо отдельном слое который можно в гербер выгрузить. Да хоть на втором слое меди. Флаткаму то пофиг же.

блин, все гениальное — просто!))
я уже несколько вечеров бился над этим, и никак не мог победить!
Спасибо!)

Ага, если выбрать дюймы, то он пишет «Converting units to MM.» и все хорошо. Тоже смирился с этим, в остальном-то все отлично. Прорези тоже не выходят. Стоит галка «фрезеровка (овальные отверстия)» а во FlatCAM они попадают как обычные отверстия. Если первое это мелочи, то второе огорчает конечно. Нужно разбираться.

>>Про сам станок, его конструкцию, настройку и работу если кому то будет интересно я расскажу в другой раз.
Конечно интересно! Я ожидал, что инструментальная часть как раз об этом и будет, а тут опять в основном про софт.

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

Читайте также:  Как включить музыку на компе

Эта тоже так умеет. Там можно сразу скан+рез файл делать. Но как то жутко оно выглядит, надо попробовать.

Здорово. В выходные попробую описанным методом. Пользовался только корректировкой » на лету». Качественно, но на простых платах задалбывает ждать. Собиралсы уже сам писать корректор, но «… всё написано до нас» :). Спасибо.

Не пойму, при начале сканирования mach3 как положено спрашивает о сохранении в текстовый файл, даю имя стартую, сканирование проходит как положено! открываю текстовый файл, он пуст! никто не в курсе в чем загвоздка?
Пробовал и Digitize Wizard в mach3, и g-code_ripper-013 по любому текстовик пуст!

Может ему каких то прав не хватает, чтобы файл записать?

Да уже и под администратором все запускал, эффект тот же, файл создается но по окончанию сканирования он пуст!

А вообще мач может создавать файлы? Там если поковыряться, то вроде можно править гкод и тут же его сохранять. Что то было такое. Режим обучения тоже был, в оригинальном интерфейсе, когда вводишь вручную код, а потом сохраняешь. Попробуй им создать файл, любой гкод и сохранить. Может у тебя сам мач кривой и у него не работает запись в файл.

А еще может у тебя криво работает сам дигитайзер. Ловля нуля работает нормально?

Посмотрел видео, делал один в один, но координат в текстовом файле нема! подозреваю что косячит mach3.
G коды он открывает, правит и сохраняет нормально. Ноль ловится нормально и сканирование проходит как на видео.
Какая у вас система на компе установлена?

Кривой (по понятным причинам) MACH3 — та еще забава. У меня на одной из версий рандомно опускалась фреза, и все это весело шагало домой, перерезая всю заготовку. 🙂

ХП про. Серевиспак вроде бы 2.

Лиценз в принципе абсолютно ничем не отличается, только тем что фигурируют ваши инициалы!
Я на али покупал плату с USB интерфейсом, и продавец вместе с драйверами любезно записал mach3 с файлом лицензии. Думаю глюки больше вылазят от конфигурации железа компа.

Ну вот у меня от продавца станка так и вел себя софт. Мог отшагать всю программу как положено, а мог запороть все в один жест. При этом операционка (XP) специально выделена под станок, все рекомендации и оптимизации выполнены, никто не мешает… Только сменив софт решил проблему, в остальном все осталось как прежде. Что сие было — неведомо.

Запросто могло решится возможной заменой проца, допустим AMD на INTEL, или еще каких железок!

Возможно, но смена версии MACH3 куда проще поочередной замены всего железа. :-))) В итоге несколько месяцев работы без сбоев.

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

Путь к файлу же тоже меняли? Я особо не припомню, но может у него как у FlatCAM непереваримость кириллицы, длинных путей и проч…

Кириллицу в путях и именах не использую, а сохранять пытался в разных местах и С:Mach3GCode и в корень ничего не помогло.

Попробовал на другом компе другой релиз mach3, та же картина текстовик с координатами пуст!
DI HALT а можно глянуть G код который сканирует координаты, может проблема в нем. Голова уже дымится не знаю в какую сторону копать! 🙁

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Как сейчас помню, 23го февраля наткнулся на пост на тудее, где человек хотел гравировать печатные платы на 3д принтере. В комментариях посоветовали не мучать животинку принтер и обратить внимание на проект Cyclone PCB Factory.

Загорелся идеей. В последствии, в какой то момент я даже пожалею что взялся, но это будет сильно позже.

О собственном ЧПУ фрезере для печатных плат я мечтал очень давно, это была вторая хотелка после 3д принтера. Решил повторить проект, тем более что кое-что у меня в закромах уже было.

Скачал файлы проекта и не долго думая принялся печатать детальки. Управился примерно за неделю. Распечатал все, кроме оси Z.

Подробных фотографий всех деталей не осталось. Кому-то делал скриншот настроек печати и результата. Сопло 0,4, высота слоя 0,24. Печатал и слоем 0,28 – вполне нормально печатает.

Станок захотелось сделать цветным, поэтому разные детали печатал пластиком разного цвета. Пластик использовал ABS Prostoplast. Цвета космос, травяной зеленый, алеющий закат.

Лучше бы напечатал все серым космосом. Красный и зеленый оказались достаточно хрупкими и часть деталей дали трещины при сборке. Что-то вылечилось ацетоном, что-то заново перепечатал.

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

Направляющие 8мм добыл из струйных принтеров, раздербанив несколько принтеров на органы. Шерстил местные комиссионки, авито. Донорами стали струйные принтеры HP по 100-200 рублей за штуку. Длинная направляющая пилилась на две части, на оси X и Z.

Прижим бумаги с которого я снял резиновые ролики пошел на ось Y. Длины как раз хватило чтоб обрезать по накатку.

Линейные подшипники оставались с 3д принтера, принтер я перевел на бронзовые втулки в горошек.

В качестве электроники решил использовать одну из своих Arduino Uno на atmega328p. Докупил на Али плату cnc shield 3.0 для Arduino за 200 с копейками рублей.

Блок питания 12В из Леруа Мерлен. Покупал чтоб запитать три 12В галогенки, но он их не потянул. Пришлось отремонтировать трансформатор для галогенок Tachibra, а этот блок питания прижился на станочке.

На 3д принтер я поставил драйвера 8825, с принтера у меня остались a4988. Их и поставил на станок.

Подшипники 608ZZ заказал на Али, десяток за 200 с копейками рублей..

В качестве шпинделя планировал использовать свой китайский гравер GoldTool.

Резьбовые шпильки м8 достались с работы на халяву, остались с какого-то монтажа. Подобрал практически ‘с помойки’.

Пока печатался проект и ехали детали с Али, попросил знакомого мебельщика вырезать из МДФ основание и столик. Он не поленился и не пожалел обрезков, выпилил 2 основания и 2 столика. На фото один из комплектов.

Фанеры у меня в закромах не было, купить лист фанеры не позволило жадное животное. МДФ кстати подошел очень хорошо.

Начал собирать станок. Все бы ничего, но стандартные гайки на 13 проваливались и болтались внутри шестерни, гайки на 14 не лезли в шестерни. Пришлось 14е гайки вплавить в шестерни паяльником.

Шестерни или болтались на осях шагового двигателя, или не лезли.

Гайки винтов м3 прокручивались в посадочных гнездах.

Нашел у себя несколько квадратных гаек под резьбу м3 (разбирал когда-то какой-то штеккер, из него), которые идеально подошли и не прокручивались. На работе еще нашел таких штеккеров и пустил на гайки. В основном это крепления направляющих. Обычные гайки для резьбы м3 приходилось придерживать тонким жалом отвертки, чтоб не прокручивались.

Как-то собрал. Позже читая темы про Cyclone, наткнулся на переработанные детальки станка под метрический крепеж.Из этого набора заново распечатал шестерни и крепление концевика по оси Z. Жаль мне не попался этот набор запчастей раньше. Печатал бы эти запчасти.

В надежде применить свой китайский гравер распечатал сначала одно крепление под дремель из комплекта, потом второе. Не подошло, мой гравер ни в одно не лез. Оригинальный же дремель, самый простой, стоил три с небольшим тысячи рублей. За что .

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

Пришлось за тысячу с небольшим заказать на али 200Вт шпиндель с цанговым зажимом ER11. Удачно попал на скидки и использовал купон.

А вот подшипники на втулках Cargo пришлось из них убрать. Поставил китайские LM8UU

Отдельно хочется сказать про китайские подшипники 608zz. Подшипники с новья с люфтом. Ужасные. Одно что стоят сравнительно не дорого. У нас подшипники не искал.

Кстати подшипники в посадочные места вошли так же, как нечто в прорубь. В посадочных местах подшипники болтались. Не знаю, баг это или фича. В итоге на обоймы подшипников мотнул изоленты.

Китайские lm8uu и lm8luu от 3д принтера так же оказались хламом. В итоге на ось Y сделал подшипники скольжения на втулках Cargo 141091. Распечатал пластиковую обойму и в нее вставил по паре втулок. Получившиеся подшипники вставил в крепления.

На ось Z выбрал более менее живые lm8uu. На ось X верхний подшипник поставил lm8uu, а вместо двух нижних распечатал пластиковую обойму по размеру lm8luu и в нее вставил пару втулок Cargo.

Удачно я ими в свое время закупился. Пригодились.

Во время сборки станка я и пожалел, что взялся. Но, деваться было некуда, надо было проект завершать. Собрал. Запустил!

Еще немного фотографий процесса сборки.

Самое начало сборки.

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

В итоге вот что получилось

Файл подготовил под фрезу 0.2мм, но ее стало жалко. Вдруг сломал бы. В итоге на пробу нарезал рисунок фрезой 0.4мм на кусочке не фольгированного гетинакса. Проба пера, или фрезы.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *