Фрезерование печатных плат на фрезерном станке Roland. Фрезерный станок для печатных плат


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

Изготавливать печатные платы возможно на следующих фрезерных гравировальных станках с ЧПУ

 

 

Изготовление печатных плат - задача которая в XXI веке должна выполняться роботами или на фрезерных станках с числовым программным управлением.

Большинство фрезерных станков MAGIC позволяет изготавливать печатные платы: сверлить и фрезеровать отверстия.

 

 

На видео кратко показан процесс изготовления печатных плат без травления

 

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

Расстояние между дорожками печатной платы может быть от 0,05 мм. Размер отверстий от 0,2 мм. При этом минимален риск поломки тончайших сверел, поскольку подачу сверла осуществляет станок в автоматическом режиме и строго перпендикулярно печатной плате.

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

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

 

 

 

Для изготовления печатных плат можно использовать следующие фрезерные станки с ЧПУ

 

 

У вас нет прав добавлять отзывы

redt-magic.ru

Фрезы для обработки печатных плат (меди и текстолита) - Работа с материалами печатных плат

Долго здесь висел вопрос по этой теме - решил там ответить, а здесь сделать не просто зеаркальный, а более подробный ответ :

Давно видел Ваш пост, но надеялся, что Зеноновские ребята ответят, т.к. о других поставщиках фрез здесь говорить нельзя, а я пользуюсь другим поставщиком (для меня там надежней, быстрей и привычней : - это WWW.GRAVMAN.RU ) - но они так и не ответили - поэтому не вдаваясь в типы фрез (в каталоге у него там их найдете) дам общие рекомендации:

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

2. мысль про конусные - правильная (а также для гравировки меди на текстолите), а с шариком на конце - это для 3D - обработок...

3. для текстолита есть специальные марки цилиндрических фрез со стружколомом ( это тип A2ST - для Текстолита, Стекловолокна) - но и они долго не живут, если используем по стеклотекстолиту (стекло очень абразивное), хотя применял для этого и советские из сплава ВК (тоже лучше брать со стружколомом, хотя и шпоночными двухперыми резал и фрезеровал - по стеклотекстолиту служат до 2х часов - потом тупятся в нуль и ломаются)...

