СИСТЕМА АВТОНОМНОЙ ПЕЧАТИ ДЛЯ 3D-ПРИНТЕРА - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

СИСТЕМА АВТОНОМНОЙ ПЕЧАТИ ДЛЯ 3D-ПРИНТЕРА

Ильин И.В. 1, Гудков К.В. 1
1ФГБОУ ВО "Пензенский государственный технологический университет" (ПензГТУ)
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Согласно проведенным исследованиям, с каждым годом трехмерная печать становится более совершенной и доступной, поэтому 3D-принтеры становятся все более популярными. Согласно последнему прогнозу аналитической компании Context, объем мирового рынка 3D-печати, включая продажи 3D-принтеров, расходных материалов и услуг, вырастет до $17,8 млрд в течение следующих пяти лет. В частности, общий объем продаж персональных, профессиональных и промышленных 3D-принтеров увеличится с $1,8 млрд в 2016 году до $6,4 млрд в 2020 при совокупном годовом приросте в 38%.[1]

Несмотря на то, что 3D-принтеры дешевеют, их стоимость остается достаточно высокой, поэтому в России распространены дешевые 3D-принтеры, которые отличаются от более дорогих тем, что не имеют дополнительных функций: корпус, сетевой интерфейс и т.д. Большинство из них лишены встроенной системы автономной печати. И поэтому они зависимы от ПК, что вызывает определенные неудобства. На данный момент существует множество моделей 3D-принтеров, обладающих различным функционалом. Так же существует множество способов расширить функционал дешевых 3D-принтеров, например, добавление функции автономной печати. Автономная печать – возможность запускать печать без подключения 3D-принтера к персональному компьютеру, то есть осуществлять печать с помощью встроенных средств 3D-принтера. Таким образом загрузка блоков G-кода происходит прямо в ОЗУ 3D-принтера, минуя другие устройства. 3D-принтеры, лишенные данной возможности, сильно ограничены в мобильности, так как зависимы от персонального компьютера. К тому же для работы с 3D-принтером требуется устанавливать на компьютеры специальное ПО, что так же вызывает неудобства. Существует несколько способов решить данную проблему, в данной статье рассмотрено два способа:

модификация 3D-принтера с помощью установки не заводской прошивки (Marlin);

подключение устройства, заменяющего ПК.

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

