Станки с чпу для печатных плат. Фрезеровка печатных плат в домашних условиях Чпу станок печатных плат своими руками

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

Вот первая версия моего платосверлила:

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

Пока ждал железо, замутил могучую подсветку для этого станка



прибор говорит что ОЧЕНЬ ЯРКО. Но работать комфортно, регулировку подсветки решил не делать

вот фото в работе

Начал пилить привод оси У. Решил просто добавить немного деревяшек к существующей конструкции

Обратите внимание на нанотехнологичное соединение вала с ходовым винтом

Для этого был куплен датчик стопсигнала от ваза какого то, и безжалостно раздолбан, чтобы осталась только латунная трубка

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


В качестве мозгов станка выступит ардуино нано, ибо кодить для чего-то более серьезного я не могу. Управление при помощи потенциометра и энкодера с кнопкой.
Сам драйвер называется в интернете EASY DRIVER, что как бы говорит о простоте работы с ним. Это верно. Ему нужно два сигнала - STEP и DIR. Первым мы шагаем движком, вторым говорим, в какую сторону шагать. После пробы топорной библиотеки для него я решил написать всё сам, получилось в итоге неплохо.
Питается это всё от ноутбучного блока питания на 19 вольт. Драйвер может пропустить через себя до 30 вольт, а мотор с патроном рассчитан на 24, если не ошибаюсь, оборотов у него все таки маловато.

Видео первого теста:

Энкодером можно двигать шпиндель вверх-вниз по оси У, переменный резистор задает расстояние, на которое шпиндель сдвинется за один щелчок энкодера, а так же задает скорость подачи при нажатии кнопки «СВЕРЛИТЬ!» Очень удобно оказалось использовать заранее подготовленный алгоритм проделывания отверстия. Так же для понта приделал валявшийся дисплей. Подключил его с помощью вот такого ? чтобы сэкономить ноги ардуины

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

посмотреть








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

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

Планирую купить +25 Добавить в избранное Обзор понравился +63 +109

Я не люблю травить печатные платы. Ну не нравится мне сам процесс возни с хлорным железом. Там напечатай, тут проутюжь, здесь фоторезист проэкспонируй - целая история каждый раз. А потом еще думай, куда бы слить хлорное железо. Я не спорю, это доступный и простой метод, но лично я его стараюсь избегать. А тут случилось у меня счастье: достроил я фрезер с ЧПУ. Тут же появилась мысль: а не попробовать ли фрезеровать печатные платы. Сказано - сделано. Рисую простенький переходник c завалявшегося esp-wroom-02 и начинаю свой экскурс во фрезеровку печатных плат. Дорожки специально сделал мелкими - 0,5 мм. Ибо если такие не выйдут - то и ну нафиг эту технологию.



Так как лично я делаю печатные платы раз в пять лет по большим праздникам - мне для проектирования вполне хватает KiCAD. Для него специализированных удобных решений я не нашел, но есть более универсальный путь - с использованием gerber-файлов. В этом случае все относительно просто: берем pcb, экспортируем нужный слой в gerber (никаких зеркалирований и прочей магии!), запускаем pcb2gcode - и получаем готовый nc-файл, который можно отдать фрезеру. Как всегда, реальность - злая зараза и все оказывается несколько сложнее.

Получение gcode из gerber-файлов

Итак, как получить gerber-файл, я особенно описывать не планирую, я думаю, это все умеют. Дальше нужно запустить pcb2gcode. Оказывается, он требует примерно миллион параметров командной строки, чтобы выдать что-то приемлемое. В принципе, документация у него неплохая, я ее осилил и понял, как получить какой-то gcode даже так, но все же хотелось казуальности. Потому был найден pcb2gcode GUI . Это, как подсказывает название, GUI для настройки основных параметров pcb2gcode галочками, да еще и с предпросмотром.



Собственно, на этом этапе получен какой-то гкод и можно пробовать фрезеровать. Но пока я тыкал в галочки, выяснилось, что дефолтное значение заглубления, которое предлагает этот софт, - 0,05 мм. Соответственно, плата должна быть установлена во фрезере как минимум с точностью выше этой. Я не знаю, у кого как, но у меня рабочий стол у фрезера заметно более кривой. Самое простое решение, что пришло в голову, - поставить на стол жертвенную фанерку, отфрезеровать в ней карман под размеры плат - и она окажется идеально в плоскости фрезера.


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