4. сверлить платы лучше не фрезами (нет из прочного материала с диаметром 0.6, 0.7, 0.8мм), а сверлами ( либо из сплавов ВК либо с карбидным напылением (они имеют золотистое покрытие карбида титана - есть еще у меня для этих целей "стратегический " запас еще с советских времен, которые еще упрочнял "закалкой" в жидком азоте, но теперь частенько встречается в продаже вместо них откровенное д***о), но для них надо соответствующие цанги, поэтому предпочитаю пользоваться цельными сверлами из ВК с крепежным диаметром 2мм (есть такие цанга, но не в базовой комплектации китайских станков)...

Также здесь предлагаю завязать разговор по производству экспериментальных плат на фрезерых станках (софт файлоподготовки и прочее в этом духе)

mir-cnc.ru

Гравировка печатных плат на ЧПУ фрезерном станке. Часть первая. FlatCam

Кто палит группку моей лабы в ВК уже наверное видел, что у меня там последнее время сплошняком идет тема фрезеровки плат. Я покупал фрезерный станок прежде всего для того, чтобы на нем сверлить, резать и вытачивать разные корпусные изделия. Как дополнение к 3D принтеру. Гравировать на нем именно рельеф печатных плат, вместо классического травления в хлорном железе , как то даже не подразумевалось. Но ради любопытства попробовал. Получилось занятно. Хотя и довольно шумно. Для простых плат, пожалуй, этот способ даже предпочтительней травления. Т.к. в одном цикле позволяет получить и сверловку и обрезку. Да и двусторонние платы теперь делать намного проще. Т.к. совмещать верх с низом гораздо проще при фрезеровке, чем при травлении. Ну обо всем по порядку.

▌СофтНадо как то получить план резки в формате GCODE для ЧПУ станка, а у нас есть только стандартные GERBER и Exellon Drill. Способов это сделать много. Например, в eagle есть скрипт pcb2gcode который, будучи один раз сконфигурированный, позволяет подготовить все нужные файлы в один клик. Правда у него есть довольной неприятный недостаток — он весьма криво зеркалит плату, просто переворачивая координаты. В результате двусторонки в нем делать неудобно. Ну и не все пользуются иглом, поэтому я решил описать более универсальный способ получения гкода из гербера.

Воспользуемся такой замечательной програмкой как FlatCam. Это опенсорцное, кроссплатформенная штука, написанная на питоне. Интерфейс у него, как это принято в опенсорце, кривое, тормозное и глючное УГ с невнятной юзабельностью… Но! Это все отлично компенсируется тем, что графический интерфейс этой хреновины, после окончательной настройки и подбора всех параметров, вам нужен чуть чаще чем никогда. У FlatCam есть внутренняя консоль, похожая на консоль и eagle или AutoCAD. Куда можно скармливать команды и он сам все будет строить. А внутренняя консоль приложения это лучший интерфейс который можно придумать. Почему? А потому что в него можно загонять скрипты которые будут делать все рутинные операции автоматом. За что я, собственно, так люблю автокад и игл. Но обо всем по порядку.

Запилим двустороннюю плату. Возьмем стандартный набор gerber файлов который я отправляю на печать. О том как он формируется в EagleCAD я писал в одной из своих старых статей.

У нас там будет набор из файлов, из которых нам нужны только будут файлы

top_metal.gbr — верхний слойbottom_metal.gbr — нижний слойDimensions.gbr — контур платыdrill.txt — сверловка

У меня они делаются запуском JOB проекта для CAM Eagle. Вот, можете скачать его и использовать. Корректный файл препроцессора, вывод которого без проблем принимают и наши конторы и китайские.

Запускаем FlatCam. Открывается такое белое окошко. Давайте все настроим. Идем во вкладку Options. И выбираем там Applications Default:

И выставляем там подряд все настройки. Во первых миллиметры, ибо империал нам нахер не упал.

Plot Options это просто настройки отображения. На результат не влияет. Галочка Plot решает за отображение, Sold за закраску, а Multicolored за разноцветность слоев.

Isolations Routing это то самое вырезание дорожек. Давайте тут сразу зададим дефолтные значения. Диаметр инструмента. Острие у штихеля может быть 0.1 или 0.2мм. Толще тоже бывают. Но эти самые ходовые. Лучше если параметр этот превосходит реальную ширину инструмента. Т.к. больше будет допуск и шире итоговые дорожки. Но, ни в коем случае не уже реального инструмента. Если сделать слишком широкие, то некоторые трассы просто не будут проложены, это будет видно. Между ними просто не пройдет инструмент. Так что надо ловить компромис. Обычно вкатывает 0.23 почти всегда.

Width (#passes) сколько делать проходов. Обычно один или два. Для очень узких дорожек не больше одного, а если топология жирная, да еще с силовыми дорожками и высокими напряжениями, то можно и побольше, для надежности.

Pass Overlap: перекрытие проходов. Указывается в частях от ширины. Т.е. 0.15 это 15% от ширины инструмента. Достаточно, чтобы сточить широкую канавку из двух, а не получить два штриха.

Combine Passes — эта галочка сливает разные проходы в одну обработку. Если ее не поставить, то у вас два прохода дадут два файла. Иногда полезно.

Board Cutout — обрезка платы. Тут также указываешь диаметр инструмента (Tool Dia:). На этот раз уже фрезы которая будет отрезать текстолит. Margin — это отступ от края контура по которому будет резаться. Gap size это ширина крепежных язычков, которыми будет соединена плата с пластиной из которой ее будут вырезать. Ну чтобы он не улетела в никуда. Потом их выламывают просто и все. В параметре Gaps можно выбрать где будут эти язычки и сколько их будет. Варинтов тут 2(T/B) — два вверху и внизу, 2(L/R) — два слева и справа, четыре штуки. Но эта хрень вещь бесполезная. Т.к. она умеет обрабатывать только квадратные платы. А если плата другой формы, то она обрезку сделает под квадрат. Как обкорнать не квадратную плату я расскажу ниже. Там все не просто.

Non-copper regions — настройки определяющие полигоны которые надо снести. Тут только задавать смещение от изначальной геометрии (Boundary Margin), там же галочка на скругление углов (Rounded Corners). Я не заморачивался тут с ними никогда.

Exellon Options — отображение сверловок. Plot — отображение, Solid — заливка. На конечный результат не влияет. Чисто опции интерфейса.

Create CNC JOB определяют параметры сверловки. Там есть глубина сверловки Cut Z, обычно ставится как толщина платы+0.2мм. Высота на которой сверло будет перемещаться к следующей точке — Travel Z, скорость подачи в мм/мин Feed rate. Я обычно ставлю 30. Торопиться тут некуда, особенно с очень тонкими сверлами. Toolchange Z — высота смены инструмента. Обычно при сверловке приходится менять сверла, т.к. много типов разных отверстий. Вот, для удобства, можно сразу задать высоту смены инструмента. Чтобы туда станок уходил перед остановкой на замену. Spindle speed это скорость вращения шпинделя, если конечно ваш ЧПУ станок может ей рулить. Мой вот не умеет (но я работаю над этим). Mill Holes — это интересная опция, указываем ей предельный диаметр. Скажем 1мм и все отверстия больше 1мм он будет пытаться не сверлить, а фрезеровать. Тогда можно воткнуть вместо сверла фрезу диаметром 1мм и забить на остальные размеры. Он их фрезанет и все.

Geometry Options — это, как я понял, настройки фрезеровки разных полигонов. Там все как и обычно Cut Z глубина фрезеровки, я поставил -0.1мм. Travel Z — безопасная высота перемещения от места до места, обычно пару миллиметров над платой. Feed Rate — скорость подачи. Тут индивидуально все. Tool dia — диаметр инструмента или его режущей кромки.

Paint Area — этим инструментом делается выкашивание меди с больших полигонов, как бы закрашивание их гравировкой. Тут все аналогично. Ставится диаметр инструмента (Tool dia), можно взять фрезу побольше т.к. 0.2 штихелем попробуй заштрихуй все, задается перекрытие проходов (Overlap) и отступ от от исходной линии контура который будет закрашен.

Ну и последний пункт это CNC Job Options. Он хорош тем, что тут можно еще раз указать диаметр инструмента (как понял, он пойдет в справку в гкод) и задать начальный кусок гкода (prepend) , который тупо вставится в начало и конечyый кусок гкода, который будет в конце (append). Тут можно пихать что угодно. Смену инструмента, остановку-пуск шпинделя, какие то подготовительные мероприятия и что на душу положит.

Все, настройка завершена и теперь все проекты будут использовать эти цифры как дефолтные значения. Это куда удобней, т.к. меньше риск что-либо забыть.

Создаем новый проект через File — New и вгружаем в него наши гербер файлы. Через File-OpenGerber и File-Open Exellon. Грузим все файлы.

Интерфейс тут, как я уже говорил, через жопу. На вкладке Project выбираем файл, на вкладке Selected делаем из него следующий шаг, у нас в проекте появляется еще один файл и с ним работаем дальше и так далее. И все это в правой части экрана в одну кашу сливается. Хотя выбрав файл, можно отключить отображение, сняв галочку с Plot. Причем если убрать отображение вообще всех слоев, то галочка Plot не снимется. Придется ее «передернуть», чтобы вернуть отображение обратно.

Скрываем все слои, кроме того с которым будем работать. Начнем со слоя Top. Выбираем его на вкладе Project и переходим на вкладку Selected (я предупреждал, что интерфейс наркоманский!)

Если вы изначально правильно настроили все дефолтные значения, то тут уже ничего крутить не надо. Все что нужно уже подставлено. Если нет, то заполните нужные значения. Теперь видите там ниже кнопки Generate Geometry в конце каждой секции? Каждая эта кнопка генерирует свой объект. Нас интересует Isolation — она сделает раскрой дорожек, с учетом ширины фрезы и количества проходов.

Поскольку все данные внесены, то жмем Generate Geometry и получаем результат:

Тут же можно и сделать обрезку платы. Это тоже сформирует отдельный обьект под обрезку. Это в следующей секции Board Cutout. Выбираем там нужные опции (о них было сказано выше, в описании общей настройки) и жмем под секцией кнопку Generate Geometry. Правда функция эта убогая и работает только для прямоугольных плат. Хрень, короче.

А на вкладке Project появился еще один объект:

Это контур нашей фрезеровки изолирующей проводники. Выбираем его и переходим в Selected, а там уже нас ждет подготовка под фрезеровку Create CNC Job:

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

Это трассировка. Теперь ее надо выгрузить в GCODE. Выбираем его, переходим на вкладку Selected и жмем кнопку Export GCODE, сохраняем файл. Готово!

Теперь разберемся со сверловкой. Сверлить будем с морды.

Да, если при вставке drill.txt из Eagle у вас в FlatCam отверстия убредают черт знает куда, то дело все в том, что в Eagle кривоватый экспорт Drill который иногда обрезает незначащие нули впереди. А формат Exellon этого не любит. Для этого у флаткама есть специальная опция. Надо написать в консоли FlatCam’a

set_sys excellon_zeros T

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

Выбираем наш Drill.txt и переходим на вкладку Selected. Тут нас поджидают диаметры отверстий. Можно выбрать все сразу и тогда они будут просверлены за один заход.

Если же поставить галочку Tool Change, то после отсверловки каждого диаметра станок будет останавливаться и показывать смену инструмента. Ну или менять его, если есть соответствующая оснастка. Там же можно указать высоту смены инструмента — Tool Change Z. Удобно когда бошка сама уходит на удобную высоту. А можно выбирать диаметры отдельно и получить несколько программ под каждый инструмент в отдельности. Когда все параметры указали, то жмем Generate и получаем еще один объект:

Выбираем его и делаем EXPORT GCODE

Получили сверловку в виде GCODE файла.

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

Итак, убираем все лишние слои с экрана и открываем только bottom. Теперь в главном меню в пункте Tool выбираем инструмент Double Sided PCB Tool и он появляется на вкладке Tool

Выбираем там слой который мы будем зеркалить. Это наш Bottom_metal.gbr. А дальше надо выбрать:

Ось симметрии, по которой плата будет зеркалиться. А также реперные точки. В графу point box указываем координаты точки через которые должна пройти ось симметрии. Направление оси (по х или по у мы уже указали выше). Пусть будет по X. Как узнать координаты? А тут просто, кликаем мышкой примерно в середине платы. При клике у нас в буфер обмена сохраняются координаты куда мы кликнули. Их мы вставляем в поле Point Box. Через эту точку примерно пройдет ось симметрии:

Теперь надо поставить реперные отверстия. Их надо ставить слева и справа от платы по одну сторону оси симметрии:

Точно также, кликаем и копипастим их координаты в поле Aligment Hole через запятую. Только расставля их учитывайте, то, что они должны быть За зоной фрезеровки контура, отмеченной желтым цветом. Если это проебать, то у вас фреза при обрезке контура врежется в реперные штыри. Осталось только вписать диаметр реперных отверстий и нажать кнопку Create Aligment Drill и у вас появляются отличные симметричные реперные точки.

Теперь жмем кнопку Mirror Object и относительно той же оси симметрий наш слой bottom_metal.gbr зеркально развернется.

Все, теперь повторяем с ним те же операции, что и со слоем Top. Т.е. сформировать геометрию через Isolation Routing, потом по ней сделать Create CNC Job и экспортировать GCODE.

Aligment Drills экспортируем в GCODE точно также как мы это делали в с обычной сверловкой. Будут отдельным файлом.

Осталось самую малость. Сделать контур обрезки. Я уже говорил, что это можно сделать через CutOut, но он убогий и режет только прямоугольники. Даже если у вас плата в форме круга, он зафигачит вам его квадратуру. А это как бы не айс. К сожалению НОРМАЛЬНО через графический интерфейс тут ничего не сделать. Но графический интерфейс у флаткама всасывает по мощности консольному. Выполняем несколько комманд:

isolate Dimensions.gbr -dia 2 -passes 1 -outname cut

Эта команда сделает изолирующий контур вокруг фигуры Dimension.gbr, что есть контур нашей платы инструментом диаметром 2мм, нашей отрезной фрезой то есть. Сделает за один проход и сохранит в выходном объекте с именем cut.

exteriors cut -outname cutout

Эта команда возьмет наш обьект cut и на его основе сделает еще один обьект, по большей его кромке (т.к. isolate делает два контура, изолируя контур платы как изолировала бы дорожку). Результатом станет объект cutout

delete cut

Удаляем обьект cut т.к. он уже не нужен, а помойку разводить в проекте не хочется.

geocutout cutout -dia 2 -gapsize 0.8 -gaps tb

Эта команда обходит по контуру и создает траекторию резки. Причем она понимает и крепежные язычки. dia это диаметр режущей фрезы в 2мм, gapsize это размер крепженых язычков, а gaps их расположение. В данном случае tb означает top & bottom. Но можно указать число, например, 4. И будет четыре язычка.

cncjob cutout -z_cut -1.6 -z_move 2 -feedrate 60 -tooldia 2 -spindlespeed 20000 -outname cutout.tap

Эта команда делает обьект фрезеровки из траектории cutout углубляюсь на глубину z_cut в 1.6мм (толщина текстолита), безопасная дистанция z_move 2 мм над платой. С подачей feedrate 60мм/сек и диаметром обрезной фрезы в 2мм. Также указана скорость шпинделя spindlespeed 20000. Выходной файл зовется cutout.tap

delete cutout

Удаляем промежуточный обьект cutout, чтобы не засорял проект.

Все, у нас есть cutout.tap из которого можно сделать экспорт GCODE как мы уже делали раньше. Только обратите внимание на то, что у нас обрезка не зеркальная. Т.е. мы сверлим репера, сверлим основные отверстия, фрезеруем Top, потом переворачиваем плату, сажаем на репера, фрезераем Bottom, снова переворачиваем и фрезеруем контур. Чтобы сделать зеркальный Dimensions.gbr можно там же, где мы делали зеркалирование Bottom, после выставления точек реперов и оси симметрии и переворота Bottom слоя выбрать слой Dimensions и не меняя других значений нажать кнопку Mirror и для него. А потом уже сделать операцию формирования обрезки командами.

Команды не обязательно вставлять по одному, можно скопипастить прям пачкой, вот так:isolate Dimensions.gbr -dia 2 -passes 1 -outname cutexteriors cut -outname cutoutdelete cutgeocutout cutout -dia 2 -gapsize 0.8 -gaps tbcncjob cutout -z_cut -1.6 -z_move 2 -feedrate 60 -tooldia 2 -spindlespeed 20000 -outname cutout.tapdelete cutout

Теперь вы понимаете, почему я так матюгаюсь на интерфейс этой программы. СКОЛЬКО надо делать телодвижений для создания платы. А хотелось бы быстрей. И это возможно! Видели какой там командный интерфейс! А ведь можно сделать текстовый файл, куда записать все эти команды и запустить его как параметр к FlatCam и он начнет работать по нему сам. Скажем, вот такой файл cmd.tcl

new

set_sys excellon_zeros T

open_gerber d:/Mill/eagle/FTD/FT2232_db/Dimensions_mr.gbropen_gerber d:/Mill/eagle/FTD/FT2232_db/Bottom_metal_mr.gbropen_excellon d:/Mill/eagle/FTD/FT2232_db/drill_mr.txt

isolate Dimensions_mr.gbr -dia 1.5 -passes 1 -outname cutexteriors cut -outname cutoutdelete cutgeocutout cutout -dia 1.5 -gapsize 0.8 -gaps tbcncjob cutout -z_cut -1.2 -z_move 2 -feedrate 60 -tooldia 1.5 -spindlespeed 20000 -outname cutout.tapdelete cutoutwrite_gcode cutout.tap d:/Mill/eagle/FTD/FT2232_db/Dimensions_mr.tap

isolate Bottom_metal_mr.gbr -dia 0.23 -passes 1 -overlap 0.5 -combine 1 -outname bottomcncjob bottom -z_cut -0.15 -z_move 2 -feedrate 100 -tooldia 0.2 -spindlespeed 20000 -outname bottom.tapdelete bottomwrite_gcode bottom.tap d:/Mill/eagle/FTD/FT2232_db/Bottom_mr.tap

drillcncjob drill_mr.txt -drillz -1.6 -travelz 3 -feedrate 100 -spindlespeed 300 -toolchange True -outname drill.tapwrite_gcode drill.tap d:/Mill/eagle/FTD/FT2232_db/Drill_mr.tap

Скармливаем через параметр командной строки FlatCam’у:

«c:\Program Files (x86)\FlatCAM\FlatCAM.exe» —shellfile=cmd.tcl

И у нас автоматом подгружаются нужные файлы из проекта (уже отзеркаленные заранее герберы и сверловки), тут же закидываются нужные обработки и автоматом все экспортируется в GCODE. И на выходе получаем готовые комплект планов резки-сверловки для односторонней платы. Автоматически!

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

Продвинутые юзеры могут написать скрипт на cmd или bash, сделать на плате сразу какие-нибудь хитрые отверстия, скажем с диаметром 1.2345678мм , сгрепать их по характерным диаметрам из drill файла вместе с координатами и на их основе забацать координатные заморочки с зеркалированием строк.

Благо все команды хорошо документированы и расписаны в одном месте на сайте программы

Я пока так не упарывался. Но на батничках немного поразвлекался. Поскольку двусторонки я делаю редко, а обычно справляюсь односторонками, то в первую очередь сделал себе батник для быстрой генерации фрезеровки под односторонку. Гербер файлы надо выдать в отзеркаленном виде. То же касается и сверловки. В Eagle это делается просто. В CAM процессоре задаем следующие параметры:

После чего сохраняем этот набор как Job и если нам надо фрезануть плату, то запускаем это задание и получаем пачку нужных файлов:

  • bottom_metal_mr.gbr — рисунок дорожек
  • Dimensions_mr.gbr — контур платы
  • Drill_mr.txt — сверловка.

_mr сигнализирует о том, что файлы отзеркалены. Настоятельно рекомендую сделать такие пометки в выводе. Чтобы ничего не перепуталось потом.

Дальше запускаем следующий батник:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 :: Умолчания @SET DIA=2 @SET GAP=0.8 @SET GAPS=tb @SET DPT=1.6 @SET FR=60 @SET GRV=0.1 @SET PAS=2 @SET GRVW=0.3   ::Имена файлов и пути @SET DIMEN=Dimensions_mr.gbr @SET ISOL=Bottom_metal_mr.gbr @SET DRI=drill_mr.txt @SET FP="c:\Program Files (x86)\FlatCAM\FlatCAM.exe"   @ECHO Обрезка платы по контуру dimension_mr.gbr. Cверловка drill_mr.txt Гравировка bottom_metal_mr.gbr @ECHO. @ECHO По умолчанию: @ECHO Диаметр фрезы = %DIA% мм @ECHO Подача фрезы = %FR% мм/мин @ECHO Ширина язычка = %GAP% мм @ECHO Расп. язычка = %GAPS% @ECHO Глубина сверл. = %DPT% мм @ECHO Глубина грав. = %GRV% мм @ECHO Ширина штихеля = %GRVW% мм @ECHO Проходов грав. = %PAS%   @ECHO.   @SET /P DIA=Введите диаметр отрезной фрезы: @SET /P FR=Введите скорость подачи обрезки контура: @SET /P GAP=Введите ширину крепежного язычка: @SET /P GAPS=Введите параметры расположения язычка (8,4,tb,lr,2tb,2lr): @SET /P DPT=Введите глубину сверления отверстий (обычно это толщина текстолита+0.2): @SET /P GRV=Введите глубину гравировки (0.05...0.2): @SET /P GRVW=Введите ширину лезвия штихеля гравера: @SET /P PAS=Введите количество проходов гравера:       :: Берем текущий каталог set dp=%CD%   :: Меняем в нем слеши на обратные (это надо флаткаму) set dp=%dp:\=/%   :: Вбиваем программу. echo new > cmd.tcl echo set_sys excellon_zeros T >> cmd.tcl   :: Грузим файлы из корня echo open_gerber %dp%/%DIMEN% >> cmd.tcl echo open_gerber %dp%/%ISOL% >> cmd.tcl echo open_excellon %dp%/%DRI% >> cmd.tcl   ::Первым под обрезку идет контур. echo isolate %DIMEN% -dia %DIA% -passes 1 -outname cut >> cmd.tcl echo exteriors cut -outname cutout >> cmd.tcl echo delete cut >> cmd.tcl echo geocutout cutout -dia %DIA% -gapsize %GAP% -gaps %GAPS% >> cmd.tcl echo cncjob cutout -z_cut -%DPT% -z_move 2 -feedrate %FR% -tooldia %DIA% -spindlespeed 20000 -outname cutout.tap >> cmd.tcl echo delete cutout >> cmd.tcl echo write_gcode cutout.tap %dp%/Dimensions_mr.tap >> cmd.tcl   :: Гравировка поверхности echo isolate %ISOL% -dia %GRVW% -passes %PAS% -overlap 0.5 -combine 1 -outname bottom >> cmd.tcl echo cncjob bottom -z_cut -%GRV% -z_move 2 -feedrate 100 -tooldia 0.2 -spindlespeed 20000 -outname bottom.tap >> cmd.tcl echo delete bottom >> cmd.tcl echo write_gcode bottom.tap %dp%/Bottom_mr.tap >> cmd.tcl   :: Затем идет сверловка echo drillcncjob %DRI% -drillz -%DPT% -travelz 3 -feedrate 100 -spindlespeed 300 -toolchange True -outname drill.tap >> cmd.tcl echo write_gcode drill.tap %dp%/Drill_mr.tap >> cmd.tcl     :: Последним шагом запускаем флаткам и скармливаем ему этот скрипт. %FP% --shellfile=%dp%/cmd.tcl

:: Умолчания @SET DIA=2 @SET GAP=0.8 @SET GAPS=tb @SET DPT=1.6 @SET FR=60 @SET GRV=0.1 @SET PAS=2 @SET GRVW=0.3 ::Имена файлов и пути @SET DIMEN=Dimensions_mr.gbr @SET ISOL=Bottom_metal_mr.gbr @SET DRI=drill_mr.txt @SET FP="c:\Program Files (x86)\FlatCAM\FlatCAM.exe" @ECHO Обрезка платы по контуру dimension_mr.gbr. Cверловка drill_mr.txt Гравировка bottom_metal_mr.gbr @ECHO. @ECHO По умолчанию: @ECHO Диаметр фрезы = %DIA% мм @ECHO Подача фрезы = %FR% мм/мин @ECHO Ширина язычка = %GAP% мм @ECHO Расп. язычка = %GAPS% @ECHO Глубина сверл. = %DPT% мм @ECHO Глубина грав. = %GRV% мм @ECHO Ширина штихеля = %GRVW% мм @ECHO Проходов грав. = %PAS% @ECHO. @SET /P DIA=Введите диаметр отрезной фрезы: @SET /P FR=Введите скорость подачи обрезки контура: @SET /P GAP=Введите ширину крепежного язычка: @SET /P GAPS=Введите параметры расположения язычка (8,4,tb,lr,2tb,2lr): @SET /P DPT=Введите глубину сверления отверстий (обычно это толщина текстолита+0.2): @SET /P GRV=Введите глубину гравировки (0.05...0.2): @SET /P GRVW=Введите ширину лезвия штихеля гравера: @SET /P PAS=Введите количество проходов гравера: :: Берем текущий каталог set dp=%CD% :: Меняем в нем слеши на обратные (это надо флаткаму) set dp=%dp:\=/% :: Вбиваем программу. echo new > cmd.tcl echo set_sys excellon_zeros T >> cmd.tcl :: Грузим файлы из корня echo open_gerber %dp%/%DIMEN% >> cmd.tcl echo open_gerber %dp%/%ISOL% >> cmd.tcl echo open_excellon %dp%/%DRI% >> cmd.tcl ::Первым под обрезку идет контур. echo isolate %DIMEN% -dia %DIA% -passes 1 -outname cut >> cmd.tcl echo exteriors cut -outname cutout >> cmd.tcl echo delete cut >> cmd.tcl echo geocutout cutout -dia %DIA% -gapsize %GAP% -gaps %GAPS% >> cmd.tcl echo cncjob cutout -z_cut -%DPT% -z_move 2 -feedrate %FR% -tooldia %DIA% -spindlespeed 20000 -outname cutout.tap >> cmd.tcl echo delete cutout >> cmd.tcl echo write_gcode cutout.tap %dp%/Dimensions_mr.tap >> cmd.tcl :: Гравировка поверхности echo isolate %ISOL% -dia %GRVW% -passes %PAS% -overlap 0.5 -combine 1 -outname bottom >> cmd.tcl echo cncjob bottom -z_cut -%GRV% -z_move 2 -feedrate 100 -tooldia 0.2 -spindlespeed 20000 -outname bottom.tap >> cmd.tcl echo delete bottom >> cmd.tcl echo write_gcode bottom.tap %dp%/Bottom_mr.tap >> cmd.tcl :: Затем идет сверловка echo drillcncjob %DRI% -drillz -%DPT% -travelz 3 -feedrate 100 -spindlespeed 300 -toolchange True -outname drill.tap >> cmd.tcl echo write_gcode drill.tap %dp%/Drill_mr.tap >> cmd.tcl :: Последним шагом запускаем флаткам и скармливаем ему этот скрипт. %FP% --shellfile=%dp%/cmd.tcl

Отвечаем на вопросы в диалоговом режиме, если жать Enter, то будут подставлены умолчания. А под конец запустится флаткам и сделает все сам :)

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

easyelectronics.ru

Гравировка печатных плат на ЧПУ фрезерном станке. Работа в FlatCam. Полигоны. Вырезы.

Гравировка печатных плат на ЧПУ фрезерном станке. Работа 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 и в тот же один клик обрабатывать еще и фрезеровки разные. Главное только вначале указать еще и диаметр фрезы которой все это будет делаться. А если гербера этого не будет, то ничего страшного, он просто надает ошибок которые ничему не помешают.

Но, оставляю это на домашнее задание :)

