Гравировка печатных плат на ЧПУ фрезерном станке. Работа FlatCam. Полигоны. Вырезы.
Первичное описание работы в FlatCam уже было. Так как интерфейс у нихера неинтуитивный, то опишу еще парочку моментов которые пригождаются в работе. Это снос полигонов и вырезы в плате.
▌Удаление полигонов
Иногда недостаточно сделать изолирующую обрезку контуров, а нужно сносить с платы целые полигоны. Например, в высоковольтной части. Или под радиопередающей частью, чтобы медь не экранировала.
Как вот на этой плате. Как же это сделать? Ну, во первых, нам нужен инструмент. Можно сделать это торцевой фрезой, я же предпочитаю все тот же штихель, только шириной в 1мм. Фрезу жалко на эту работу тратить.
Можно, наверное, и сломаный или стертый 0.1 переточить.
Осталось только сделать обработку под этот инструмент. Открываем FlatCam и грузим в него наш гербер.
крупнее
Выбираем его и на вкладке формирования обработок создаем обработку Non Copper Region. Параметр Boundary Margin показывает какой делать отступ от границ дорожек. А галочка Round Corner спрашивает скруглять ли углы у получившихся контуров. В принципе, разницы нет. У нас фреза все равно имеет довольно большой диаметр 1мм и углы в любом случае будут скругленными.
крупнее
Жмем Generate Geometry и получаем новый объект:
крупнее
Он содержит контура всех не проводящих участков. Если поглядеть, то видно, что в него вошли все места без меди. Осталось в этот контур вписать обработку. Выделяем этот обьект и идем на вкладку Selected.
крупнее
Нас тут в первую очередь интересует метод Paint Area:
В Tool dia надо вписать диаметр нашей фрезы, которой мы будем соскабливать ненужные полигоны. У меня там будет 1мм. В параметр Overlap вписываем перекрытие между проходами. В принципе, указанных на скриншоте 15% вполне хватает. Margin отвечает за отступ от краев нашего полигона. В данном случае отступ, если был, мы указали еще на предыдущем шаге. Осталось определиться с методом обдирки. Standard подразумевает хождение фрезы сужающимися контурами, повторяющими контур полигона. А Seed-based это обработка правильными окружностями.
крупнее
Жмем Generate и нам предлагают кликнуть в нужную область, чтобы указать где надо сделать обработку. Кликаем и получаем траекторию обдирки:
крупнее
Остается только выбрать этот слой и указать уже непосредственные параметры обработки. Глубину фрезеровани я Cut Z (обычно -0.1мм) высоту безопасного перемещения фрезы Travel Z (около 1-2мм), Скорость подачи Feed Rate (я ставлю 300мм в минуту) и снова диаметр фрезы Tool dia.
Обратите внимание, что тут есть еще параметр множественной глубины. Multi Depth с указанием глубины прохода. Т.е. вы можете, например, не просто сносить полигоны, а вырезать углубления в текстолите, например, чтобы разместить какой-нибудь компонент. Да хоть насквозь! Достаточно только под ним указать область и задать контур.
крупнее
Жмем кнопку Generate и получаем уже готовую обработку, которую теперь надо экспортировать в Gcode. Выбираем ее и жмем там кнопку Export Gcode.
крупнее
Можно теперь в NC Corrector поглядеть на результат. Я там иногда подчищаю еще мелкие островки всякие, которые образуются если ткнуть в более сложный контур.
Вот это уже можно можно загонять в Gcode Riper на правку плоскости, как я указывал в инструментальной части, и фрезеровать.
▌Вырезы
Иногда в плате приходится делать вырезы. Например для установки каких-либо корпусных или крепежных изделий. Некоторые детали требуют вырезку под свои выступающие части. Лучше всего все эти вырезы сделать в отдельном гербер файле, не мешать их в файл контура (т.к. контур все равно будет обработан автоматическим скриптом о котором я писал ранее, а вырезы там будут мешать). Их лучше обработать вручную. Чтобы получить именно тот результат, который нам нужен.
Вот, например, такая вот платка.
крупнее
На ней есть вырез под разъем, который для уменьшения высоты утапливается в плату. А также я, для примера, нарисовал разделительный вырез. Такой вы можете видеть в высоковольтных платах между контактами. Чтобы по поверхности платы не прошило если что. Да, сразу настоятельно рекомендую вырез делать не линией, а конкретно рисовать его контуром. Тем самым в гербер файле будет полная информация о самом вырезе, а не только его траектория. Если для поточного производства надо будет оптимизировать каждую мелочь, то проще его поправить вручную. А для штучных вещей лучше сразу все указать и не париться. Заодно точно не срежете лишнего. Т.к. фреза пойдет по контуру выреза, а не по его центру. Также обратите внимание, что контур отличается цветом, т.е. он идет на отдельном слое (Mill). На него будет отдельный гербер файл.
Выгружаем гербера и суем их в flatcam. Дорожки можно обработать скриптом, а потом вручную сделать и Mill слой с конутрами. Я покажу действия только для Mill слоя.
крупнее
Слой с дорожками только для справки и наглядности. Он тут не особо нужен.
Теперь смотрим что тут у нас. Итак, у нас есть гербер с контурами вырезов. Надо под него запилить траекторию реза. Резать будем 1мм фрезой кукурузой. Можно конечно командой
interiors mill.gbr -outname int
Получить геометрию int, проходящую точно по внутреннему контуру наших отверстий:
крупнее
И из нее сделать обработку фрезой. Но проблема в том, что она не учтет диаметр фрезы и у нас получится ,что центр фрезы пройдет по этой линии и срежет +/- 0.5мм вокруг нее. Надо как то сделать смещение внутрь контура на размер инструмента. Проще всего это сделать через операцию isolate. А почему нет? Она же нам даст как раз нужные контура. Вписываем в нее наш диаметр инструмента
крупнее
И вуаля!
крупнее
Только в изоляции у нас два контура, внешний и наружний. А нам нужен только один. Да не проблема вообще, намажем на него interriors и получим обводку внутреннего контура.
interiors mill.gbr_iso -outname int
крупнее
Все, теперь лишний обьект mill.gbr_iso можно удалить, мавр сделал свое дело. Мавр нЭнужен! Ну, а с контуром мы уже знаем что делать:
крупнее
Создаем под него обрезку с нашим инструментом.
крупнее
Фреза пройдет точно по контурам. И экспортируем ее в gcode.
В принципе, а что мешает вмазать в тот же скрипт из прошлой статьи? Да ничего не мешает. Добавить туда секцию обработки гербера Mill с последовательностью команд isolate interriors cncjob write_gcode и в тот же один клик обрабатывать еще и фрезеровки разные. Главное только вначале указать еще и диаметр фрезы которой все это будет делаться. А если гербера этого не будет, то ничего страшного, он просто надает ошибок которые ничему не помешают.
Но, оставляю это на домашнее задание 🙂
Комментарии к статье:
Чтобы оставить комментарий, прокрутите в самый конец статьи Комментировать материал
Обзор на Seek Thermal скоро будет?
Было уже два моих на Geektimes тут может будет, а может нет. Как договоримся 🙂
Seek Thermal плохо)) Советую попробовать Flir One он картинку дает шикарную.но любит привирать. Алгоритм наложения двух изображений не идеален. Далеко не идеален. При смене освещения холодный объект может внезапно стать горячим.
Ну почему сразу плохо? У сиктермала хуевый софт. Но зато гораааздо выше разрешение чем у флира. А у прошки так в разы выше. А у флира разрешение хуже, но зато софт молодцом.
Вот хоть убей не пойму на куя это делать на ЧПУ? У меня вот дома то есть станок с полем 30 на 40 но ни разу не появилось желание делать это нем. Нужен быстрый прототип ЛУТ, нужен прототип с хорошим качеством фоторезист, нужно пром. качество Китай.
Удобней чем лут или резист. Все в одном техпроцессе. А если надо двусторонку так ещё и гораздо проще попасть слой в слой.
DI HALT, не буду спорить, пусть будет 🙂
У меня вот другой вопрос. Рисую я обычно в CAD Eagle и хотелось бы получить на выходе управляющий код для CNC, но не для фрезеровки меди, а для сверления дырок и обрезки по контуру, чтобы потом на эту заготовку можно было накатать фоторезист. Есть предложения?
Да. Для игла есть плагин. Название только не вспомню щас. Там и сверловка и гравировка и контуры. Раз настроил и все. Только там ноль и зеркалирование коряво сделано и поэтому я его не юзаю. А так удобный.
Pcb gcode зовётся плагин.
Если так нравится фоторезист, то вместо шпинделя повесь лазер 405nm. Забудешь о шаблонах навсегда.
Вот, есть хорошее видео процесса:
http://www.youtube.com/watch?v=4SNkzoOvoD8
Ув. DI_HALT, с вами можно связаться, чтобы проконсультировать меня по программированию микроконтроллера AVR? Вообще, я впервые решил заняться этим делом, только приобрёл расходные материалы и т. д.
Итак. Есть переходник usb-ttl232, Atmega1284P, avrdude. Как я только не пытался править конфиг avrdude, менять местами пины, не удалось заставить его хотя бы прочитать сигнатуру контроллера. Однако! Я написал программу на Си, которая работает с com-портом напрямую и посылает команду разрешения программирования. И контроллер мне ответил. Это было видно по мигающему светодиоду, подключенному к MOSI и отображающему эхо-ответ на эту команду. То есть МК рабочий. Прикол в том, что avrdude посылает ту же самую команду (правда, тайминги другие чуть), но МК никак не реагирует
Можете что подсказать? Конечно, я могу ознакомиться с даташитом и сам написать программатор, но лень пока.
А можно добавить теги? Здесь и тут easyelectronics.ru/gravirovka-pechatnyx-plat-na-chpu-frezernom-stanke-chast-pervaya-flatcam.html
А то каждый раз долго искать приходится заранее спасибо!
Есть вариант применить paint area сразу к нескольким полигонам? А то если их много, то заколебешься тыкать на каждый.
А есть возможность выбрать сразу все полигоны? Чтобы не делать несколько геометрий и жкодов, а сразу один раз для всех paint areas?
Тоже такой же вопрос. Что, за три года так и не пофиксили?
Доброго времени суток!
Сформулирую запрос: каким макаром можно во флэткаме вскрыть паяльную маску?
Придумал технологию шкрябинг: http://www.cnc-club.ru/forum/viewtopic.php?f=147t=18196start=20
Суть рисование топологии погопином по маркеру ,-)
В целом весьма удовлетворён: можно получать хороший результат несмотря на раздолбанность китайских поделий (у меня 2418).
В порядке совершенствования технологии, решил попробовать в качестве маски термостойкую баллончиковую краску.
Попробовал для оценки вскрыл площадки вручную и запаял СМД.
Всё отлично!
Но дальше упёрся в то, что не нашёл во флэткаме возможности вскрывать маску по герберу.
Обидно, пнимаш (с)
Что вы можете по этому поводу сказать?
Есть такая возможность или всё таки нету?
http://www.youtube.com/watch?v=7EctuSTL7-w
Вот тут товарищи подпружиненной фрезой срезают маску.
Первая мысль получить слой маски и обработать его как зачистку маленьких полигончиков. Конкретно инструмента вскрытия маски там нет ,но прогоном через скрипты разных обработок можно наверное это получить.
Крутил-крутил FC но так и не понял, как лазерный гравёр к нему прикрутить(((