Учет кривости текстолита

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



Как видно, с одного края платы фреза практически не задевает медь, с другого - слишком углубилась в плату, при фрезеровке пошли крошки текстолита. Посмотрев внимательно на саму плату, я заметил, что она изначально неровная: слегка выгнутая, и, как ты с ней ни мучайся, какие-то отклонения по высоте будут. Потом, кстати, я посмотрел и выяснил, что для печатных плат толщиной более 0,8 мм допуск ±8 % считается нормальным.


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


Мой станок управляется grbl’ом на дешевом китайском шилде. У grbl есть поддержка щупа на пине A5, но вот специального разъема на моей плате почему-то не выведено. Внимательно рассмотрев ее, я все же обнаружил, что пин A5 выведен на разъем SPI порта (подписанный как SCL), земля там тоже рядом есть. С этим «датчиком» одна хитрость - провода нужно переплести между собой. Во фрезере крайне до фига наводок, и без этого датчик будет постоянно давать ложные срабатывания. Даже после переплетения продолжит, но сильно-сильно реже.




Команда говорит: начинай спускаться вниз вплоть до –10 по Z (абсолютная это или относительная высота - зависит от режима, в котором сейчас прошивка). Спускаться будет очень медленно - со скоростью 5 мм/мин. Это вызвано тем, что сами разработчики не гарантируют, что спуск остановится ровно в момент срабатывания датчика, а не чуть позже. Поэтому лучше спускаться медленно, чтобы все остановилось вовремя и не успело уйти в плату по самое не балуйся. Лучше всего первый тест проводить, подняв голову на высоту сильно больше 10 мм и сбросив систему координат. В таком случае, даже если все не сработает и вы не успеете дотянуться до кнопки E-Stop’а, фреза не будет запорота. Можно провести два теста: первый - ничего не делать (и по достижении –10 grbl выдаст «Alarm: Probe Fail»), второй - пока оно едет вниз, чем-нибудь замкнуть цепь и убедиться, что все остановилось.


Дальше надо найти метод, как, собственно, промерить матрицу и исказить gcode как нужно. На первый взгляд, у pcb2gcode’а есть какая-то поддержка autoleveling’а, но поддержки именно grbl’а нет. Там есть возможность задать команды запуска пробы руками, но с этим надо разбираться, а мне, честно говоря, было лень. Пытливый ум мог бы заметить, что у LinuxCNC команда запуска пробы совпадает с командой grbl. Но дальше идет непоправимое различие: все «взрослые» интерпретаторы gcode’а сохраняют результат выполненной пробы в машинную переменную, а grbl просто выводит в порт значение.


Легкое гугление подсказало, что есть еще довольно много разных вариантов, но мне на глаза попался проект chillpeppr :


Это система из двух компонентов, предназначенная для игры с железом из вебни. Первый компонент - Serial JSON Server, написанный на go, запускается на машине, подключенной непосредственно к железке, и умеет отдавать управление последовательным портом по вебсокетам. Второй - работает у вас в браузере. У них есть целый фреймворк для построения виджетов с каким-то функционалом, которые потом можно засовывать на страничку. В частности, у них уже есть готовый workspace (набор виджетов) для grbl и tinyg.


И у chillpeppr’а есть поддержка autoleveling’а. Да еще и с виду он сильно удобнее UniversalGcodeSender’а, которым я пользовался до этого. Ставлю сервер, запускаю браузерную часть, трачу полчаса на то, чтобы разобраться с интерфейсом, загружаю туда gcode своей платы и вижу какую-то фигню:



Посмотрев в сам gcode, который генерирует pcb2gcode, вижу, что он использует нотацию, когда на последующих строках не повторяется команда (G1), а даются только новые координаты:


G00 X1.84843 Y34.97110 (rapid move to begin.) F100.00000 G01 Z-0.12000 G04 P0 (dwell for no time -- G64 should not smooth over this point) F200.00000 X1.84843 Y34.97110 X2.64622 Y34.17332 X2.69481 Y34.11185 X2.73962 Y34.00364 X2.74876 Y31.85178 X3.01828 Y31.84988 X3.06946 Y31.82249 X3.09684 Y31.77131