easyelectronics.ru

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

Разработка электроники с помощью фрезерного станка с ЧПУ

Студент ФабЛаба рассказывает, как он моделировал и фрезеровал печатную плату на станке Roland Modela.

Задача: разобраться в основах проектирования электроники. Повторить печатную плату "Hello World" и добавить по меньшей мере, на неё ещё одну кнопку и светодиод.

В работе мы использовали программный пакет Eagle – специализированное программное обеспечение для создания печатных плат, а также библиотеки Adafruit, Eagle и Fab Academy для получения необходимых компонентов.

Для начала рекомендуется ознакомится с первыми тремя частями учебного руководства по CadSoft Eagle от Jeremy Blum'а:

Скачать необходимые файлы для рассматриваемой в данной статье работы можно по следующим ссылкам:Схема для Eagle [.sch]Печатная плата для Eagle [.brd]

Список компонентов для изготовления платы (номиналы - см. в схеме): 1 шт. конденсатор CAP1206 1 шт. кварцевый резонатор 1 шт. 8-битовый микроконтроллер ATtiny44A-SSU 5 шт. резисторов 1206 1 шт. кнопка-переключатель 6 мм 1 шт. разъём для подключения Arduino (ARDUINO_SERIAL_PROGRAM SMD Pin) 1 шт. разъём AVRISP SMD 1 шт. RGB-светодиод

