воскресенье, 18 сентября 2016 г.

Как печатать на 3D принтере.

3D принтеры печатающие пластиковые изделия методом послойного наплавления (FDM или FFF) являются станками с ЧПУ (числовым программным управлением). Как и для всех остальных станков с ЧПУ для 3D принтеров существует специальный язык программирования, в большинстве случаев это G-код. Контроллер почти любого 3D принтера распознаёт и выполняет G-коды. G-коды занимают большой объём в памяти компьютера и слишком сложны для того чтобы создавать ими инструкции принтеру для печати изделий поэтому обычно форма будущего изделия создаётся в каком либо графическом редакторе (например Blender) после чего сохраняется в формате STL в котором храниться, передаётся и.д. а если возникает необходимость напечатать изделие то специальные программы слайсеры (например Slic3r) создают G-коды по этой модели непосредственно перед печатью. Не смотря на это знание G-кода всё таки может пригодится человеку использующему 3D принтер т.к. возможности слайсеров ограничены. Необходимо также учитывать то что для 3D принтеров наборы выполняемых ими команд, в большинстве случаев, различаются между собой. Например дельта принтеры с прошивкой Marlin не могут выполнять команду G2 т.е. нет специальной команды для того чтобы делать круги поэтому их, в таком случае, необходимо делать линиями используя команду G1 для рисования линий. Список всех команд поддерживаемых принтерами RepRap можно посмотреть на странице http://reprap.org/wiki/G-code. Теперь давайте рассмотрим простейший набор команд для печати пластиковой полоски длинной 10 мм:

M104 S220 ;установить температуру экструдера 220 градусов цельсия
M109 S220 ;не делать ничего пока не установиться температура 220 градусов
G28 ;вернуть сопло в исходное положение
G1 X0 Y0 Z0 E0 F500 ;опустить сопло к центру поверхности печати
G1 X10 Y0 Z0 E5 F200 ;напечатать полоску
M104 S220 ;отключить нагреватель экструдера
G28

В данном языке как и в большинстве остальных имеется возможность делать комментарии - надписи игнорируемые транслятором и предназначенные для пояснений. Комментарии пишутся после точки с запятой (т.е. это не конец команды а начало комментария (концом является перевод строки (как в питоне))). Назначение первых трёх команд понятно из комментариев. 
M104 -установить температуру экструдера,
M109 -не делать ничего пока не установиться температура написанная после знака "S",
S28 -возврат в исходное положение,
Четвёртую команду рассмотрим подробнее. G1 - это команда для создания линий (наиболее часто используемая). После надписи "G1", через пробелы, задаются координаты точки в которую необходимо переместить сопло из которого будет выходить пластик. В большинстве принтеров используется декартова система координат знакомая всем из школьного курса математики. Координата Z используется для вертикального перемещения, остальные две X и Y -для горизонтального. Числа стоящие после знаков X,Y или Z в миллиметрах и могут быть десятичными и/или отрицательными, при этом необходимо учитывать то что сопло может переместиться не в любую точку пространства и в случае неправильного задания координат можно сломать принтер поэтому необходимо следить за тем чтобы значения не выходили за допустимые пределы области печати и всегда держать "под рукой" кнопку аварийной остановки. После знака "E" пишется то на сколько миллиметров втянется пластиковый шнур в экструдер. Если например надо втянуть сначала 10 мм и потом тоже 10 мм то в первый раз пишется E10 а во второй E20 т.е. Е - это как ещё одна координата которая как бы указывает на то на сколько миллиметров надо переместить пластиковый шнур. После знака "F" указывается скорость перемещения сопла и втягивания шнура в миллиметрах в минуту.
По аналогии с данным простым примером G-кодами можно создавать и более сложные изделия. Также знание G кодов будет полезно для настройки 3D принтера.
Видео для данной статьи:
Проверка проводилась на 3D дельта принтере Rostock mini самостоятельного изготовления.
Пластиковые детали для были заказаны на странице http://ali.pub/py0zf
линейные подшипники
http://ali.pub/pq6m3
радиальные подшипники
http://ali.pub/uzqx3
шкивы с ремнём
http://ali.pub/hal0p
http://ali.pub/mcfve (докуплено немного ремня)
хотэнд
http://ali.pub/lhvc3
боуден экструдера (толкатель пластмассы без двигателя)
http://ali.pub/ax7ts
PLA пластик
http://ali.pub/tkpyd
Про источник питания и контроллер смотрите видео:
Как показала практика, самостоятельная сборка 3d принтера -это увлекательное и интересное занятие но оно отнимает много времени и к тому же не даёт (если вообще даёт) сколько нибудь значимого выигрыша в цене т.к. готовые 3d принтеры (на момент написания данной статьи) имеют небольшую цену а запчасти к ним высокую, поэтому покупка готового 3d принтера избавит от множества проблем. Если выбрать более простой путь то можно приобрести такой же RepRap 3d принтер как и Rostock mini, такие принтеры дёшевы (возможно из за того что их многие собирают самостоятельно) и если с ним случиться поломка то его легко можно будет отремонтировать по доступным и многочисленным инструкциям из интернета а часть деталей вообще можно напечатать на нём самом пока он работает.

 http://ali.pub/grkhq


КАРТА БЛОГА (содержание)

4 комментария:

  1. Интересная статья. Много чего нового для себя почерпнул, но коды, кончено, программирования изучать что-то не хочется. Уж много чего там понаписано, хотя знать основные, соглашусь, необходимо. Нашел Вашу статью по Яндексу, когда искал про "кнопку аварийной остановки". А вот где она может быть, если печатаешь прямо с флэшки? Нигде так и не нашел. Слетит изделие, если у него маленькая площадь, не дай Бог, да еще когда только началось, а изделие высокое. И что делать?

    ОтветитьУдалить
    Ответы
    1. Можно добавить аппаратную кнопку нажатие на которую приводит к отключению от розетки.

      Удалить
    2. А ничего не случится, если так "выдергивать шнур"? Прошивка, например, может, слетит, когда аппарат работает, или еще что-нибудь?

      Удалить
    3. Ну если питание силовой части отдельно от питания контроллера и отключать только силовую то ничего не случиться - это я на своём принтере проверял. Если контроллер принтера на AVR микроконтроллере или подобном то прошивка слететь не должна даже если отключить всё питание т.к. она забита во флеш памяти. Т.е. если прошивка не слетает при отключении питания то при внезапном отключении питания она тоже вряд ли слетит, за исключением каких либо особых случаев. В общем если контроллер RAMPS и он настроен на питание от usb (как в моём случае) то отключать силовую часть из розетки можно без опасений -проверено на собственном опыте. Для полной уверенности можно заготовить копию прошивки. На счёт "ещё чего нибудь" -не знаю, скорее всего тоже ничего не произойдёт, за исключением каких либо особых случаев. Но в любом случае если во время неполадки принтер не выключить то что то нехорошее случиться почти наверняка.

      Удалить