Судя по тому, что chilipeppr показывает только вертикальные движения, он видит строку G01 Z-0.12 здесь, но не понимает все, что идет после F200. Нужно переделывать на explict нотацию. Конечно, можно руками поработать или напилить какой-нибудь post-processing скрипт. Но никто еще не отменил G-Code Ripper , который среди прочего умеет бить сложные команды gcode’а (типа тех же дуг) на более простые. Он же, кстати, тоже умеет по матрице autoprobe’а искривлять gcode, но встроенной поддержки grbl’а опять нет. Зато можно сделать тот самый split. Мне вполне подошли стандартные настройки (разве что в конфиге пришлось заранее поменять единицы измерения на mm). Результирующий файл начал нормально отображаться в chilipeppr:



Дальше запускаем autoprobe, не забыв указать расстояние, с которого опускать пробу, и ее глубину. В моем случае я указывал, что надо опускать с 1 до –2 мм. Нижняя граница не так важна, ее можно поставить хоть –10, но я бы не советовал: пару раз неудачно выставил начальную точку, с который надо запускать пробу, и крайние точки оказывались за пределами платы. Если заглубление больше - можно и гравер сломать. А так просто ошибка. От уровня верхней границы напрямую зависит то, как долго он будет промерять поверхность. В моем случае реально плата почти никогда не уходила за пределы 0,25 мм вверх или вниз, но 1 мм как-то надежнее. Жмем заветную run и бежим к фрезеру медитировать:



А в интерфейсе chilipeppr появляется потихоньку промеренная поверхность:



Здесь надо обратить внимание, что все значения по Z умножены на 50, дабы лучше визуализировать получившуюся поверхность. Это настраиваемый параметр, но 10 и 50 хорошо работают, на мой взгляд. Я достаточно часто сталкиваюсь с тем, что какая-то одна точка оказывается сильно выше, чем можно от нее ожидать. Лично я связываю это с тем, что датчик ловит-таки наводки и дает ложное срабатывание. Благо chilipeppr позволяет выгрузить карту высот в виде json’ки, ее можно руками после этого поправить, а потом руками же загрузить. Дальше жмем кнопку «Send Auto-Leveled GCode to Workspace» - и в перце уже загружен поправленный гкод:


N40 G1 X 2.6948 Y 34.1118 Z0.1047 (al new z) N41 G1 X 2.7396 Y 34.0036 Z0.1057 (al new z) N42 G1 X 2.7488 Y 31.8518 Z0.1077 (al new z) N43 G1 X 3.0183 Y 31.8499 Z0.1127 (al new z) N44 G1 X 3.0695 Y 31.8225 Z0.1137 (al new z) N45 G1 X 3.0968 Y 31.7713 Z0.1142 (al new z)

В код добавлены перемещения по Z, которые должны компенсировать неровность поверхности.

Выбор параметров фрезеровки

Запускаю фрезеровку, получаю вот такой результат:



Тут видно сразу три момента:

  1. Проблема с неровностью поверхности ушла: прорезано (точнее, процарапано) все практически на одну глубину, нигде нет пропусков, нигде не заглубился слишком сильно.
  2. Заглубление недостаточное: 0,05 мм явно не хватает для этой фольги. Платы, кстати, какой-то неизвестный зверь с AliExpress, толщину меди там не указали. Слой меди бывает разный, наиболее распространенные - от 18 до 140 мкм (0,018-0,14 мм).
  3. Явно видны биения гравера.

Про заглубление. Подобрать то, насколько глубоко надо опускать гравер, несложно. Но есть специфика. Конический гравер имеет в проекции форму треугольника. С одной стороны, угол сведения к рабочей точке определяет, насколько инструмент тяжело сломать и как долго он проживет, а с другой - чем больше угол, тем шире будет рез при заданном заглублении.



Формула расчета ширины реза при заданном заглублении выглядит так (нескромно взята с reprap.org и исправлена):


2 * penetration depth * tangens (tool tip angle) + tip width

Считаем по ней: для гравера с углом 10 градусов и точкой контакта 0,1 мм при заглублении 0,1 мм мы получаем ширину реза почти 0,15 мм. Исходя из этого, кстати, можно прикинуть, какое минимальное расстояние между дорожками сделает выбранный гравер на фольге выбранной толщины. Ну и еще, даже если вам не надо очень маленьких расстояний между дорожками, слишком глубоко фрезу опускать все равно не стоит, так как стеклотекстолит очень сильно тупит фрезы даже из твердых сплавов.