Процесс изготовления печатной платы:

Я чувствую себя очень комфортно, используя в качестве помощника при работе с электроникой программный пакет Eagle. Тем не менее, трудности возникали при поиске нужных компонентов в библиотеках. Например, мне необходимо было поменять конденсатор с простого на электролитический, и это оказалось непросто. Но после того, как я их все нашёл и разместил на схеме, используя модуль Schematic Design, я начал делать соединения - т.е. рисовать печатную плату.

При соединении элементов я руководствовался схемой в файле hello.ftdi.44 .png, но в силу отсутствия специализированных знаний мне всё-таки было трудновато понять, как конкретно в данной схеме работают и на какие параметры влияют применяемые резисторы и конденсаторы. Пришлось почитать "Энциклопедию электронных компонентов" под авторством Чарльза Платта, чтобы разобраться как использовать эти элементы на данной плате, особенно при попытке добавить несколько новых компонентов.

Я решил добавить кнопку и цветной светодиод на свою плату. Для расчёта номиналов резисторов я посмотрел описания используемых компонентов, а также зашёл на онлайн-калькулятор сопротивлений чтобы всё рассчитать. Когда я закончил со схемой, я продолжил вносить изменения в печатную плату. Я разместил все элементы так как мне показалось оптимально, и запустил автотрассировку. Она весьма неплохо развела печатную плату и вручную почти ничего не пришлось доделывать, кроме изменения буквально пары соединений. Когда файл с печатной платой в Eagle был готов, я сохранил его как .png-файл, сделал контур в Фотошопе и отправил его на фрезерный станок Roland Modela для непосредственного её изготовления. Здесь пришлось сделать несколько попыток. Первая попытка не увенчалась успехом, так как я неудачно - неровно - расположил заготовку и в некоторых местах фреза прошла где-то слишком глубоко, а где-то слишком грубо, и соединения были повреждены.