Ключевым элементом цикла трехмерной печати являет трехмерная модель. Чаще всего трехмерные модели хранятся в файлах .STL, .OBJ и т.д. Эти форматы являются наиболее популярными. Перед тем, как распечатать трехмерную модель ее нужно преобразовать в набор команд для 3D-принтера (так называемый G-код). Слайсер – программа для перевода 3D модели в управляющий код для 3D принтера (например, Kisslacer, Slic3r, Skineforge и др.). Она необходима, так как принтер не сможет печатать сразу 3D-модель. Слайсинг – процесс перевода 3D модели в управляющий G-код [2]. G-код это условное именование языка для программирования устройств с ЧПУ (CNC) (Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР – как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит. Производители систем управления используют G-code в качестве базового подмножества языка программирования, расширяя его по своему усмотрению [3].

Все перечисленные выше действия выполняются на персональном компьютере. Далее файл G-кода отправляется блоками в оперативную память 3D-принтера с помощью программы для управления 3D-принтером. Устройства 3D-принтера выполняют эти команды, и таким образом происходит процесс печати трехмерной модели. Встроенная функция автономной печати позволяет считывать блоки G-кода с подключаемого накопителя и вести печать без подключения к ПК. Такую функцию можно добавить с помощью самостоятельной модификации 3D-принтера и установкой на него прошивки Marlin. Основа прошивки – Sprinter и Grbl. Особенности:

  • Ступенчатое движение на основе реальных ускорений;

  • Высокая частота шага;

  • Анализ следующих шагов (позволяет поддерживать высокую скорость, когда это возможно);

  • Защита по температуре;

  • Полная поддержка концевиков;

  • Поддержка SD карт;

  • Поддержка автоматического запуска SD Card;

  • Поддержка ЖК-дисплеев (максимум 20x4 );

  • Меню выводится ЖК-дисплей и управляется с помощью кнопок .

  • EEPROM память для хранения максимальной скорости , максимального ускорения, и подобных переменных.

  • Контроль питания и температуры;

  • Управление осями X и Y;

  • Автокалибровка печатной поверхности;

  • Поддержка двух X- кареток;

  • Настраиваемый последовательный порт для подключения беспроводных адаптеров

  • Автоматический режим работы вентиляторов экструдера[4].

Прошивка изначально сконфигурирована для Ultimaker Original, но ее так же можно установить на другие 3D-принтеры, в которых стоят платы, совместимые с Arduino (Melzi RAMPS 1, Azteeg и др.). Прошивка находится в свободном доступе на ресурсе GitHub.

После скачивания архива с прошивкой его нужно распаковать и открыть с помощью Arduino IDE. Далее открыть вкладку Configuration.h. Это конфигурационный файл с основными настройками. С его помощью нужно выбрать тип контроллера, тип температурного датчика, откалибровать перемещения по осям и сконфигурировать концевые выключатели, после чего залить в плату 3D-принтера.

Тип контроллера и тип платы содержатся в документации к 3D-принтеру. Соответственно строчку #define MOTHERBOARD BOARD_ULTIMAKER можно заменить, например, на #define MOTHERBOARD BOARD_RAMPS_13_EFB, если в принтере установлена плата RAMPS 1.4.

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

Далее идет настройка концевых выключателей. Перед этим нужно узнать где они расположены – начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработают концевики MIN, если в правую дальнюю верхнюю – сработают MAX. Если концевой выключатель подключен не стандартно, его состояние можно инвертировать из прошивки, не перепаивая контактов. Команда M119 показывает состояние концевых выключателей.

После этого нужно установить габариты рабочей зоны по X и Y, а также настроить сопла относительно стола. Если при касании стола соплом срабатывает концевой выключатель (MIN), как у Ultimaker Original, то поднастройка сопла относительно стола выполняется перемещением концевого выключателя, а в "#define Z_MAX_POS" записывается значение координаты при максимальном удалении сопла от стола. Координату можно узнать по команде М114 или посмотрев на экран дисплея.

Настройка экструдера зависит от коэффициента редукции и диаметра подающей шестерни. Подбирается экспериментально.

Так же следует настроить ограничение максимальной скорости и ускорения перемещения по осям. Так же подбирается индивидуально.

После этого нужно подключить к 3D-принтеру текстовый дисплей и картридер и активировать их. Теперь прошивку можно заливать в 3D-принтер.

После установки прошивки требуется откалибровать PID нагрева хотэнда и стола, PID стола. Полученные данные записываются в прошивку. При необходимости следует повторить описанные действия, пока качество печати не станет приемлемым.[5]

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

Но в итоге 3D-принтер получит функцию печати с SD-карты, без подключения к ПК.

Еще один способ сделать 3D-принтер автономным – подключение к нему по USB компактного устройства на основе одноплатного компьютера, имеющего собственные устройства ввода-вывода. Это устройство может полностью заменить ПК.

Устройство построено на основе одноплатного компьютера (Raspberry Pi) и простых компонентов. Raspberry Pi был выбран из-за удачно соотношения цены и производительности, а так же из-за развитого сообщества и большого количество ПО.

Raspberry Pi выпускается в нескольких комплектациях: модель «A», модель «B», модель «B+» и модель «2 B». Первые три версии оснащены ARM11 процессором Broadcom BCM2835 с тактовой частотой 700 МГц и модулем оперативной памяти на 256МБ/512МБ, размещенными по технологии «package-on-package» непосредственно на процессоре. Модель «2B» оснащается процессором с 4 ядрами Cortex-A7 с частотой 1ГГц и оперативной памятью размером 1ГБ. Модель «A» оснащается одним USB 2.0 портом, модель «B» двумя, а модели «B+» и «2 B» – четырьмя. Также в моделях «B», «B+» и «2 B» присутствует порт Ethernet. Помимо основного ядра, BCM2835 включает в себя графическое ядро с поддержкой OpenGL ES 2.0, аппаратного ускорения и FullHD-видео и DSP-ядро. Одной из особенностей является отсутствие часов реального времени.

Вывод видеосигнала возможен через композитный разъём RCA или через цифровой HDMI-интерфейс. В версии «B+» и «2B» вывод возможен через аудиоразьем 3,5. Корневая файловая система, образ ядра и пользовательские файлы размещаются на карте памяти SD, MMC, microSD (только в модели «B+») или SDIO.

Одной из самых интересных особенностей Raspberry Pi является наличие портов GPIO (general purpose input/output). Благодаря этому компьютер можно использовать для управления различными устройствами. В модели «B» платы присутствует 26-пиновый, а в модели «B+» и «2 B» – 40-пиновый разъем GPIO.

Raspberry Pi работает в основном на операционных системах, основанных на Linux ядре. Также возможна установка Windows 10 IOT.Более того, можно приобрести Raspberry с лицензионной Windows 10 IOT за 50 долларов. ARM11 основан на 6 версии ARM, на котором несколько популярных версий Linux больше не запускаются. Для установки операционных систем существует инструмент NOOBS.[6]

ПО устройства состоит из системы Pronterface, модифицированной для работы с текстовым дисплеем, блоком кнопок и накопителем информации. Pronterface – одно из приложений интерфейса, которое используется для контроля работы 3D принтера. Это программа, которая трансформирует STL или OBJ файл (дизайн) в реальный объект, иными словами, предоставляет соответствующие инструкции для принтера, чтобы тот в точности воспроизвел прототип[7].

Устройство не требует внедрения в конструкцию принтера и изменения его прошивки, в отличие от Marlin. Оно подключается по USB к 3D-принтеру и может получать энергию от блока питания смартфона или планшетного компьютера. Устройство не требует подключения монитора, клавиатуры, мыши, так как имеет собственный блок кнопок и дисплей, позволяющие управлять печатью 3D-принтера, не пользуясь внешними устройствами ввода-вывода. Используется дисплей, на основе контроллера HD44780. Контроллер HD44780 фирмы Hitachi фактически является промышленным стандартом и широко применяется при производстве алфавитно-цифровых ЖКИ-модулей. Аналоги этого контроллера или совместимые с ним по интерфейсу и командному языку микросхемы, выпускают множество фирм, среди которых: Epson, Toshiba, Sanyo, Samsung, Philips. Еще большее число фирм производят ЖКИ-модули на базе данных контроллеров. Эти модули можно встретить в самых разнообразных устройствах: измерительных приборах, медицинском оборудовании, промышленном и технологическом оборудовании, офисной технике - принтерах, телефонах, факсимильных и копировальных аппаратах.

Алфавитно-цифровые ЖКИ-модули представляют собой недорогое и удобное решение, позволяющее сэкономить время и ресурсы при разработке новых изделий, при этом обеспечивают отображение большого объема информации при хорошей различимости и низком энергопотреблении. Возможность оснащения ЖКИ-модулей задней подсветкой позволяет эксплуатировать их в условиях с пониженной или нулевой освещенностью, а исполнение с расширенным диапазоном температур (-20°С...+70°С) в сложных эксплуатационных условиях, в том числе в переносной, полевой и даже, иногда, в бортовой аппаратуре.[8]

Разрабатываемая система практически полностью заменяет персональный компьютер при эксплуатации вместе 3D-принтером, но в то же время намного компактнее и экономичнее. Такая система обеспечит 3D-принтеру возможность автономной печати. При разработке программного обеспечения для устройства за основу взята система Pronterface. Диаграмма деятельности, отображающая процесс печати с помощью данной разработки представлена на рисунке 1.

Рисунок 1 – Диаграмма деятельности

Предлагаемое устройство добавит 3D-принтеру, подключенному к ней, следующие функции, которые отображены на диаграмме вариантов использования (рисунок 2):

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

Рисунок 2 – Диаграмма вариантов использования

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

Рисунок 3 – Диаграмма последовательности

. На дисплей в это время выводится информация о стадии загрузки. После окончания загрузки начинается печать изделия, информация о процессе печати так же выводится на дисплей. После загрузки файла начинается его автоматическая печать. В процессе работы Pronterface контролирует различные параметры 3D-принтера: температура стола, экструдера, расход пластика и т.д. Работа 3D-принтера отображена на диаграмме состояний на рисунке 4.

Рисунок 4 – Диаграмма состояния

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

Программная часть включает в себя программное обеспечение для взаимодействия с блоком кнопок и дисплеем, программное обеспечение для взаимодействия с 3D-принтером.

Диаграмма развертывания устройства приведена на рисунке 5 (все взаимодействия внутри центрального устройства имеют тип «use»).

Рисунок 5 – Диаграмма развертывания

Устройство состоит из нескольких компонентов, главным из которых является одноплатный компьютер. Структура компонентов устройства представлена на рисунке 6.

Рисунок 7 – Диаграмма компонентов

Так же устройство включается в себя следующие устройства: носитель информации, текстовый монохромный дисплей, блок из трех кнопок (вверх, вниз, ввод), USB-интерфейс для подключения к 3D-принтеру, блок питания, оригинальная плата расширения, служащая для объединения всех устройств в одну схему. Тестовый макет устройства представлен на рисунке 8.

Рисунок 8 – Макет внешней системы автономной печати

Таким образом по сравнению с персональным компьютером данная система имеет следующие преимущества: низкая стоимость, компактность и мобильность, экономичность, простота в эксплуатации, не требует внедрения в конструкцию 3D-принтера (безопасно в эксплуатации).

ЗАКЛЮЧЕНИЕ

В данной статье рассмотрены два способа обеспечения автономной печати 3D-принтера, дано подробное техническое описание каждого из них, описаны достоинства и недостатки каждого из них. А с помощью UML-диаграмм были описаны принципы работы устройства автономной печати. UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы, диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Объем рынка 3D-печати достигнет $17,8 млрд к 2020 году. URL: http://3dtoday.ru/blogs/news3dtoday/the-volume-of-the-3dprinting-market-will-reach-178-billion-by-2020-/ (дата обращения: 21.01.2017).

2. 10 правил подготовки модели к 3D печати. URL: https://habrahabr.ru/post/196182/ (дата обращения: 7.12.2016).

3. Описание G и М кодов для программирования ЧПУ (CNC) станков URL: http://3d-stanki.ru/spravochnik/programmnoe-obespechenie-dlya-stankov-s-chpu/opisanie-g-i-m-kodov-dlya-programmirovaniya-chpu-cnc-stankov-2/ (дата обращения: 17.01.2017).).

4. Marlin. URL: http://reprap.org/wiki/Marlin/ ru (дата обращения: 15.01.2017).

5. Настраиваем прошивку Marlin и заливаем её в 3D принтер URL: http://3dtoday.ru/blogs/akdzg/custom-firmware-marlin-and-pour-it-into-a-3d-printer/ (дата обращения: 21.12.2016). 6. Raspberry Pi. URL: https://ru.wikipedia.org/wiki/Raspberry_Pi (дата обращения: 11.01.2017).

7. Собрать 3D принтер за неделю: дни 3 и 4. URL: http://www.3dindustry.ru/article/26/ (дата обращения: 15.01.2017).

8. Алфавитно-цифровые индицирующие ЖК-модули на основе контроллера HD44780. URL: http://www.gaw.ru/html.cgi/txt/lcd/chips/hd44780/start.htm (дата обращения: 20.01.2017).
Просмотров работы: 514