Ну и тут есть еще смешной момент. Допустим, у нас есть две дорожки, отстоящие друг от друга на 0,5 мм. Когда мы прогоним pcb2gcode, он посмотрит на значение параметра Toolpath offset (насколько отступать от дорожки при фрезеровке) и фактически сделает между дорожками два прохода, отстоящие друг от друга на (0,5 – 2 * toolpath_offset) мм, между ними останется (а скорее всего, сорвется) какой-то кусочек меди, и будет это некрасиво. Если же сделать toolpath_offset большим, чем расстояние между дорожками, то pcb2gcode выдаст warning, но сгенерирует только одну линию между дорожками. В общем случае для моих применений это поведение более предпочтительно, так как дорожки получаются шире, фреза режет меньше - красота. Правда, может возникнуть проблема с smd-компонентами, но маловероятно.


Есть выраженный случай такого поведения: если задать очень большой toolpath_offset, то мы получим печатную плату в виду диаграммы Вороного. Как минимум - это красиво;) На эффект можно посмотреть на первом скриншоте из pcb2gcode, что я давал. Там показано, как она будет выглядеть.


Теперь про биения гравера. Это я их зря так называю. Шпиндель у меня неплохой вроде и так сильно, конечно, не бьет. Тут скорее кончик гравера при перемещении изгибается и прыгает между точками, давая вот ту странную картину с точечками. Первая и основная мысль - фреза не успевает прорезать и потому перепрыгивает. Легкое гугление показало, что народ фрезерует печатные платы шпинделем на 50к оборотов со скоростью примерно в 1000 мм/мин. У меня шпиндель дает 10к без нагрузки, и можно предположить, что резать надо со скоростью 200 мм/мин.

Результаты и вывод

Учтя все это, промеряю новый кусок текстолита, запускаю фрезеровку и получаю вот такой результат:



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



В общем, перспективы у этого всего есть. Когда процесс отработан, построение матрицы высот занимает минут пять-семь, потом непосредственно фрезеровка - пару минут. Вроде можно экспериментировать дальше. Зато можно потом сверловку делать на том же станке. Еще прикупить заклепок, и будет счастье! Если тема интересна, то могу написать еще одну статью про сверловку, двусторонние платы и пр.

▌Станок
Для гравировки платы нужен фрезерный станок ЧПУ. Кудаж без него. У меня тут какой то китаец без роду и племени. С рабочим столом 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## сдвигая на сотку-другую вверх или вниз добиться того, что кнопка индикатора начнет мерцать (а она у меня меняет цвет когда происходит касание щупа) от малейшей вибрации в помещении. Скажем когда кто-то мимо прошелся. Да, само собой при этом мы выставляем координаты Х и У в будущий ноль координат исходя из нашей платы. Не путать с нулем станка (машинные координаты).

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мм и он мне их весело засверлил:) ЧПУ не прощает ошибок.

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

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

Оптимальным и популярным на сегодняшний день способом является фрезеровка печатной платы на ЧПУ.

Традиционно, есть три способа создания любительских печатных плат:

  1. Фрезеровка печатных плат на ЧПУ.
  2. Использование переноса тонера и химическое травление в хлорном железе, но в данном методе может быть сложным достать нужные материалы, плюс ко всему, химикаты – опасные вещества.
  3. С помощью платных услуг предприятий, которые этим занимаются – услуги довольно недорогие, цена зависит от трудоемкости заказа, сложности и объема. Но это не очень быстрый процесс, поэтому придется ждать некоторое количество времени.

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

Преимущества и недостатки фрезерования плат на ЧПУ