А вот вторая попытка фрезерования удалась на славу. Печатная плата вышла чёткая и чистая, но как только я начал припаивать компоненты, я заметил допущенную уже другую ошибку: двое из выводов микроконтроллера были подключены неверно. Пришлось вернуться в Eagle, исправлять, и фрезеровать снова.

В третий раз я всё сделал наверняка. Станок добротно вырезал плату, а после - я красиво всё запаял.

Заметка: Когда дело дошло до программирования, оказалось, что плата не работает. Была допущена очередная ошибка с соединением. Начитавшись литературы и окончательно разобравшись в принципах работы данной схемы, перерисовал её, отфрезеровал её снова с помощью фрезерного станка, и запрограммировал. Плата получилась даже проще и компактнее:

engraver.ru

Изготовление печатных плат на ЧПУ станке

ЧПУ станок очень удобно использовать в домашней радиолюбительской мастерской для изготовления печатных плат как макетов  изделий, так и малых партий изделий. Наличие гравировально – фрезерного ЧПУ в домашней мастерской или малом предприятии позволяет как  сократить время необходимое на изготовление печатной платы при изготовлении макетов, прототипов малых партий продукции, так и повысить качество изготавливаемых печатных плат по сравнению с другими способами изготовления. Использование станка с числовым программным управлением  позволяет выполнять полный спектр операций по изготовлению печатной платы — фрезеровку проводящего рисунка (дорожек),  сверление отверстий как для установки компонентов так и для межслойных переходов,  обрезки и платы по контуру.

