Сверлильный Станок Для 3D-Принтера И Конвертер Карт Сверловки Из Pcad В G-Код

Здравствуйте, уважаемые жители Хабро.

Сегодня я хочу поделиться небольшой работой, предназначенной для конвертации карт бурения PCAD в G-код. Гибкий, простой и с открытым исходным кодом.

Правда, извините, извините, на Qt. Писать на нем, конечно, приятно, но деплоить и собирать чужие коды.



Первая часть.

Механика.

Некоторое время назад я отложил проект головы от Prius, и вот почему: Пока я ждал микросхемы, пока экспериментировал со схемами, я четко понял, что хочу делать печатные платы дома.

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

Было решено использовать пленочный фоторезист и УФ-лампу для ногтей.

Естественно, возникла проблема со сверлением и металлизацией отверстий.

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

В противном случае подача тока в каждое отверстие – это целая история.

Получается, что ручное сверление уже не нужно, потому что.

Ориентироваться просто не на что (не будем предлагать бумагу с картами отверстий).

Было решено приделать к имеющемуся 3D-принтеру шпиндель вместо головки Direct и жить так.

И вот решения, которыми я хотел бы поделиться сегодня.



Сменная головка для RepRap

Чтобы принтер можно было легко превратить в дрель и наоборот, было решено сделать головку съемной.

Ползунок, прикрученный к ремням, отдельный, все остальное съемное.

Учитывая, что это не бог знает как сложно, выкладывать это в отдельную статью нет смысла.

Здесь только фото и ссылки STL-модели , если кто хочет точно такой же.

В архиве также присутствуют исходники SLDPRT, если вам нужно что-то подправить.

Скачивается медленно - спасибо ADSL от Белтелекома, но должно оставаться там долго.

Результат оказался таким:

Сверлильный станок для 3D-принтера и конвертер карт сверловки из PCAD в G-код



Сверлильный станок для 3D-принтера и конвертер карт сверловки из PCAD в G-код



Сверлильный станок для 3D-принтера и конвертер карт сверловки из PCAD в G-код



Сверлильный станок для 3D-принтера и конвертер карт сверловки из PCAD в G-код



Головка-шпиндель

Здесь все просто — после долгих попыток создать свой шпиндель я решил купить его на AliExpress и просто повесить на кронштейн.

Фото нет, все еще в процессе.



Генератор G-кода

И вот здесь начинается веселье.

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

Что тебе не понравилось? Негибкость.

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

Да это не сложно.

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

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

Но после металлизации доску нельзя укладывать 1:1. Но это мысли на будущее.

Мне это пока не нужно.

Но это уже возможно.

В общем, хотелось чего-то простого, легкого, гибкого и.

работоспособного.

Я решила побрызгать сама.

В качестве основы использовались библиотеки Qt 5.11. Приложение написано в консольном стиле.

Архитектура приложения выполнена в стиле Linux. Входными данными для приложения является файл DRL, взятый из PCAD при создании комплекта Geber. (Возможно, вам придется доработать парсер, если вы хотите скормить ему что-нибудь из AltiumDesigner. Но лично я для себя решил от греха подальше снести этого монстра Altium. Почему теперь он появляется в кошмарах, и не дает мне забыть своего имя).

Параметр представляет собой XML-файл.

Вторая половина статьи будет посвящена описанию формата этого файла.

Этот файл по сути определяет механизм генерации G-кода (или, по сути, любого текстового файла) для передачи его (G-кода) на 3D-принтер.



Как работает приложение

  1. Формат ДХО (M48 или Экселлон ).

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

  2. С данными, полученными на шаге 1, идем в XML, ищем там узел скрипта и просто выполняем все, что там написано.

    Есть пять операторов, но больше нам не нужно.

  3. Во время выполнения шага 2 возникли инструкции печати.

    Результат выводится в выходной поток.



Часть вторая.

Формат XML-файла

Чтобы сделать программу максимально гибкой, была использована библиотека ScriptEngine. Я был немного ошеломлен тем, что теперь реально можно сделать с конфигурацией.

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

Такая же ситуация возникает, если в шаблоне G-Code встречается комбинация ${бла-бла-бла}.

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

Исходные коды Гит Пример файла для моего принтера

   

<xml>

Теги: #3D принтеры #Периферия #3d принтер #печатные платы #конвертация
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.