Данный способ довольно быстрый, но имеет как плюсы, так и минусы.

  • минимальные затраты человеческого труда, почти всю работу делает станок;
  • экологичность процесса, нет взаимодействия с опасными веществами;
  • простота повторного производства. Для этого достаточно установить один раз правильные настройки – и процесс можно легко повторить;
  • массовость производства, так как можно изготовить достаточно большое количество необходимых изделий;
  • экономичность, идут затраты средств только на приобретение фольгированного стеклотекстолита, который стоит около 2 долларов за лист с размерами 200х150 мм;
  • высокое качество изготовления.
  • режущие инструменты и торцевые фрезы могут быть дорогими, а также они имеют свойство изнашиваться;
  • нет возможности изготавливать данный вид продукта при помощи фрез повсеместно;
  • фрезерование может занять некоторое время;
  • при снятии большого количества меди за один проход канавки фрезы забиваются, что затрудняет работу и ухудшает качество обработки;
  • размер реза зависит от диаметра фрезы и точности фрезерования. Если планируется использование SMD – деталей, необходимо тщательно проверить программу фрезеровки.

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

Все производство данного продукта делится на такие шаги:

  1. Поиск или самостоятельная проработка схемы и разводка дорожек.
  2. Подготовка нужных файлов для дальнейшего производства.
  3. Непосредственное производство.

Для 1 этапа на просторах интернета можно найти большое количество ПО, такого как Sprint Layout, PCad, OrCad, Altium Designer, Proteus и многие другие. Данные программы подойдут для проработки схем и разводки дорожек. Самым популярным сейчас является фрезеровка печатных плат на ЧПУ из программы Sprint Layout. Видео о ней вы сможете найти на нашем сайте.

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

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

Программное обеспечение

Основная трудность фрезеровки печатных плат – это наличие нужных программ, которые позволят перевести рисунок платы в G-Code. Важным аспектом данного момента является то ПО, в котором вы в самом начале занимаетесь разработкой топологии.

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

  1. Закрепление заготовки на станине, фиксация специальной насадки в шпинделе для того, чтобы просканировать поверхность чтобы увидеть и определить неровности.
  2. Установка фрезы для дорожек в шпиндель, и сам запуск программы для фрезерования.
  3. Установка сверла для сверления отверстий и запуск программы для сверления.
  4. Последним этапом является обрезка ПП по контуру при помощи фрезы. Далее плату можно свободно вынимать из листа текстолита, процесс производства завершен.

На вопрос, как сделать станок с ЧПУ, можно ответить кратко. Зная о том, что самодельный фрезерный станок с ЧПУ, в общем-то, – непростое устройство, имеющее сложную структуру, конструктору желательно:

  • обзавестись чертежами;
  • приобрести надёжные комплектующие и крепежные детали;
  • подготовить хороший инструмент;
  • иметь под рукой токарный и сверлильный станки с ЧПУ, чтобы быстро изготовить.

Не помешает просмотреть видео – своеобразную инструкцию, обучающую – с чего начать. А начну с подготовки, куплю всё нужное, разберусь с чертежом – вот правильное решение начинающего конструктора. Поэтому подготовительный этап, предшествующий сборке, – очень важен.

Работы подготовительного этапа

Чтобы сделать самодельный ЧПУ для фрезерования, есть два варианта:

  1. Берёте готовый ходовой набор деталей (специально подобранные узлы), из которого собираем оборудование самостоятельно.
  2. Найти (изготовить) все комплектующие и приступить к сборке ЧПУ станка своими руками, который бы отвечал всем требованиям.

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

Если принято решение создать станок ЧПУ своими руками и обойтись без готовых наборов узлов и механизмов, крепёжных деталей, нужна та схема, собранный по которой станок будет работать.

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

Сборка некоторых важных узлов станка

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

  • винтовая передача – вращение передаётся, используя зубчатый ремень. Он хорош тем, что не проскальзывают на шкивах, равномерно передавая усилия на вал фрезерного оборудования;
  • если используют шаговый двигатель (ШД) для мини-станка, желательно брать каретку от более габаритной модели принтера – помощнее; старые матричные печатные устройства имели достаточно мощные электродвигатели;

  • для трёхкоординатного устройства, понадобится три ШД. Хорошо, если в каждом найдётся 5 проводов управления, функционал мини-станка возрастёт. Стоит оценить величину параметров: напряжения питания, сопротивления обмотки и угла поворота ШД за один шаг. Для подключения каждого ШД нужен отдельный контроллер;
  • с помощью винтов, вращательное движение от ШД преобразуется в линейное. Для достижения высокой точности, многие считают нужным иметь шарико-винтовые пары (ШВП), но это комплектующая не из дешевых. Подбирая для монтажа блоков набор гаек и крепежных винтов, выбирают их со вставками из пластика, это уменьшает трение и исключает люфты;

  • вместо двигателя шагового типа, можно взять обычный электромотор, после небольшой доработки;
  • вертикальная ось, которая обеспечивает перемещение инструмента в 3D, охвачивая весь координатный стол. Её изготовляют из алюминиевой плиты. Важно, чтобы размеры оси были подогнаны к габаритам устройства. При наличии муфельной печи, ось можно отлить по размерам чертежей.