Для начала необходимо создать проект печатной платы. Для этого очень удобно использовать очень  популярную в среде радиолюбителей программу Sprint Layout 6. При разработке нужно учитывать технологические особенности обработки фольгированного текстолита на станке с чпу, то есть  производить трассировку достаточно широкими  дорожками,  оставляя необходимые зазоры для прохождения гравера/фрезы и т.д. Точкой начала отсчета координат необходимо  выбрать ЛЕВЫЙ НИЖНИЙ УГОЛ,  рисунок 1.

рисунок1

На слое О рисуем контур (границы) печатной платы по которым будет производиться обрезка готовой платы. Толщину линий указываем в зависимости от диаметра используемой для обрезки платы фрезы. Контролируем, зазор между краем платы и дорожками, чтобы контур не пересекалися с дорожками. Для того, чтобы плата после вырезки по не была выброшена из заготовки и не повредилась фрезой, оставляем перемычки, на которых плата будет держаться в заготовке. Их легко можно будет потом перекусить бокорезами при  извлечении готовой платы. Выключаем лишние слои и предварительно осматриваем плату, рисунок 2.

рисунок 2

Открываем окно настройки «стратегий» фрезеровки, рисуноки 3 и 4.

рисунок 3

   рисунок 4

В оконе  «ширина дорожки» (рисунок 4) указываем толщину нашего режущего инструмента. Например гравер с режущим кончиком 0,6мм. Для удобства дальнейшей обработки ставим галочку «наметить отверстия». Нажимаем «Ок».  Сохраняем в удобном для нас месте рисунок 5.

   рисунок 5

После вычисления траектории обработки плата будет выглядеть следующим образом , рисунок 6:

рисунок 6

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

  рисунок 7

На данном этапе необходимо внимательно отследить траекторию движения фрезы — проконтролировать отсутствие замыкания между проводящими дорожеками не принадлежащими к одоимённой цепи . При выявлении ошибки – исправить и пересохранить файл.Далее необходимо подготовить управляющую программу, для станка. С помощью утилиты Step Cam 1.79 (скачать можно в интернете) открываем наш файл фрезеровки, производим настройку рабочей подачи и глубины резания (зависит от использумого станка, инструмента и материала) и конвертируем в G-code, нажав клавишу Make G-code. Программа на основе файла фрезеровки сгенерирует G-код обработки. Увидеть результат генерации G-кода можно с помощью вкладки Action -> Draw G-code. Если ничего не отобразится – нужно кликнуть мышью в окошке, рисунок 8.Опытным путем подбиаем глубину фрезеровки, стараясь настроить станок так, чтобы фреза/гравер снимал только слой меди, с небольшим перерезанием. Данный параметр зависит от толщины медной фольги фольги используемого текстолита.

  рисунок 8

Нажимаем Save G-code. Файл готов.Загружаем файл в Mach4,проводим визуальный контроль загруженного файла. Выставляем нули на станке, запускаем обработку.Для сверлнения отверстий в плате и вырезания по контуру настройка и подготовка файлов аналогична. Примерные настройки указаны на рисунках 9 и 10.Сверление рисунок 9:

   рисунок 9