Ниже – чертёж, сделанный в трёх проекциях: вид сбоку, сзади, и сверху.

Максимум внимания – станине

Необходимая жесткость станку обеспечивается за счёт станины. На нее устанавливают подвижной портал, систему рельсовых направляющих, ШД, рабочую поверхность, ось Z и шпиндель.

К примеру, один из создателей самодельного станка ЧПУ, несущую раму сделал из алюминиевого профиля Maytec – две детали (сечение 40х80 мм) и две торцевые пластины толщиной 10 мм из этого же материала, соединив элементы алюминиевыми уголками. Конструкция усилена, внутри рамы сделано рамку из профилей меньших размеров в форме квадрата.

Станина монтируется без использования соединений сварного типа (сварным швам плохо удаётся переносить вибронагрузки). В качестве крепления лучше использовать Т-образные гайки. На торцевых пластинах предусмотрена установка блока подшипников для установки ходового винта. Понадобится подшипник скольжения и шпиндельный подшипник.

Основной задачей сделанному своими руками станку с ЧПУ умелец определил изготовление деталей из алюминия. Поскольку ему подходили заготовки с максимальной толщиной 60 мм, он сделал просвет портала 125 мм (это расстояние от верхней поперечной балки до рабочей поверхности).

Этот непростой процесс монтажа

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

  • знающий умелец начинает с крепления на корпусе первых двух ШД – за вертикальной осью оборудования. Один отвечает за горизонтальное перемещение фрезерной головки (рельсовые направляющие), а второй за перемещение в вертикальной плоскости;
  • подвижной портал, перемещающийся по оси X, несет фрезерный шпиндель и суппорт (ось z). Чем выше будет портал, тем большую заготовку удастся обработать. Но у высокого портала, в процессе обработки, – снижается устойчивость к возникающим нагрузкам;

  • для крепления ШД оси Z, линейных направляющих используют переднюю, заднюю, верхнюю, среднюю и нижнюю пластины. Там же сделайте ложемент фрезерного шпинделя;
  • привод собирают из тщательно подобранных гайки и шпильки. Чтобы зафиксировать вал электродвигателя и присоединить к шпильке, используют резиновую обмотку толстого электрокабеля. В качестве фиксатора могут быть винты, вставленные в нейлоновую втулку.

Затем начинается сборка остальных узлов и агрегатов самоделки.

Монтируем электронную начинку станка

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

Для того, чтобы не было проблем в управлении, у самодельных станков с ЧПУ, среди узлов, есть обязательные:

  • шаговые двигатели, некоторые остановились напримере Nema;
  • порт LPT, через который блок управления ЧПУ можно подключить к станку;
  • драйверы для контроллеров, их устанавливают на фрезерный мини-станок, подключая в соответствии со схемой;

  • платы коммутации (контроллеры);
  • блок электропитания на 36В с понижающим трансформатором, преобразующем в 5В для питания управляющей цепи;
  • ноутбук или ПК;
  • кнопка, отвечающая за аварийную остановку.

Только после этого станки с ЧПУ проходят проверку (при этом умелец сделает его пробный запуск, загрузив все программы), выявляются и устраняются имеющиеся недостатки.

Вместо заключения

Как видите, сделать ЧПУ, которое не уступит китайским моделям, – реально. Сделав комплект запчастей с нужным размером, имея качественные подшипники и достаточно крепежа для сборки, эта задача – под силу тем, кто заинтересован в программной технике. Примера долго искать не придётся.

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

На ЧПУ выполняется обработка дюралевой заготовки. Таким станком, который собрал умелец, можно выполнить много фрезерных работ.

Еще один образец собранного станка, где плиту ДВП используют как рабочий стол, на котором возможно изготовление печатной платы.

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