Фрезеровка платы по контуру, рисунок 10:

  рисунок 10

Сохраняем настройки для сверления и фрезеровки контура отдельно. Загружаем в Step Cam. Указываем глубину обработки, в зависимости от толщины используемого текстолита, с небольшим перерезанием. К примеру при толщине текстолита 1,5 мм выставляем для сверления 1,6-1,7 мм. Фрезеровку по контуру желательно выполнять в 2 – 4 прохода, в зависимоти от характеристик режущего инструмента. Для этого задаем в Step Cam глубину погружения при фрезеровке 0,5 мм, а затем после каждого прохода на станке вручную опускаем по оси  «Z» инструмент и обнуляем.

Некоторые нюансы работы на станке при изготовлении печатной платы:1.    Поверхность рабочего стола должна быть максимально плоской и ровной. Один из вариантов добиться этого – сделать «жертвенный стол» из фанеры и отторцевать его. Для этого к основному рабочему столу станка крепится лист фанеры, а затем с помощью крупной фрезы фрезеруется «ложе» под плату на небольшую глубину (1-2мм).2.    Стеклотекстолит не всегда идеально ровный материал, и толщина его тоже может варьироваться. Поэтому резать необходимо с небольшим перерезанием. Некоторые опытные люди специально составляют карты высот, для более точной обработки. Степень перерезания определяется опытным путем.3.    Для фрезеровки можно использовать гравер типа «пирамидка» с кончиком от 0,4 до 1мм. Для сверления существуют сверла на 0,8-1,5мм с хвостовиком под стандартную цангу 3,175мм. Вырезать по контуру лучше всего фрезой «кукуруза» 2-3мм.4.    Инструмент каждый раз меняется вручную. Для этого после выполнения, например фрезеровки дорожек, останавливаем шпиндель, станок оставляем в режиме удержания. Поднимаем режущий инструмент на удобную для замены высоту, меняем. После этого производим выставление нуля по оси «Z». И так при каждой смене инструмента. Координаты X и Y не обнуляем.5.    Не забываем, что стеклотекстолит не самый полезный материал для организма. Особенно вредна пыль текстолита для дыхательных путей. Поэтому желательно организовать вытяжку или иным другим способом удалять лишнюю пыль из области резки. Можно например периодически смачивать печатную плату водой или друой подходящей жидкостью, с помощью медицинского шприца. Неплохо с задачей защиты дыхательных путей справится влажная повязка на нос/рот или респиратор.

!Статья носит ознакомительный характер, основана на личном опыте автора и не является единственно верным и возможным решением.

Фрезеровка проводников печатных плат

hobby-cnc.ru