RepRap-NRTC — различия между версиями
Gumanoed (обсуждение | вклад) (→История или как это случилось) |
Avp (обсуждение | вклад) (→Сноски: Добавил категории) |
||
(не показаны 134 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
=Как победить 3D-печать= | =Как победить 3D-печать= | ||
− | Или история о том как интересно провести 2 месяца жизни всего за | + | Или история о том, как интересно провести 2 месяца жизни всего за 18 500 р. :) |
− | Статья об особенностях сборки, прошивки, подключения и запуска 3D-принтера на базе RepRap | + | Статья об особенностях сборки, прошивки, подключения и запуска 3D-принтера на базе RepRap Mendel в Linux и не только. Но подходы и приёмы, описанные в этой статье, подойдут ко всем типам 3D-принтеров и операционным системам. |
− | |||
− | + | В данной статье мы постарались описать весь свой опыт и все решения, найденные в ходе упорной двухмесячной работы по запуску 3D-принтера в Нижегородской Радиотехническом Колледже (НРТК), в помещении хайтек-сообщества CADR. | |
− | В | ||
− | |||
− | |||
− | [[image:order-3dprinter.jpg|400px|right|thumb|Наш заказ принтера на aliexpress]]Заказ мы сделали на сайте AliExpress и принтер пришел достаточно быстро, за две недели. Мы получили сам принтер и | + | ==История, или как это случилось== |
− | [[image:printer-boxes.jpg|left|400px|thumb|Посылка с принтером пришла к нам в трех коробках]]Пришло все в | + | |
− | По поводу особенностей сборки сейчас уже сложно что то вспомнить. Но в интернете можно найти много инструкций и на диске, идущем с принтером, были подробные инструкции по соединению элементов. За что стоит особенно отметить китайцев, в комплекте было | + | ===Вдохновение и апатия=== |
+ | В марте 2014-го года мы в Нижегородском Радиотехническом Колледже решились заказать из Китая для нас на то время совершенную новинку и пик технологий - 3D-принтер. Почему из Китая? Потому, что мы слышали, что там можно заказать принтер за приемлемую сумму денег. | ||
+ | |||
+ | Особую благодарность хотелось бы выразить администрации колледжа Пронину Геннадию Михайловичу и Кормщиковой Ирине Александровне за готовность пойти на достаточно рисковый шаг, и поддержку нашего предложения о заказе и покупке 3D-принтера. | ||
+ | |||
+ | Сразу хочу оговориться, что на то время мы совершенно ничего не представляли о 3D-печати, кроме видео в интернетах. Мы слышали о проекте RepRap, почитали информацию на сайте http://reprap.org/. Мы знали, что существует несколько разновидностей - моделей. И выбор принтера для покупки делали несколько не осознанно. Больше ориентируясь на цену и некую эфемерную единицу "качество печати". <br><br> | ||
+ | |||
+ | [[image:order-3dprinter.jpg|400px|right|thumb|Наш заказ принтера на aliexpress]] | ||
+ | |||
+ | Заказ мы сделали на сайте AliExpress и принтер пришел достаточно быстро, за две недели. Мы получили сам принтер и бобину с [https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%BB%D0%B0%D0%BA%D1%82%D0%B8%D0%B4 PLA]-пластиком. | ||
+ | |||
+ | [[image:printer-boxes.jpg|left|400px|thumb|Посылка с принтером пришла к нам в трех коробках]] | ||
+ | |||
+ | Пришло все в трёх коробках. Все было аккуратно упаковано. И мы приступили к сборке. Сборкой занимались сотрудники вычислительного центра Нижегородского Радиотехнического Колледжа. Виктор Бондаренко сделал аккуратную и качественную сборку каркаса принтера. Электроникой занимались Владимир Слугин и Никита Блынский. И вот, через два дня, у нас был полностью готовый к подключению к компьютеру 3D-принтер. | ||
+ | |||
+ | По поводу особенностей сборки -- сейчас уже сложно что то вспомнить. Но в интернете можно найти много инструкций, и на диске, идущем с принтером, были подробные инструкции по соединению элементов. За что стоит особенно отметить китайцев, в комплекте было всё в нужном количестве! Это было очень приятно и важно для нас - впервые собирающих 3D-принтер! | ||
+ | <br clear=all> | ||
+ | |||
+ | <center> | ||
+ | <gallery widths="320px" heights="240px"> | ||
+ | Файл:3d-printer-sborka.jpg|Сборкой рамы принтера занимаются Виктор Бондаренко и Никита Блынский | ||
+ | Файл:3d-printer-podkluchenie elektroniki.jpg|Подключением электроники занимались Владимир Слугин и Сергей Сатушев | ||
+ | </gallery> | ||
+ | </center> | ||
+ | |||
+ | [[image:3d-printer-v-sbore.jpg|200px|right|thumb|3D-принтер в Нижегородском радиотехническом колледже в полном сборе]] | ||
+ | |||
+ | Вообще стоит сказать, что сборка -- достаточно утомительный процесс. Пока вы собираете крупные детали -- всё идет быстро и просто, а вот когда дело доходит до мелочей, крепления шаговых двигателей, размещения блока питания и пр, всё становится не очевидно и утомительно. '''Лучше всего заниматься сборкой 3D-принтера в команде!''' Это позволит меньше "париться" и избежать ошибок. | ||
+ | |||
+ | После сборки мы приступили к подключению. Мы в НРТК широко используем свободное ПО, и первое что мы попробовали - подключить принтер к Ubuntu 12.10. После консультаций с Борисом Терещенковым мы уже знали, что для управления принтером нужно использовать Repetier. Но у нас на принтере не было прошивки. | ||
+ | |||
+ | На диске мы нашли архив с прошивкой под названием Melzi-Sprinter. На тот момент мы уже знали, по информации с сайта reprap.org, что на плате принтера используется стандартный микроконтроллер Atmega, но не знали, какая именно. Если посмотреть на чип поближе, то можно рассмотреть маркировку Atmega 1284p. И вся плата построена по принципу плат Arduino, которые у нас в колледже используются на практиках у студентов достаточно давно. Поэтому было понятно, что для прошивки нам потребуется среда разработки Arduino с сайта http://arduino.cc/en/Main/Software . | ||
+ | |||
+ | Мы все скачали, установили, распаковали прошивку, открыли в среде файл <code>.ino</code>. Мы даже вычитали, что нужно установить специальный набор файлов для прошивки конкретно этого микроконтроллера (об этом подробнее в разделе о прошивке). Но вот незадача, '''при попытке компиляции прошивки среда выдавала ошибку, отсутствия библиотеки time.h'''. | ||
+ | |||
+ | С Никитой Блынским мы смогли избавиться от этой ошибки, отключив опции работы с SD-картами и некоторые другие функции, для которых нужна была эта отсутствующая библиотека, и получили [http://wiki.nntc.nnov.ru/images/2/23/Sprinter_Melzi-NRTC.zip рабочую прошивку Sprinter-Melzi]! <br><br> | ||
+ | Мы успешно прошили принтер и установили Repetier на компьютер с Ubuntu 12.10. Нажали кнопку "Подключить", и процесс соединения с принтером прошёл успешно. Мы, с замиранием сердца, в ручном режиме поуправляли движением экструдера по осям. И это для нас было равносильно магии! Мы увидели, что принтер "шевелиться" и работает!!! | ||
+ | |||
+ | [[image:Delaem-model-v-Blender.jpg|400px|right|thumb|Рисуем модель в Blender для пробной печати на нашем принтере в НРТК]] | ||
+ | |||
+ | У нас включался разогрев экструдера, разогрев стола, и управлялась скорость вращения вентилятора. Это было просто замечательно!<br><br> | ||
+ | Мы решили опробовать принтер в деле. Взяли среду 3D-моделирования [http://blender.org Blender] и нарисовали незамысловатую модель. По внешнему виду модель напоминала логотип игры Quake :)) Среда Repetier принимает модели в формате stl, а Blender умеет прекрасно в него экспортировать! Чем мы и воспользовались! | ||
+ | |||
+ | [[image:Zagruzaem-model-v-repetir.jpg|400px|left|thumb|Загружаем модель в Repetier и делаем слайсинг с помощью Slic3r]] | ||
+ | |||
+ | Загрузили модель в формате stl в Repetier, выполнили слайсинг с помощью программы slic3r (она идет в комплекте, вместе с Repetier) и попытались выполнить печать. И вот тут нас ждала первая и большая проблема. Принтер перемещал экструдер в начальные позиции по всем осям, и на этом останавливался. Прогрев экструдера и стола проходил успешно, но процесс печати не начинался. При этом в окне с командами и ответами принтера в Repetier появлялась ошибка '''"Error: Checksum mismatch, Last Line: 19"'''. И это происходило каждый раз!<br clear=all> | ||
+ | |||
+ | [[image:Pechat-detali.jpg|400px|right|thumb|Печать детали на нашем принтере - проблема на высоте около 5 см, мажет по детали и срывает ее со стола :(]] | ||
+ | |||
+ | Было решено попробовать установить софт на Windows и попробовать печать оттуда. Мы получали туже ошибку в Repetier, но печать шла, и мы получили какие-то результаты. | ||
+ | |||
+ | Но здесь у нас обнаружилась вторая проблема: на высоте около 5 сантиметров экструдер начинал мазать по детали, и, в конце-концов, сорвал её со стола! | ||
+ | |||
+ | |||
+ | Мы смогли напечатать ещё несколько небольших деталей, но у нас начала появляться проблема с "забитием" экструдера. В начале печати нить из экструдера выходила хорошо, но после нескольких минут печати нить просто переставала выходить, и экструдер дальше двигался в холостую. Иногда помогало поддавить нить сверху, иногда -- нет. В какой-то момент мы решились разобрать экструдер. Отключили от него Hot-end часть и разобрали его (для этого достаточно открутить гайку сверху). В нем находится ptfe трубка и как нам тогда казалось забивалась именно она. Мы ее прочищали и вроде бы пластик снова шёл. Но проблема из раза в раз возвращалась :( | ||
<br clear=all> | <br clear=all> | ||
− | + | Чуть подробнее все это описано на [http://blog.nntc.nnov.ru/?p=1510 Блоге вычислительного центра Нижегородского Радиотехнического Колледжа]. | |
− | + | ||
− | + | Вот здесь у нас наступил этап "перенасыщения" проблемами с 3D-печатью, навалилась очередная порция работы, и мы отложили принтер в сторону -- почти что год! | |
− | + | ||
− | + | ===Второе дыхание=== | |
− | < | + | Вторым дыханием для нашего проекта по запуску 3D-принтера в Нижегородском радиотехническом колледжа стало создание по инициативе Артема Попцова и поддержке администрации колледжа CADR Space - помещения и сообщества людей по аналогии с HackSpace в европе. |
+ | |||
+ | У нас появилось новое место, новая идея и новое вдохновение вернуться к старому проекту с принтером. Не может же Нижегородский Hackspace жить без 3D-принтера! | ||
+ | |||
+ | И вот следующие два месяца, с начала февраля 2015 до середины марта 2015, стали самыми продуктивными и богатыми на знания и информацию о 3D-печати для нас! 18 марта 2015 года восхищенно крикнули "ДА, ОНО РАБОТАЕТ", когда у нас детали стали печататься надежно и точно. | ||
+ | |||
+ | Но до этого мы: | ||
+ | * Выяснили что ошибка '''"Error: Checksum mismatch, Last Line: 19"''' возникает только в последних версиях Repetier и для корректной работы RepRap Mendel Pangu в Ubuntu 14.04 вам нужно использовать '''Repetie-Host 0.90D''' либо 0.84. | ||
+ | * Столкнулись с не включающимся подогревом стола и некорректным отображением его температуры в прошивке [https://github.com/MarlinFirmware/Marlin Marlin]. С этой проблемой нам помог справиться пользователь ysb с форума [http://www.soliforum.com/post/50930/#p50930 soliforum]. Он сделал модификацию Marlin именно для Mendel Pangu! | ||
+ | * Мы обнаружили что с модифицированной ysb прошивкой Marlin все работает замечательно, но при начале печати происходит перекос осей Z. Один из двигателей перестает вращаться! В ходе личной переписки с ysb выяснилось что такое происходит за за слишком высокой скорости перемещения по оси Z и при последовательном подключении z-двигателей эту проблему можно поправить в коде прошивки: | ||
+ | |||
+ | #define HOMING_FEEDRATE {50*60, 50*60, '''2'''*60, 0} //chahge 3*60 to 2*60 | ||
+ | |||
+ | :Подробнее о всех изменениях в прошивке [http://wiki.nntc.nnov.ru/images/8/8d/MARLIN_2014-02-9_Pangu_i3-CADR.zip Marlin для Mendel Pangu] в соответствующем разделе. | ||
+ | * Ну и в конце было практически полное '''забитие экструдера'''. Мы даже попытались топить пластик вынув ptfe трубку (что было большой ошибкой!), после чего нам пришлось долго, методом "нагрева самореза" прочищать хот-энд что бы вернуть трубку на место (пластик поднялся и все забил, застыв при этом). Оказалось что нужно '''тонкой проволкой прочистить само нижнее отверстие диаметром 0,3мм'''. Засор был в нем. И что бы в дальнейшем засоров не появлялось нужно прочистить экструдер методом "холодной протяжки"<ref name="prochistka-sopla-ekstrudera-ot-zasoreniy">[http://rusabs.ru/blogs/blog/prochistka-sopla-ekstrudera-ot-zasoreniy Прочистка сопла экструдера от засорений]</ref>. Мы просто вручную пропускали/топили нить через хот-энд, постепенно опуская температуру до минимальной, при которой пластик еще протягивается через хот-энд. С нашим PLA мы начали с 200 С и дошли до 135 С, когда струна уже практически не топилась. | ||
+ | * Так же в ходе экспериментов мы выяснили что в наших условиях для печати '''нам лучше всего подходит PLA-пластик''': | ||
+ | **Для него нужна более низкая температура экструдера (в нашем случае '''200 С''' в настройках Repetier). | ||
+ | **Для него '''не нужно греть стол''', что позволяет нам мазать его клеем-карандашом для лучшего прилипания первого слоя | ||
+ | **Его '''нужно обдувать вентилятором''' во время печати, что избавляет нам от необходимости защиты принтера от сквозняка :) | ||
+ | |||
+ | И в ходе всех этих испытаний нам приходилось сохранять самообладание и хладнокровие, дабы не в пасть в стадию годовалой давности :) | ||
+ | <center> | ||
+ | <gallery widths=320px heights=240px> | ||
+ | Файл:ONO-RABOTAET.jpg|Мы в CADR Space празднуем начало работы 3D-принтера! | ||
+ | Файл:pechat-logotipa-CADR.jpg|Печать первой детали на принтере после долгого простоя | ||
+ | Файл:CADR-logo-print.jpg|Качество детали на высоте | ||
+ | Файл:NRTC-logo-print.jpg|Печатаем на 3D-принтере визитницу с логотипом Нижегородского Радиотехнического Колледжа | ||
+ | </gallery> | ||
+ | </center> | ||
− | + | Ну а теперь факты только факты и ничего кроме фактов и все по порядку! | |
− | |||
− | |||
− | |||
==Что нужно сделать в начале== | ==Что нужно сделать в начале== | ||
+ | Прежде чем приступать к поиску прошивки для вашего принтера нужно '''точно узнать что у вас за модель принтера'''. | ||
+ | |||
+ | Мы покупали принтер на aliexpress и честно считали, что мы купили RepRap Mendel. Потом мы стали выяснять, что у нас за плата установлена на принтере и, как видно на фото, у нас написано на ней Melzi Ardentissimo -- и мы тут подумали, что у нас RepRap Mendel Prusa и честно пытались его прошить как Prusa. | ||
+ | |||
+ | Но за тем нашлась старая прошивка, которую мы взяли с диска, который шёл с принтером, и в ней, в самом начале файла <code>Configuration.h</code> увидел строчку | ||
+ | |||
+ | #define RP3D.COM_PANGU | ||
+ | |||
+ | и тут у нас появились мысли -- может, у нас не совсем Prusa. Как оказалось, компания RP3D.COM производит RepRap Mendel, но, для возможности использовать шаговые двигатели различного типа, слегка изменила схему платы управления. И эта модификация называется '''RepRap Mendel Pangu'''. Вот для него-то и нужна была прошивка. | ||
+ | |||
+ | Как только мы выяснили точную модель нашего принтера и платы, все пошло гораздо быстрее и определеннее! | ||
==Прошивка== | ==Прошивка== | ||
− | + | Надеемся вы прочитали пару предыдущих абзацев! | |
− | + | ||
− | + | ===Установка Arduino=== | |
− | + | Для прошивки платы управления принтером вам понадобиться скачать среду разработки Arduino с сайта http://arduino.cc/en/Main/Software | |
+ | |||
+ | Если вы работаете в Ubuntu 14.04 или старше - доcтаточно установить среду разработки из репзитория командой <code>apt-get install arduino</code> | ||
+ | |||
+ | ===Выбираем прошивку, подходящую для вашего принтера=== | ||
+ | Саму прошивку вам нужно будет поискать в интернете. Для большинства RepRap-принтеров рекомендуют использовать прошивку Marlin. Она является комбинацией кодов прошивок Sprinter и <s>sbpf?</s> какой то еще версии прошивок. | ||
+ | |||
+ | Официальную прошивку для RepRap Menderl Pangu можно скачать в самом низу этой страницы http://rp3d.com/wiki/index.php?title=Pangu_i3 | ||
+ | |||
+ | На диске, с которым шел принтер, была та-же самая прошивка. Но она у нас просто так не собралась и нам пришлось отключить опцию поддержки SD-карта и еще некоторые опции, после чего прошивка стала компилироваться корректно. Скачать модифицированную версию прошивки Sprinter для RepRap Mendel Pangu можно [http://wiki.nntc.nnov.ru/images/3/3b/Sprinter_Melzi-edited-by-NRTC.zip здесь]. | ||
+ | |||
+ | Но, мы посчитали что раз есть новая версия прошивки - Marlin, нужно бы установить ее. К тому же на сайте RepRap обещают<ref name="reprap-marlin-ru">http://reprap.org/wiki/Marlin/ru -- Описание прошивки для плат Ардуино и их аналогов на русском языке</ref> просто заоблачные возможности и улучшения в Marlin по сравнению со Sprinter. | ||
+ | |||
+ | * Marlin можно скачать с [https://github.com/MarlinFirmware/Marlin официального репозитория с github], но у нас с официальной версией не заработал подогрев стола! В RepRap Mendel Pangu есть некоторые изменения в плате. | ||
+ | * Есть еще несколько модификаций прошивки Marlin с расширенной поддержкой плат управления, например [https://github.com/ErikZalm/Marlin Marlin от ErikZalm] и [http://korhonen.ca/figfab/Marlin_for_prusai3/marlin.html Marlin 2014] для RepRap Prusai3. Но нам они то же не помогли с не включающимся подогревом стола. | ||
+ | * В итоге нам очень помог пользователь ysb с форума [http://www.soliforum.com/post/50930/#p50930 soliforum]. [http://wiki.nntc.nnov.ru/images/3/34/MARLIN_2014-02-9_Pangu_i3.zip Прошивка Marlin от ysb] заработала как нужно, но мы испытали '''проблема - перекос осей Z при начале печати'''. Как это происходило, можно посмотреть на данном видео https://youtu.be/W2xjoesSssY?t=78 . И это происходило только при начале печати, при ручном управлении все работало гладко без шума и пыли. | ||
+ | |||
+ | Оказалось, что проблема с перекосом по оси Z с прошивкой Marlin связанна [http://reprap.org/wiki/File:Reprappro-huxley-z-motor-wiring.png с последовательным (Serial) подключением двигателей], и слишком большой скоростью перемещения по оси Z во время поиска нулевой позиции. Это удалось исправить изменением параметра | ||
+ | |||
+ | #define HOMING_FEEDRATE {50*60, 50*60, '''2'''*60, 0} // set the homing speeds (mm/min){50*60, 50*60, 4*60, 0} !!!changed from 3*60 to 2*60 | ||
+ | |||
+ | В дополнении к этому, мы еще поменяли "поправки", связывающие количество "шагов" шагового двигателя и реальное перемещение экструдлера (и нити) по соответствующей оси. Эти параметры меняются в зависимости от выбранного типа шестеренки, резиновой ленты либо диаметра шестеренки на двигателе подачи струны в экструдер. Калибровка принтера производится изменением именно этих параметров! (рекомендую почитать [http://3dtoday.ru/blogs/akdzg/custom-firmware-marlin-and-pour-it-into-a-3d-printer/ эту статью] по калибровке принтера) | ||
+ | |||
+ | #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,158.8308}; //Got from sprinter.!!! original is {80, 80,3200,158.8308}; | ||
+ | |||
+ | Так же при экспериментах с ABS пластиком выяснилось что экструдер у нас не достигает нужной температуры, но при попытки выставить температуру выше 240 С, у нас начинались сильные скачки температуры вплоть до 300 С и экструдер отключался по защите в прошивки. Пришлось расширить диапазон температур по защите до 280 С. Но в итоге оказалось что с PLA пластиком температур нам вполне хватает и этот параметр оказался не востребованным. (видео с тестом температур http://www.youtube.com/watch?v=JwLsAoe7yio и видео с тестом повышения температуры http://youtu.be/7Tzm16wOHSs ) | ||
+ | |||
+ | #define HEATER_0_MAXTEMP 380 //edited from 270 (не рекомендум :) | ||
+ | |||
+ | '''Финальную версию прошивки Marlin для RepRap Mendel Pangu с модификациями от YSB и Нижегородского Радиотехнического Колледжа''' можно скачать у нас на сайте <br> | ||
+ | http://wiki.nntc.nnov.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:MARLIN_2014-02-9_Pangu_i3-CADR.zip | ||
+ | |||
+ | ===Распаковываем и открывает файл-проекта прошивки в Arduino=== | ||
+ | [[image:arduino-with-Marlin.jpg|300px|right|thumb|Среда Arduino с проектом Marlin редакция от Нижегородского Радиотехнического Колледжа]]Здесь все просто | ||
+ | * Открывает среду разработки Arduino | ||
+ | * Меню '''Файл -> Открыть''' | ||
+ | * В появившемся файл-менеджере идем в каталог с распакованной прошивкой и выбираем там файл '''Marlin.ino''' | ||
+ | * Появляется новое окно среды Arduino, где каждый файл проекта открыть в отдельной закладке. Щелкаете по закладкам и видите нужный файл. | ||
+ | * Главный файл, на который нужно обратить внимание - это '''Configuration.h''' | ||
+ | <br clear=all> | ||
+ | |||
+ | ===Подключаем плату управления для прошивки=== | ||
+ | Подключаем плату к компьютеру USB-кабелем. В Linux у вас должно появиться '''устройство /dev/ttyUSB0'''. Появилось ли оно, можно узнать командой ''ls /dev/ttyUSB*'', а лучше всего, после подключения платы к компьютеру ввести команду '''dmesg''' и посмотреть информацию от ядра Linux о том, как оно отреагировало на подключения этого устройства. | ||
+ | |||
+ | [[image:Arduino-IDE-choose-Atmega1284p-support.jpg|400px|right|thumb|Выбираем название устройства и тип микроконтроллера для прошивки Arduentissimo Melzi на базе Atmega 1284p]] Теперь запускаем среду arduino, в меню '''Сервис -> Последовательный порт''' выбираем порт подключения устройства, обычно это '''/dev/ttyUSB0''', а в меню '''Сервис -> Плата''' выбираем тип микроконтроллера и платы. В зависимости от типа платы, используются различные коды загрузчика, для прошивки на микроконтроллер. В нашем случае в стандартной поставке Arduino поддержки микроконтроллера Atmega 1284p не оказалось. Для возможности прошивки платы нам понадобилось: | ||
+ | * Скачать архив с модифицированным Marlin с [http://www.soliforum.com/post/52214/#p52214 сайта] по данной ссылке https://www.dropbox.com/s/0ke7myxojt4i6ct/Arduinov101.rar либо только нужные файлы с нашего сайта [http://wiki.nntc.nnov.ru/images/2/21/Atmega-1284p-Melzi-support-for-Arduino-IDE.zip архив с каталогами поддержки Melzi и микроконтроллера Atmega 1284p для среды Arduino] | ||
+ | * Из полученного архива нам понадобилось только два каталога ''Sanguino'' и ''Melzi'', в которых находятся описания и бинарниками загрузчика для нашего типа платы и микроконтроллера. Для добавления их поддержки в среду разработки Arduino достаточно '''скопировать эти два каталога в /usr/share/arduino/hardware'''. В данном каталоге уже есть каталоги arduino и tools, рядом с ними должны появиться каталоги Melzi и Sanguino<br> | ||
+ | <pre> | ||
+ | sudo cp -r Melzi /usr/share/arduino/hardware/ | ||
+ | sudo cp -r Sanguino /usr/share/arduino/hardware/ | ||
+ | </pre> | ||
+ | * Теперь в среде Arduino у вас должна появиться поддержка микроконтроллера Atmega 1284p | ||
+ | |||
+ | [[image:Arduentissimo-Melzi.jpg|400px|left|thumb|Плата управления Arduentissimo Melzi, с микроконтроллером Atmega 1284p. Обратите внимание на пин переключения платы в режим прошивки! Резистор 1002 - это резистор на 10К (2-означает дополнительное кол-во нулей). Именно этот тип резистора нужно указывать в файле Configuration.h]] Что бы проверить тип микроконтроллера в вашем случае просто посмотрите на самый большой чип на плате и прочитайте на нем маркировку. В нашем случае это была '''Atmega 1284p'''. И не забудьте переключить плату в режим прошивки - замкнуть два пина с помощью джемпера в указанном на фотографии месте платы. В различных инструкциях пишут что после прошивки для нормальной работы платы, нужно джемпер снять, но '''в нашем случае при снятом джемпере плата корректно не запускается''', а точнее не определяется системой. Мы его так и оставили на месте с ним все прекрасно работает! | ||
+ | |||
+ | <br clear=all> | ||
==Программное Обеспечение для печати== | ==Программное Обеспечение для печати== | ||
− | === | + | |
− | === | + | Для работы с 3D-принтерами существуют различные программы управления. Например: reprap, Repetier-host, prontinterface. Это только те, о которых мы слышали. |
+ | |||
+ | Кроме программы работы с принтером, которая по сути дает вам возможность только двигать осями и включать-выключать нагрев экструдера и стола, вам понадобится программа для анализа 3D-модели и "разрезания" модели по слоям. Этот тип программ так и называется "Слайсеры" (англ. ''slice'' - нарезать кусочками). В нашем случае будет использоваться слайсер Slic3r. | ||
+ | |||
+ | ===Установка программы управления принтером=== | ||
+ | Сразу оговорюсь, что анализом программ управления и выбором мы не занимались. Около года назад мы попросили совета у Бориса Терещенкова (у которого на тот момент уже был 3D-принтер в личном пользовании), какое ПО лучше всего использовать. Его советом был Repetier-Host, мы его и "выбрали" для работы. | ||
+ | |||
+ | Сразу скажу, что первый опыт работы с Repetier-Host версии 0.95F показал, что он печатает из Windows, а вот в Linux работает всё только до момента начала печати. Как только в Ubuntu 12.10 с установленным Repetier-Host 0.95F мы начинали процесс печати - мы получали ошибку: | ||
+ | <pre> | ||
+ | "Error: Checksum mismatch, Last Line: 19" | ||
+ | </pre> | ||
+ | После долгих и мучительных выяснений, в чём проблема, выяснилась одна простая вещь. В последней версии Repetier-Host, видимо, есть ошибка, и при начале печати он слишком мало времени ждет ответа от принтера, после перевода его в режим разогрева экструдера и стола. | ||
+ | |||
+ | Решением проблема стало использование более старой версии Repetier-Host. Эксперименты показали что '''в Ubuntu 14.04 прекрасно работают Repetier-Host 0.84 и Repetier-Host 0.90D'''. | ||
+ | |||
+ | Установка выполняется очень просто: | ||
+ | * Качаем архив с нужной версией программы отсюда: http://www.repetier.com/download/repetier-host-linux-0-90d/ | ||
+ | * Распаковываем его | ||
+ | * Устанавливаем пакет mono-delev со всеми зависимостями | ||
+ | <pre> | ||
+ | apt-get install mono-devel | ||
+ | </pre> | ||
+ | * Заходим в каталог, куда распакован Repetier-Host и запускаем скрипт repetierHost (тот который без расширений). | ||
+ | * Если среда не запускается, попробуйте воспользоваться следующей командой, и запишите ее в скрипт запуска repetierHost | ||
+ | <pre> | ||
+ | mono RepetierHost.exe -home ./ | ||
+ | </pre> | ||
+ | |||
+ | <!-- | ||
+ | * В консоли переходим в каталог, куда распаковали RepetirHost | ||
+ | * Запускаем скрипт configureFirst.sh, который установит нам mono с необходимыми библиотеками для работы Repetier | ||
+ | <pre> | ||
+ | cd RepetierHost | ||
+ | sudo ./configurationFirst.sh | ||
+ | </pre> | ||
+ | --> | ||
+ | |||
+ | [[image:RepetierHost-printer-settings-first.jpg|400px|right|thumb|Настройка параметров подключения 3D-принтера RepRap Mendel Pangu в RepetierHost 0.90D. Особое внимание обратите на устройство подключения и скорость связи с ним. Скорость связи должна соответствовать параметру, выставленному в прошивке.]] | ||
+ | |||
+ | После запуска программы сделайте базовые настройки параметров подключения к принтеру. Самое главное здесь - устройство подключения, обычно '''/dev/ttyUSB0''' и скорость передачи данных -- в прошивке выставлено '''115200''', здесь нужно указать эту же скорость! | ||
+ | |||
+ | Нажимайте кнопку "Подключиться", ждите 10 секунд, пока плата управления перезагрузится, и можете на закладке '''Управление''' подвигать осями принтера! Всё должно заработать, как надо! | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | ===Установка слайсера=== | ||
+ | А вот слайсер установить так просто не получится. Как оказалось, в библиотеках, использующихся для сборки слайсера из старых версий RepetierHost, есть ошибка. И все рекомендуют собирать новый слайсер с официального репозитория с GitHub - что и мы вам рекомендуем! | ||
+ | |||
+ | Для простоты - воспользуемся официальной статьей [https://github.com/alexrj/Slic3r/wiki/Running-Slic3r-from-git-on-GNU-Linux "Running Slic3r from git on GNU Linux"] | ||
+ | |||
+ | * Устанавливаем необходимые пакеты для сборки slic3r из исходников, а так же для его загрузки с github: | ||
+ | |||
+ | $ sudo apt-get install git build-essential libgtk2.0-dev \ | ||
+ | libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl \ | ||
+ | libexpat1-dev | ||
+ | $ sudo apt-get install cpanminus | ||
+ | $ sudo apt-get install libxmu-dev freeglut3-dev libwxgtk-media2.8-dev | ||
+ | |||
+ | * Устанавливаем <code>curl</code> для получения параметров подключения к CPAN-репозиторию: | ||
+ | |||
+ | $ sudo apt-get install curl | ||
+ | $ curl -L http://cpanmin.us | sudo perl - --sudo App::cpanminus | ||
+ | |||
+ | * С помощью утилиты git получаем исходники slic3r в текущий каталог с официального репозитория, и переходим в каталог с исходниками: | ||
+ | |||
+ | $ git clone https://github.com/alexrj/Slic3r.git | ||
+ | $ cd Slic3r | ||
+ | |||
+ | * Запускаем компиляцию с помощью <code>perl</code>: | ||
+ | |||
+ | $ sudo perl Build.PL | ||
+ | $ sudo perl Build.PL --gui | ||
+ | |||
+ | |||
+ | Теперь каталог slic3r можно скопировать в каталог с RepetierHost, и поместить весь каталог RepetierHost в <code>/opt/</code>, чтобы все пользователи системы могли им пользоваться (либо никуда ничего не перемещать, и просто запускать из известного вам места). | ||
+ | |||
+ | ===Настройка RepetierHost для работы со Slic3r и RepRap Mender Pangu=== | ||
+ | А вот здесь начинается самое интересное! | ||
+ | |||
+ | {| | ||
+ | |[[image:Repetier-Host-Config-1.jpg|500px|thumb|В меню Конфигурация -> Настройки программы убедитесь что у вас указанна рабочая папка, где будут храниться все параметры настройки программы. Возможно стоит включить сессию, в интернетах пишут что есть возможность восстанавливать процесс печати при сбоях (сами еще не пробовали)]] | ||
+ | |[[image:Repetier-Host-Config-2.jpg|500px|thumb|Нажмите справа кнопку Настройки принтера и проверьте правильность параметров подключения к вашему 3D-принтеру. У нас в прошивке указана скорость связи 115200, а сам принтер при подключении доступен через файл-устройство /dev/tty/USB0 - эти параметра и указываем здесь!]] | ||
+ | |- | ||
+ | |[[image:Repetier-Host-Config-3.jpg|500px|thumb|На следующей закладке находятся параметры управления принтером "в свободном" режиме, т.е. когда вы двигаете оси вручную. Параметры температуры стола и панели влияют на значения полей по умолчанию в окне управления. На процесс печати они особого влияния не оказывают.]] | ||
+ | |[[image:Repetier-Host-Config-4.jpg|500px|thumb|В закладке "Размеры" находятся параметры пространства печати, отрисовываемые в среде Repetier-Host. Лучше указать их как можно ближе к размерам печатаемой области вашего принтера, тогда вам будет проще ориентироваться с расположением объекта на столе и подготовке печати]] | ||
+ | |[[image:Repetier-Host-Config-5.jpg|500px|thumb|В закладке "Расширения" особого раздолья для творчества нет. Можно сказать что здесь вообще ничего настраивать не нужно. Оставьте все как есть!]] | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ===Настройка slic3r для подготовки моделей для печати на RepRap Mender Pangu=== | ||
+ | [[image:Slic3r-configuration-1.jpg|400px|left|thumb|Настройка "соединения" из Repetier-Host со Slic3r. Оставьте поле "Рабочая папка" пустым, что бы иметь возможность выбирать различные пресеты настройки слайсера прямо в окне программы Repetier-Host!]]Для правильной работы со слайсером Slic3r, для начала нужно указать каталог, где он установлен. Для этого в Repetier-Host в правой части экрана зайдите в закладку "Слайсер" и нажмите кнопку "Настройка". | ||
+ | |||
+ | В появившемся окне нужно указать только рабочую папку, где установлен Slic3r (выбрать исполняемый файл slic3r.pl). | ||
+ | |||
+ | ВАЖНО! '''Оставьте поле "Рабочая папка" пустым''', что бы иметь возможность выбирать различные параметры настройки слайсера прямо в окне программы Repetier-Host! | ||
+ | <br clear=all> | ||
+ | {| | ||
+ | |[[image:Slic3r-config-2.jpg|400px|thumb|2]] | ||
+ | |Для доступа непосредственно к настройкам слайсера, нажмите верхнюю кнопку "Настройка" с одной шестеренкой.<br> | ||
+ | В разделе "Layers and Perimetrs" (слои и периметры) вам нужно проверить значения следующих параметров: | ||
+ | |||
+ | * '''Layer height (высота слоя)''' - Это именно тот параметр, по которому мы выбирали принтер, что то вроде "точности печати". Здесь вы можете указать значения 0,1, 0,2, 0,3 (все в десятых долях миллиметра). Значения больше, чем диаметр сопла вашего экструдера указать нельзя! Что указывать? Все зависит от того хотите ли вы напечатать быстро, или по максимому гладко. Нас вполне устраивает качество печати на толщине слоя 0,3 мм. Все фотографии в разделе "История" демонстрируют детали напечатанные именно при этом значении параметра. | ||
+ | * '''First Layer Height (высота первого слоя)''' - Этот параметр может отдельно регулировать высоту первого слоя. Нам кажется что первый слой лучше печатать максимально "толстым" что бы зазор от стола был достаточным для хорошего вытекания пластика и прилипания к панели. | ||
+ | * '''Perimetrs (кол-во периметров)''' - Каждый слой печатается сначало "боковыми стенками", а затем пространство между этими стенками объекта заполняется нитями пластика. Так вот, этот параметр контролирует какой толщины должна быть стенка, в данном случае периметр будет формироваться тремя рядом лежащими нитями (в три обхода). | ||
+ | * '''Solid Layers (сплошные слои)''' - Пространство между нитями периметра в трех верхних (top) и трех нижних (bottom) слоях будет заполняться со 100% заполнением (без пропусков), что бы сформировать сплошное пластиковое дно и верхнюю часть. | ||
+ | |||
+ | |- | ||
+ | |[[image:Slic3r-config-3.jpg|400px|thumb|3]] | ||
+ | |В разделе Infill (Заполнение) Находятся следующие параметры слайсера: | ||
+ | * '''Fill Density (степень заполнения)''' - этот параметр влияет на степень заполнения внутреннего пространства объекта в слоях, кроме верхних и нижних трех. Обычно 40% заполнения достаточно что бы модель хорошо держала форму и не требовался слишком большой расход пластика. Вы можете поэкспериментировать с другими значениями. По информации из интернета, наиболее прочные модели получаются при 80% заполнении. P.s. 100% не ставьте, модель будет распирать изнутри излишним давлением пластика! | ||
+ | * '''Fill pattern (форма заполнения)''' - этот параметр влияет на то, каким способом будут укладываться нити внутреннего заполнения объекта. Rectilinear - это заполение прямыми линиями под углом к периметру, есть honeycomb - будут рисоваться шестиугольники по аналогии с сотами пчел, и еще пару вариантов. Нас вполне устраивает Rectilinear :) | ||
+ | * '''Top/bottom fill pattern (форма заполнения верхнего/нижнего слоев)''' - по аналогии с предыдущим параметром, но уже для тех самых трех сплошных слоев в самом низу и самом верху объекта. Можете для них использовать другую форму заполнения для получения большей гладкости. | ||
+ | * '''Combine infill every (комбинировать заполнение каждые)''' - в целом подраздел называется reducin printing time (уменьшение времени печати) и, видимо, эти параметры призваны несколько сократить время печати. Вероятнее всего этот параметр влияет на смену направления линий каждые указанные кол-во слоев. | ||
+ | * '''Only infill where needed (делать заполнение только там, где нужно)''' - параметр включает выполнение заполнения только при необходимости, по мнению слайсера. | ||
+ | * '''Solid infill every (полное заполнение каждые)''' - параметр позволяет выполнять полное заполнение слоя, через каждые n-цать слоев для повышения прочности объекта. | ||
+ | * '''Fill angle (угол заполнения)''' - под каким углом будут рисоваться линии заполнения, по отношению к системе координат стола. | ||
+ | * '''Solid infill treshold area (порог области сплошного заполнения)''' - при участках слоя, площадью меньше указанного будет выполняться сплошное заполнение. | ||
+ | * '''Only retract when crossing perimetrs (приподнимать струну, только при пересечении периметров)''' - при обычном поведении принтера, когда экструдер перемещается в ругую часть слоя, струна не подтягивается вверх и на слое остаются видимыми следы, перемещения экструдера над ним. Можете снять галку и принтер будет вытягивать струну из экструдера четь вверх и при перемещении внутри периметра и заполнении. | ||
+ | * '''Infill before perimeters (заполнение перед созданием периметра)''' - тут все очевидно. Обычно сначала создается периметр, а затем внутри него производиться заполнение. Это опцией можно поменять очередность поведения принтера. | ||
+ | |- | ||
+ | |[[image:Slic3r-config-4.jpg|400px|thumb|4]] | ||
+ | |[[image:scirt-and-brim.jpg]] | ||
+ | Раздел Skirt and brim (Юбка и край) отвечают за подготовительную стадию печати. Юбкой называют "обходы" по большому периметру вокруг объекта, для очистки экструдера от излишком пластика на нем и начала прилипания пластика к столу. Краем называют чуть более толстый периметр первого слоя, которые делается для лучшего удержания объекта на столе и избавления от некоторого "растекания" объекта при "подтаивании" во время печати. | ||
+ | * '''Loops (minimum) (кругов (минимум))''' - Количество кругом Юбки вокруг объекта. Если объект небольшой лучше сделать пару кругов, что бы экструдер успел очиститься от пластика об стол и пластик начал прилипать к столу. | ||
+ | * '''Distance from object (расстояние от объекта)''' - расстояние от объекта, на котором будет рисоваться юбка. 6мм обычно достаточно. Но можете сделать побольше, что бы увеличить путь экструдера для лучшей очистки. | ||
+ | * '''Skirt height (высота юбки)''' - сколько слоев, должна занимать юбка. Обычно одного слоя достаточно. Но, возможно есть случаи когда требуется больше. | ||
+ | * '''Minimum extrusion length (минимальная длинна экструзии)''' - видимо этот параметр контролирует минимальную длину струны филамента, которая должна быть выдавлена при создании юбки. | ||
+ | * '''Brim Width (ширина Края)''' - ширина создаваемого Края в миллиметрах. | ||
+ | |- | ||
+ | |[[image:Slic3r-config-5.jpg|400px|thumb|5]] | ||
+ | |Раздел Support Material (поддерживающие материалы) дает возможность включить добавление поддержек для нависных частей печатаемого объекта. | ||
+ | * '''Generate support material (Создавать поддерживающие элементы)''' - параметр включает анализ необходимости и добавление поддерживающих элементов. | ||
+ | * '''Overhanding threshold (Порог нависания)''' - угол, больше которого будет печататься поддержка для данной части модели. При установке значения в 0 - программа сама будет решать когда нужно печатать поддержку. | ||
+ | * '''Enforce support for the first ... layers (принудительно печатать поддержки для первых ... слоев)''' - как пишут в интернете: помогает в случае незначительно нависающих элементов располоденных невысоко над столом. | ||
+ | .... | ||
+ | |- | ||
+ | |[[image:Slic3r-config-6.jpg|400px|thumb|6]] | ||
+ | |Раздел Speed управляет планированием скорости перемещения экструдером при создании различных элементов объекта. Учтите, что чем ниже скорость, тем больше точность печати, но больше время. Для крупных объектов с простой геометрией можно выставить скорость выше. Для более мелких имеет смысл указать меньшие скорости. На слайде указаны минимальные рекомендованные скорости. При этих параметрых мы получаем очень хорошее качества печати, а так же они хороши для теста принтера. Рекомендуем начинать с них. В дальнейшем вы сможете их изменить и подобрать оптимальные значения для получения приемлимого качества печати при приемлимом времени. | ||
+ | * '''Perimetrs''' - скорость печати периметров объекта | ||
+ | * '''Small perimetrs''' - скорость печати периметров малой длинны (можно выставить скорость ниже, для большей точности). | ||
+ | * '''External perimetrs''' - скорость печати внешнего периметра (последнего внешнего обхода). Она обычно меньше для придания большей внешней гладкости объекту | ||
+ | * '''Infill (заполнение)''' - скорость печати внетреннего заполнения (не сплошеного) | ||
+ | * '''Solid Infill (сплошное заполнение)''' - скорость печати сплошного заполнения | ||
+ | * '''Top solid infill (верхнее сплошное заполнение)''' - скорость печати верхнего слоя | ||
+ | * '''Support material (поддерживающий материал)''' - скорость печати поддерживающих материалов | ||
+ | * '''Bridges (мосты)''' - скорость печати "перебрасываемых" мостов (при печати нависных элементов между двумя структурами, пара первых слоев провиснет, но с 3-го все будет ровно). Обычно эта скорость не очень высокая. | ||
+ | * '''Travel (перемещение)''' - скорость перемещения экструдера от одной части элемента к другой (без печати) | ||
+ | * '''First layer speed (Скорость печати первого слоя)''' - для лучшего прилипания к столу обычно первый слой печатается несколько медленее | ||
+ | * '''Acceleration control (управление ускорением)''' - ничего не можем сказать о влиянии этих параметров на печать. Предполагаем что негативное :) | ||
+ | |- | ||
+ | |[[image:Slic3r-config-7.jpg|400px|thumb|7]] | ||
+ | |Раздел Multiples Extruders отвечает за настройку параметров использования нескольких экструдеров, если ваша модель принтеров оснащена несколькими экструдерами одновременно. В каждый экструдер может быть заведен различный пластик. Здесь определяется каким экструдером будут печататься периметры (Perimeter extruder), заполнения (infill extruder), слоев со слошным заполнением (solid infill extruder), поддерживающих элементов, юбок и обводок (Support materials/skirt/raft extruder). | ||
+ | |- | ||
+ | |[[image:Slic3r-config-8.jpg|400px|thumb|8]] | ||
+ | |Раздел Advanced позволяет контролировать различные параметры. Extrusion width - контролирует толщину слоя печати, Overlap - наложение (заполнения на периметр) и другие | ||
+ | * '''Default extrusion width (толщина экструзии по умолчанию''' - сама толщина слоя указывается в закладке Filament settings, а здесь указывается параметр "утолщения" или "утоньшения" от базовых параметров. | ||
+ | * '''First layer''' - толщина первого слоя | ||
+ | * '''Perimeters''' - толщина печати периметров | ||
+ | * '''External perimeters''' - толщина печати внешнего периметра | ||
+ | * '''Infill''' - толщина печати заполнения | ||
+ | * '''Solid Infill''' - толщина печати сплошного заполнения | ||
+ | * '''Top solid infill''' - толщина печати верхнего слоя заполнения | ||
+ | * '''Support material''' - толщина печати материалов поддержки | ||
+ | * '''Infill/perimeters overlap''' - процент наложения заполнения на периметр | ||
+ | * '''Threads''' - сколько потоколв процессора будет использовано при просчете модели. Обычно роекомендуют ставить чуть больше, чем ядер на вашем процессоре. Для одноядерного процессора подойдет значение 2 | ||
+ | |- | ||
+ | |[[image:Slic3r-config-9.jpg|400px|thumb|9]] | ||
+ | |Output options - параметры вывода. Раздел отвечает за параметры подготовки и сохранения gcode-файла. Можно включить Подробный gcode (verbouse gcode). | ||
+ | |- | ||
+ | |[[image:Slic3r-config-10.jpg|400px|thumb|10]] | ||
+ | |Раздел Notes - это просто заметки для текущих настроек в которых вы можете указать особенности и цели настроек. | ||
+ | |- | ||
+ | |'''Filament Settings''' | ||
+ | |Раздел с параметрами работы с пластиком (филаментом). | ||
+ | |- | ||
+ | |[[image:Slic3r-config-21.jpg|400px|thumb|21]] | ||
+ | |'''Filament''' - это наиболее важный раздел, контролирующий как ваш принтер работает с пластиком. Для разного типа пластиков ван нужно указывать разные параметры. <br> | ||
+ | Обратите внимание! Вы можете выставить значения температур экструдера и стола в '''0 С''' и тогда сможете '''управлять температурой стола и экструдера во время печати в ручную''' из панели "управления". Это удобно при подборе температуры печати. | ||
+ | * '''Dameter''' - диаметр пластика, который вы используете (иаметр струны вашего пластика). Этот параметр очень важен, т.к. принтер определяет объем выдавленного из экструдера пластика по длинне втянутого в экструдер пластика и ... его иаметру! Указывайте этот параметр в соответствии с данными производителя вашего пластика. | ||
+ | * '''Extrusion multiplier (множитель выдавливания)''' - этот параметр влияет на расчеты выдавленного пластика. Длинна втянутой струны, умноженная на диаметр и на этот параметр. Из опыта: при значении по умолчанию 1 мы имели сильное "мазанье" пластика по детали. При установке параметра в 0.6 мы получаем хороший результат. При значении 0.4 - нить выдавливается плохо и часто рвется при обходах. Здесь вам нужно будет подбирать значение путем экспериментов. | ||
+ | * '''Extruder temperature (температура экструдера)''' - для ABS пластика требуется 230 С для PLA около 190 С. Но т.к. в ходе экспериментов мы выяснили что наш принтер показывает температуру на 30 С ниже, чем данные полученные с помощью термопары мкльтиметра, здесь мы использщуем некое среднее значение между показаниями двух приборов. <br> | ||
+ | Так же здесь можно указать температуру экструдера отдельно для первого (first) и остальных слоев (other layers). | ||
+ | * '''Bed (стол)''' - температура нагрева стола так эе зависит от типа пластика, который вы используете. для ABS требуется нагрев стола до 90 С, а вот для PLA нагрева не требуется, хотя иногда для PLA-пластика рекомендуют слегка подогревать стол до 30~40 C при этих значениях мы так же получали хороший результат, то быстро высыхает клей на поверхности стола :) | ||
+ | |- | ||
+ | |[[image:Slic3r-config-22.jpg|400px|thumb|22]] | ||
+ | |Раздел Cooling отвечает за режим работы обдевающего вентилятора. Опять же, параметры работы вентилятора должны зависить от типа пластика, который вы используете. Для ABS-пластика вентилятор лучше совсем отключить физитески! (отключить контакты от платы). ABS пластик очень не любит перепада температур и любит закрытое подогретое пространство (некоторые даже делают коробки вокруг принтера для контроля температуры среды печати, но не перегрейте шаговые двигатели).<br> | ||
+ | Для PLA-пластика на против, требуется постоянный обдув для успешного затвердевания уже напечатанного слоя до наложения на него следующего (PLA-склонен к растеканию). | ||
+ | * '''Keep fan aleays on (держать вентилятор всегда включенными)''' - параметр контролирует включать или не включать вентилятор | ||
+ | * '''Fan speed (скорость вентилятора)''' - параметр влияющий на диапазон скорости вращения вентилятора | ||
+ | * '''Bridges fan speed (скорость вентилятора при пробросе мостов)''' - при построении навесных элементов удобнее использовать самый сильный воздушный поток для максимальной скорости затвердевания пластика при пробросе нитей от одной части объекта до другой. | ||
+ | * '''Disable fun for the first layers (отключить вентилятор при печати первых Х слоев''' - сколько первых слоев будет напечатано с выключенным вентилятором | ||
+ | |- | ||
+ | |'''Printer Settings''' | ||
+ | |Параметры взаимодействия программы с принтером и параметры экструдера находятся здесь. | ||
+ | |- | ||
+ | |[[image:Slic3r-config-31.jpg|400px|thumb|31]] | ||
+ | |В разделе General находятся параметры взаимодействия с вашей модельню 3D-принтера: | ||
+ | * '''Ded shape (размер стола)''' - физический размер стола вашего принтера в миллиметрах. Позволяет избавиться от проблемы выхода за пределы печати при размещении объекта при подготовке. | ||
+ | * '''Z offset''' - первоначальное смещение по оси Z (подъем над столом). Возможно вам нужно начать печатать начиная с какой то высоты (например на поверхности уже имеющегося объекта, лежащего на столе), то этот параметр для вас. Но будьте точны в измерениях! | ||
+ | * '''Extruders''' - количество экструдеров, установленных на вашем принтере | ||
+ | * '''Host or IP''' - параметры подключения к интерфейсу управления принтером OctoPrint (система управления RepRap и другими принтерами с помощью web-интерфейса запущенного на RaspberryPi и подключенного непосредственно к принтеру, подключение идет через сеть по ip-адресу). Шикарный проект, позволяющий контролировать печать через web-браузер. Но подготовку g-кода нужно будет делать на компьютере (мы пока не выяснили как контролировать положение STL-модели на столе перед слайсингом прямо в интерфейсе OctoPrinta). Подробнее о нем в последнем разделе статьи. | ||
+ | * '''G-code flavor''' - тип команд, которые принимает ваш принтер. Этот параметр зависит от типа прошивки, которую вы загрузили в принтер. В нашем случае это Marlin и здесь мы выбрали соответствующий параметр. | ||
+ | |- | ||
+ | |[[image:Slic3r-config-32.jpg|400px|thumb|32]] | ||
+ | |Custom G-code - ручные команды g-code. Сами по себе команды управляют поведением принтера не на прямую. Команды интерпретируются прошивкой, которая ориентируясь на них уже непосредственно управляет двигателями и нагревательными элементами. сам формат g-code - это облегченный вариант команд для ЧПУ. Список всех g-code команд можно посмотреть здесь [http://reprap.org/wiki/G-code#Unbuffered_M_and_T_commands "Справочник команд G-code"] | ||
+ | * '''Start G-code (команды начала печати)''' - команды, которые выполняются в начале печати. Напирмер команда G28 - привести экструдер в нулевую позицию по всем осям | ||
+ | * '''End G-code (команды окончания печати)''' - команды которые подставяться в конец команд слайсинга объекта. Например M104 S0 - установить температуру всех нагревателей в 0 (выключить). | ||
+ | |- | ||
+ | |[[image:Slic3r-config-33.jpg|400px|thumb|33]] | ||
+ | |Extruder 1 - это наиболее важный раздел при настройке принтера! | ||
+ | * '''Nozzle diameter (диаметр отверстия экструдера)''' - диаметр отверстия сопла, через который выдавливается пластик. Этот параметр должен быть указан в соответствии с реальными параметрами вашего экструдера. Мы пытались указать его больше, для уменьшения количества выдавливания пластика - эффект обратный: чем больше диаметр - тем больше затягивается пластика в экструдер. Так же, вы не можете печатать слой, высотой больше, чем этот диаметр! | ||
+ | * '''Extruder offset (смещение экструдера)''' - этот параметр указывается для второго и третьего экструдера (если ваш принтер оборудован ими) для учета смещения данного экструдера от первого, для поправки смещения блока при печати вторым или третьим экструдерами. | ||
+ | * '''Length (длинна выдавливания)''' | ||
+ | * '''Lift Z (поднимать по оси Z)''' - бедьте аккуратны с этим параметром. Он добавляет высоту поднятия экструдера по оси Z на каждом слое. Высота будет быстро рости. | ||
+ | * '''Speed (скорость)''' - Этот параметр оказался очень важным для нас! При скорости вращения двигателя, затягивающего струну в экструдер выше 20 мм/s наш экструдер часто забивался. При уменьшении этого параметра мы избавились от проскальзывание фестеренги по пластиковой струне и и избавились от забития экструдера! | ||
+ | * '''Minimum travel after retraction (минимальное растояние перемещения после приподнимания струны)''' - при каком перемещении без печати должна "приподниматься" (вытягиваться вверх) струна что бы избавиться от подтекания пластика из экструдера. | ||
+ | * '''Retract on layer change (приподнимать струну при смене слоев)''' - собственно, приподнимать ли струну при подьеме перед печатью другого слоя. | ||
+ | * '''Wipe while retracting''' | ||
+ | |} | ||
+ | |||
+ | Ну вот наверное и все. Особое внимание обратите на: | ||
+ | * параметры скорости печати | ||
+ | * температуры экструдера и стола | ||
+ | * режимы работы вентилятора | ||
+ | * диаметр экструдера и скорость подачи струны в экструдер | ||
+ | |||
+ | Как выяснилось, для запуска принтера это наиболее важные параметры. Выставляйте их вначале в минимальные значения, проверяйте стабильность работы при них, затем постепенно меняйте параметры и проверяйте поведение принтера при печати. | ||
+ | |||
+ | Так же, для различных типов моделей стоит сделать несколько настроек и выбирать их перед слайсингом в зависимости от типа детали. Для больших и геометрически правильных деталей можно выставить скорости печати в 40 мм/s для мелких и фигур плавной формы стоит остановиться на указанных параметрах (это будет дольше, но качественее). | ||
==Пластик(и)== | ==Пластик(и)== | ||
Когда у вас встает вопрос как мне настраивать слайсер, подогревать ли стол, какую температуру экструдера выставлять в настройках, сначала вам нужно определиться какой вид пластика у вас сейчас в руках. | Когда у вас встает вопрос как мне настраивать слайсер, подогревать ли стол, какую температуру экструдера выставлять в настройках, сначала вам нужно определиться какой вид пластика у вас сейчас в руках. | ||
+ | |||
Великолепный способ быстро определить тип пластика мне подсказал все тот же пользователь ysb с форума [http://www.soliforum.com/post/50930/#p50930 soliforum]. | Великолепный способ быстро определить тип пластика мне подсказал все тот же пользователь ysb с форума [http://www.soliforum.com/post/50930/#p50930 soliforum]. | ||
Вам нужно просто поджечь кусочек вашего пластика и посмотреть как он горит! | Вам нужно просто поджечь кусочек вашего пластика и посмотреть как он горит! | ||
− | + | <center> | |
− | + | <gallery widths="320px" heights="240px"> | |
− | + | Файл:Burn_ABS.jpg|Сжигаем ABS пластик и видим много дыма | |
− | + | Файл:Burn_PLA.jpg|Сжигаем PLA и дыма вообще нет, но пластик капает | |
+ | </gallery> | ||
+ | </center> | ||
Мы определили тип пластика и теперь можно выяснять как настраивать слайсер на подготовку gcoda для печати модели именно вашим типом пластика. | Мы определили тип пластика и теперь можно выяснять как настраивать слайсер на подготовку gcoda для печати модели именно вашим типом пластика. | ||
===Режимы печати с ABS=== | ===Режимы печати с ABS=== | ||
− | [[image:Temperature-jumps-when-more-240.png|400px|right|thumb| скачки температуры при попытке выставить температуру экструдера выше 240 С]]Для ABS пластика потребуется более высокая температура хот-энде. По рекомендации ysb, я использовал '''220 С''' для экструдера и '''90 С''' для стола. | + | [[image:Temperature-jumps-when-more-240.png|400px|right|thumb| скачки температуры при попытке выставить температуру экструдера выше 240 С]]Для ABS пластика потребуется более высокая температура хот-энде. По рекомендации ysb, я использовал '''220 С''' для экструдера и '''90 С''' для стола. |
+ | Для ABS-пластика вам потребуется физически '''отключить вентилятор'''! | ||
− | |||
− | [[image:temperature-test. | + | Так же, по словам ysb, нагреватель и сам экструдер в Pangu рассчитан на температуру не выше 240 С, иначе есть шанс расплавить [https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%B5%D1%82%D1%80%D0%B0%D1%84%D1%82%D0%BE%D1%80%D1%8D%D1%82%D0%B8%D0%BB%D0%B5%D0%BD PTFE]-трубку внутри. К тому же, по нашим тестам, если попробовать выставить температуру выше 240 С, то вы будете получать очень большие прыжки температуры, вплоть до 320 С, после чего нагрев экструдера будет выключен по защите в прошивке. Мы испытывали проблему, как мы считали, с недогревом пластика и для тестов, нам пришлось повысить этот барьер в коде прошивки до 380 С: |
− | После некоторых экспериментов выяснилось что наш hot-end | + | |
− | Тут конечно сложно сказать кому верить | + | #define HEATER_0_MAXTEMP 380 |
+ | |||
+ | чтобы иметь возможность греть экструдер до 260 С, но это не решило проблем, поэтому не рекомендуем! | ||
+ | |||
+ | [[image:temperature-test.jpg|400px|left|thumb|Проверяем соответствие данных о температуры со встроенного термистора и данных с термопары подключенной к мультиметру http://www.youtube.com/watch?v=JwLsAoe7yio]]Это очень важно. ABS очень не любит сквозняков и перепада температуры. Мы думали, не сделать ли нам корпус вокруг принтера. Но, забегая вперед, оказалось, что этого не требуется с PLA. | ||
+ | |||
+ | После некоторых экспериментов выяснилось, что наш hot-end -- а точнее, термистор в нём -- не совсем точно показывает текущую температуру. Для проверки мы воспользовались мультиметром с подключённой термопарой. И у нас получились расхождения примерно в 30 С в меньшую сторону, т.е. если я на компьютере выставлял 220 С, то на мультиметре я видел всего 190C. | ||
+ | |||
+ | Тут конечно сложно сказать, кому верить -- китайскому термистору в hot-end'е, или китайской термопаре, подключенной к китайскому мультиметру :) Но мне кажется, что мультиметр ближе к истине (тем более, что мы испытали его на кипящем чайнике с водой, и он выдал нам 93...95 градусов С с термопарой, помещённой в пакетик и опущенной в кипящую воду :) | ||
<br clear=all> | <br clear=all> | ||
===Режимы печати с PLA=== | ===Режимы печати с PLA=== | ||
− | [[image:Prepare-table-for-print.jpg|400px|right]]С PLA пластиком все гораздо проще! Температура ему нужна пониже. Ysb советует 190 С для hot-end'a, но мы помня о предыдущих тестах с мультиметром используем в настройках слайсера 200 С. | + | [[image:Prepare-table-for-print.jpg|400px|right|thumb|Готовим стол к печати PLA-пластиком. Этот тип пластика прекрасно клеиться на клей карандаш. После печати, просто протрите стол влажной губкой и старый клей смоется без остатка.]]С PLA пластиком все гораздо проще! Температура ему нужна пониже. Ysb советует 190 С для hot-end'a, но мы помня о предыдущих тестах с мультиметром используем в настройках слайсера 200 С. |
− | А основная прелесть PLA в том, что стол вообще нагревать не нужно!!! | + | |
+ | А основная прелесть PLA в том, что стол вообще нагревать не нужно!!! | ||
+ | |||
Благодаря этому для лучшего прилипания первого слоя пластика мы можем просто помазать стекло клеем-карандашом. Эффект очень хороший! | Благодаря этому для лучшего прилипания первого слоя пластика мы можем просто помазать стекло клеем-карандашом. Эффект очень хороший! | ||
+ | |||
+ | <br clear=all> | ||
=="Работа" с экструдером== | =="Работа" с экструдером== | ||
− | ===Прочистка методом "холодной протяжки=== | + | Экструдер с одной стороны штука очень простая: снизу установлена трубка с алюминиевым кубом на конце, в кубе просверлено два отверстия, в одно отверстие вставлен резистор большого сопротивления (а сооветственно и теплоотдачей), а в другое термопара или термистор для измерения текущей температуры и отключения нагревающего резистора, ну и внизу накручена гайка с отверстием 0,3 мм, через которое вылезает растопленный пластик; сверху стоит двигатель с шестеренкой и прижимным роликом, который тянет струну из бабины и проталкивает ее в экструдер, где она плавится. Но часто проблемы возникают именно с экструдером. |
+ | |||
+ | Для проверки работы экструдера в Repetier-Host: | ||
+ | * зайдите на закладку управление | ||
+ | * установите температуру экструдера в 200 С | ||
+ | * установите длину проталкиваемого филамента в 5мм | ||
+ | * нажмите стрелку вниз | ||
+ | * посмотрите проталкивается ли пластик в экструдер и выходит ли растопленный филамент из него | ||
+ | |||
+ | Кроме всего прочего вам нужно будет откалибровать экструдер по Температуре и по соответствию длинны затягиваемого пластика в окне управления и в действительности. | ||
+ | ===Калибровка экструдера по температуре=== | ||
+ | Откалибровать по температуре можно "на глаз". Для этого вам понадобиться термопара и мультиметр: | ||
+ | <center> | ||
+ | <gallery widths=320px heights=240px> | ||
+ | Файл:Repetier-host-temperature-test1.jpg|Выставляем температуру в окне Управление в Repetier-Host | ||
+ | Файл:Multimetr-temperature-test1.jpg|Смотрим показания мультиметра | ||
+ | Файл:Repetier-host-temperature-test2.jpg|Выставляем температуру чуть выше | ||
+ | Файл:Multimetr-temperature-test2.jpg|Смотрим изменения показаний мультиметра | ||
+ | </gallery> | ||
+ | </center> | ||
+ | |||
+ | Вывод: Если предположить что мультиметр показывает реальную температуру экструдера (а мы провели тест на кипящей воде и наш мультиметр показал температуру 98 С), то при работе в программе делаем поправку на то, что реальная температура будет на 30 С ниже выставленной в программет! | ||
+ | |||
+ | ===Калибровка экструдера по количеству затягиваемого филамента=== | ||
+ | [[image:Raschet-znacheniya-dlya-extrudera.jpg|400px|right|thumb|Расчет значения параметра DEFAULT_AXIS_STEPS_PER_UNIT для экструдера. Сверху 100мм - предполагаемая длинна затянутой нити, снизу 125мм - длинна реально затянутой нити. Из этих значений находим необходимое значение параметра http://www.youtube.com/watch?v=JZGdMc2ebPo]] Калибровка по длине затягиваемого филамента. Тут я вам рекомендую посмотреть вот это видео http://www.youtube.com/watch?v=JZGdMc2ebPo . Все довольно просто: | ||
+ | * отмеряете 10 сантиметров на струне филамента | ||
+ | * в окне управления указываете Repetier-Host вводите длину протягиваемого филамента 100мм, количество повторений 1 | ||
+ | * смотрите, вошел ли филамент в экструдер до верхней риски | ||
+ | * если не дошел, открываете код прошивки и ищите там строчку | ||
+ | #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,'''158.8308'''}; //Got from sprinter.!!! original is {80, 80,3200,158.8308}; | ||
+ | |||
+ | Формула расчета нового значения очень проста (вы можете посмотреть в конце приведенного видео, там все изображено на листе бумаги). Вы умножаете 100мм на текущее значение параметра DEFAULT_AXIS_STEPS_PER_UNIX и получаете число. Затем вы измеряете реальную длину затянутого филамента и делите результат предыдущего вычисления на реальную длинну. | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | ===Прочистка методом "холодной протяжки"=== | ||
+ | Идея метода заключается в физике материала. При некоторой температуре пластик уже не твердый, но еще и не жидкий, представляет из себя вязкую не рвущуюся массу очень клейкую. Основная задача - найти эту температуру и при ней протянуть пластик через hot-end. Предположительно, пластик "вклеит" в себя все огарки и посторонние вкрапления, находящиеся внутри нагревательной части. | ||
+ | |||
+ | [[image:Clear-Extruder-With-Cold-pull.jpg|400px|right|thumb|Остатки филамента после протяжки через экструдер. Видно как меняется форма пластика на выходе при понижении температуры. Идея такого метода прочистки - протянуть струну при минимально возможной температуре]] Мы делали это PLA-пластиком путем ручного продавливания струны через Hot-End с постепенным понижением температуры. Как вы можете видеть на фотографии мы начали с 200 градусов и дошли до 135, когда пластик уже продавливался с трудом. Этот метод в сочетании с прочисткой сопла тонким проводком дает очень хороший эффект (сопло нужно прочистить перед протяжкой простым "просовыванием" и вытаскиванием тонкой проволоки внутрь на пару миллиметров). | ||
+ | |||
+ | Подробнее о методе "Холодной протяжки" и о том какие еще материалы рекомендуют для него использовать, вы можете прочитать в соответствующей статье.<ref name="prochistka-sopla-ekstrudera-ot-zasoreniy"/> | ||
+ | |||
+ | [[image:Clear-Hot-End-Without-plastick-tube.jpg|400px|left|thumb|НИКОГДА НЕ ИСПОЛЬЗУЙТЕ hot-end БЕЗ ptfe-пластиковой трубки в нем!!! Иначе вам придется так же искать саморез нужного диаметра, греть его и долго пытаться прочистить основной объем Hot-end'а что бы иметь возможность вернуть требку на место в него]]У нас было пару экспериментов использования экструдера без ptfe-пластиковой трубки (мы посчитали что из-за нее у нас застреет пластик) и нас спас лишь саморез нужного диаметра и наличие зажигалки, которой мы грели этот саморез и прочищали им застывший в верхней части hot-end'а пластик. НЕ ДЕЛАЙТЕ ТАК!!!! | ||
+ | <br clear=all> | ||
+ | |||
+ | ==Удаленное управление принтером== | ||
+ | Недавно у нас возникла идея в качестве управляющего компьютера использовать Raspberry Pi 2. Изначальный план был, установить на Raspberry Pi 2 специальную сборку Ubuntu, запустить на нем mono и в нем запустить Repetier-host как на обычном настольном компьютере. Так же подключить к Raspberry pi web-камеру, для наблюдения за процессом печати и управлять всем этим по протоколу VNC. Благо что для VNC уже есть html5 клиенты (ну то есть, для подключения к рабочему столу на Raspberry Pi 2 достаточно будет просто открыть браузер и зайти на страницу!). Можно бы было для этого воспользоваться проектом [https://kanaka.github.io/noVNC/ noVNC]. | ||
+ | |||
+ | Но эксперимент с запуском Repetier-host в ubuntu 14.04 на Raspberry pi 2 провалился. Он как бы запускается, моргает окном, а потом вываливается в ошибку библиотеки. Насколько мы поняли, для mono часть библиотек просто не реализовано для платформы arm (даже ARM7). | ||
+ | |||
+ | Да еще оказалось что Blender то же не запускается из-за отсутствия поддержки OpenGL внутри Xorg даже на Raspberry pi 2 :( | ||
+ | |||
+ | Но тут, в ходе поисков выяснилось что за нас уже все сделали - проект OctoPrinting http://octoprint.org/ как раз и ориентирован на управление 3D-принтером с помощью web-интерфейса где есть даже поддержка web-камеры и это все запускается на Raspberry pi с 512 Мб оперативной памяти! | ||
+ | |||
+ | Благодаря этому вы можете управлять и наблюдать за ходом печати с помощью удаленного компьютера или с мобильного устройства прямо из браузера! | ||
+ | |||
+ | ===Установка комплекса OctoPrint=== | ||
+ | Да, да это именно комплекс приложений! | ||
+ | В принципе вы можете их устанавливать по отдельности в каком то уже развернутом на RaspberryPi дистрибутиве. Но я бы порекомендовал вам воспользоваться уже настроенным образом с сайта разработчика OctoPi ибо, как выяснилось, связка все использующихся технологий не такая уж прострая задача! | ||
+ | |||
+ | 1. Качайте образ системы OctoPi со страницы http://mirror.tsone.net.uk/octopi/ | ||
+ | |||
+ | 2. Распаковываем архив и производим побитовый перенос образа на MicroSD или SD карту (в зависимости от вашего RaspberryPi, в RaspberryPi2 используются MictoSD). Да и учтите что в образе 2 раздела и вам нужно его распаковывать на все устройство целиком, а не в раздел! | ||
+ | |||
+ | dd if=2015-01-31-octopi-0.11.0.img of=/dev/sdf bs=1M | ||
+ | |||
+ | 3. Ждем окончания процесса, затем откройте ваше устройство с помощью какой то программы, по управлению разделами, например PMagick и увелисьте второй ext4-раздел на все свободное пространство флешки. | ||
+ | |||
+ | 4. Втыкайте флешку в ваш RaspberryPi и ждите окончания загрузки. Если у вас нет HDMI-монитора и HDMI-VGA переходника - не отчаивайтесь, просто подключите провод к вашему RaspberryPi и от будет пытаться получить адрес автоматически. На борту есть ssh - вы легко попадете на него. | ||
+ | |||
+ | ===Настройка OctoPrint для работы с RepRep Mendel Pangu=== | ||
+ | Как обычно выставите название устройство /dev/ttyUSB0 и скорость 115200, но самое главное, снимите перемычку с платы 3D-принтера (странно, но Repetier-Host со снятой перемычкой не хочет связываться с принтером, а вот OctoPrint с точностью до наоборот!) | ||
+ | |||
+ | ===Настройка Web-камеры в OctoPrint=== | ||
+ | Мы используем самую дешевую камеру из MediaMarkt под названием '''Hama AC-150''' (стоит 119р.). | ||
+ | |||
+ | Сразу при подключении она не заработала, и нам пришлось выяснять где находится конфигурационный файл mjpeg-stream. Оказалось что параметры подключения камеры находятся в домашнем каталоге пользователя pi в стартовом скрипте <s>/home/pi/mjpg-streamer/start.sh</s> /home/pi/scripts/webcamDaemon | ||
+ | |||
+ | nano /home/pi/scripts/webcamDaemon | ||
+ | |||
+ | # init configuration | ||
+ | camera="auto" | ||
+ | camera_usb_options="-r 640x480 -f 10 -y -n" | ||
+ | camera_raspi_options="-fps 10" | ||
+ | |||
+ | |||
+ | <!-- | ||
+ | nano /home/pi/mjpg-streamer/start.sh | ||
+ | |||
+ | ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 640x480 -f 5 -n -y" -o "./output_http.so -w ./www" | ||
+ | --> | ||
+ | |||
+ | Наша камера отдает картинку только в YUV формате, поэтому мы использовали ключ '''-y''' и у нее все равно нет управления панорамой, цветностью и т.д., поэтому мы отключили эти функции ключом '''-n'''. Остальные параметры очевидны! | ||
+ | |||
+ | ===Настройка слайсера Slic3r для прямой работы с OctoPrint === | ||
+ | Как оказалось Slic3r может работать как отдельное независимое от Repetier-Host приложение и прекрасно интегрируется с OctoPrint. Вы просто запускаете Slic3r отдельно, загружаете stl-модель, размещаете ее на столе, проверяете параметры принтера (они аналогичны тем, что мы настраивали в Repetier-Host) и нажимаете кнопку '''"Send to Printer"''' и задание появляется в интерфейса OctoPrint, где вы его запускаете на печать! | ||
+ | |||
+ | Для правильной работы прямой отправки заданий на OctoPrint не забудьте сделать правильные настройки '''ip-адреса''' и волшебного '''webID''' идентификатора (он есть в настройках самого OctoPrint, просто скопируйте его от туда). | ||
+ | |||
+ | И для возможности запуска Slic3r как отдельного приложения, проверьте что вы не забыли при его сборке выполнить отдельно сборку интерфейса программы | ||
+ | $ sudo perl Build.PL --gui | ||
+ | |||
+ | Конфигурация Slic3r [[media:config.ini.zip]] | ||
+ | |||
+ | ==Дополнительные информационные ресурсы== | ||
+ | * [http://null-b.blogspot.ru/2013/10/3d-reprap-5.html 3D принтер RepRap. Часть 5 - прошивка, калибровка, печать] -- Отличная серия статей по настройке прошивки для принтеров RepRap | ||
+ | * [http://www.sakh3dpechat.net/instruktsii/nastrojka-slajsera-slicr3/vkladka-print-settings/ Параметры настройки слайсера] | ||
+ | * [http://reprap.org/wiki/G-code#Unbuffered_M_and_T_commands Справочник по G-кодам] | ||
+ | * [http://octoprint.org/ Проект управления принтером через Web-интерфейс OctoPrint] | ||
+ | * [http://rusabs.ru/blogs/blog/prochistka-sopla-ekstrudera-ot-zasoreniy Описание способов прочистки экструдера 3D-принтера при засорении] | ||
+ | |||
+ | == Сноски == | ||
+ | <references/> | ||
+ | |||
+ | [[Категория:База знаний]], [[Категория:3D-печать]] |
Текущая версия на 11:02, 10 сентября 2015
Содержание
Как победить 3D-печать
Или история о том, как интересно провести 2 месяца жизни всего за 18 500 р. :)
Статья об особенностях сборки, прошивки, подключения и запуска 3D-принтера на базе RepRap Mendel в Linux и не только. Но подходы и приёмы, описанные в этой статье, подойдут ко всем типам 3D-принтеров и операционным системам.
В данной статье мы постарались описать весь свой опыт и все решения, найденные в ходе упорной двухмесячной работы по запуску 3D-принтера в Нижегородской Радиотехническом Колледже (НРТК), в помещении хайтек-сообщества CADR.
История, или как это случилось
Вдохновение и апатия
В марте 2014-го года мы в Нижегородском Радиотехническом Колледже решились заказать из Китая для нас на то время совершенную новинку и пик технологий - 3D-принтер. Почему из Китая? Потому, что мы слышали, что там можно заказать принтер за приемлемую сумму денег.
Особую благодарность хотелось бы выразить администрации колледжа Пронину Геннадию Михайловичу и Кормщиковой Ирине Александровне за готовность пойти на достаточно рисковый шаг, и поддержку нашего предложения о заказе и покупке 3D-принтера.
Сразу хочу оговориться, что на то время мы совершенно ничего не представляли о 3D-печати, кроме видео в интернетах. Мы слышали о проекте RepRap, почитали информацию на сайте http://reprap.org/. Мы знали, что существует несколько разновидностей - моделей. И выбор принтера для покупки делали несколько не осознанно. Больше ориентируясь на цену и некую эфемерную единицу "качество печати".
Заказ мы сделали на сайте AliExpress и принтер пришел достаточно быстро, за две недели. Мы получили сам принтер и бобину с PLA-пластиком.
Пришло все в трёх коробках. Все было аккуратно упаковано. И мы приступили к сборке. Сборкой занимались сотрудники вычислительного центра Нижегородского Радиотехнического Колледжа. Виктор Бондаренко сделал аккуратную и качественную сборку каркаса принтера. Электроникой занимались Владимир Слугин и Никита Блынский. И вот, через два дня, у нас был полностью готовый к подключению к компьютеру 3D-принтер.
По поводу особенностей сборки -- сейчас уже сложно что то вспомнить. Но в интернете можно найти много инструкций, и на диске, идущем с принтером, были подробные инструкции по соединению элементов. За что стоит особенно отметить китайцев, в комплекте было всё в нужном количестве! Это было очень приятно и важно для нас - впервые собирающих 3D-принтер!
Вообще стоит сказать, что сборка -- достаточно утомительный процесс. Пока вы собираете крупные детали -- всё идет быстро и просто, а вот когда дело доходит до мелочей, крепления шаговых двигателей, размещения блока питания и пр, всё становится не очевидно и утомительно. Лучше всего заниматься сборкой 3D-принтера в команде! Это позволит меньше "париться" и избежать ошибок.
После сборки мы приступили к подключению. Мы в НРТК широко используем свободное ПО, и первое что мы попробовали - подключить принтер к Ubuntu 12.10. После консультаций с Борисом Терещенковым мы уже знали, что для управления принтером нужно использовать Repetier. Но у нас на принтере не было прошивки.
На диске мы нашли архив с прошивкой под названием Melzi-Sprinter. На тот момент мы уже знали, по информации с сайта reprap.org, что на плате принтера используется стандартный микроконтроллер Atmega, но не знали, какая именно. Если посмотреть на чип поближе, то можно рассмотреть маркировку Atmega 1284p. И вся плата построена по принципу плат Arduino, которые у нас в колледже используются на практиках у студентов достаточно давно. Поэтому было понятно, что для прошивки нам потребуется среда разработки Arduino с сайта http://arduino.cc/en/Main/Software .
Мы все скачали, установили, распаковали прошивку, открыли в среде файл .ino
. Мы даже вычитали, что нужно установить специальный набор файлов для прошивки конкретно этого микроконтроллера (об этом подробнее в разделе о прошивке). Но вот незадача, при попытке компиляции прошивки среда выдавала ошибку, отсутствия библиотеки time.h.
С Никитой Блынским мы смогли избавиться от этой ошибки, отключив опции работы с SD-картами и некоторые другие функции, для которых нужна была эта отсутствующая библиотека, и получили рабочую прошивку Sprinter-Melzi!
Мы успешно прошили принтер и установили Repetier на компьютер с Ubuntu 12.10. Нажали кнопку "Подключить", и процесс соединения с принтером прошёл успешно. Мы, с замиранием сердца, в ручном режиме поуправляли движением экструдера по осям. И это для нас было равносильно магии! Мы увидели, что принтер "шевелиться" и работает!!!
У нас включался разогрев экструдера, разогрев стола, и управлялась скорость вращения вентилятора. Это было просто замечательно!
Мы решили опробовать принтер в деле. Взяли среду 3D-моделирования Blender и нарисовали незамысловатую модель. По внешнему виду модель напоминала логотип игры Quake :)) Среда Repetier принимает модели в формате stl, а Blender умеет прекрасно в него экспортировать! Чем мы и воспользовались!
Загрузили модель в формате stl в Repetier, выполнили слайсинг с помощью программы slic3r (она идет в комплекте, вместе с Repetier) и попытались выполнить печать. И вот тут нас ждала первая и большая проблема. Принтер перемещал экструдер в начальные позиции по всем осям, и на этом останавливался. Прогрев экструдера и стола проходил успешно, но процесс печати не начинался. При этом в окне с командами и ответами принтера в Repetier появлялась ошибка "Error: Checksum mismatch, Last Line: 19". И это происходило каждый раз!
Было решено попробовать установить софт на Windows и попробовать печать оттуда. Мы получали туже ошибку в Repetier, но печать шла, и мы получили какие-то результаты.
Но здесь у нас обнаружилась вторая проблема: на высоте около 5 сантиметров экструдер начинал мазать по детали, и, в конце-концов, сорвал её со стола!
Мы смогли напечатать ещё несколько небольших деталей, но у нас начала появляться проблема с "забитием" экструдера. В начале печати нить из экструдера выходила хорошо, но после нескольких минут печати нить просто переставала выходить, и экструдер дальше двигался в холостую. Иногда помогало поддавить нить сверху, иногда -- нет. В какой-то момент мы решились разобрать экструдер. Отключили от него Hot-end часть и разобрали его (для этого достаточно открутить гайку сверху). В нем находится ptfe трубка и как нам тогда казалось забивалась именно она. Мы ее прочищали и вроде бы пластик снова шёл. Но проблема из раза в раз возвращалась :(
Чуть подробнее все это описано на Блоге вычислительного центра Нижегородского Радиотехнического Колледжа.
Вот здесь у нас наступил этап "перенасыщения" проблемами с 3D-печатью, навалилась очередная порция работы, и мы отложили принтер в сторону -- почти что год!
Второе дыхание
Вторым дыханием для нашего проекта по запуску 3D-принтера в Нижегородском радиотехническом колледжа стало создание по инициативе Артема Попцова и поддержке администрации колледжа CADR Space - помещения и сообщества людей по аналогии с HackSpace в европе.
У нас появилось новое место, новая идея и новое вдохновение вернуться к старому проекту с принтером. Не может же Нижегородский Hackspace жить без 3D-принтера!
И вот следующие два месяца, с начала февраля 2015 до середины марта 2015, стали самыми продуктивными и богатыми на знания и информацию о 3D-печати для нас! 18 марта 2015 года восхищенно крикнули "ДА, ОНО РАБОТАЕТ", когда у нас детали стали печататься надежно и точно.
Но до этого мы:
- Выяснили что ошибка "Error: Checksum mismatch, Last Line: 19" возникает только в последних версиях Repetier и для корректной работы RepRap Mendel Pangu в Ubuntu 14.04 вам нужно использовать Repetie-Host 0.90D либо 0.84.
- Столкнулись с не включающимся подогревом стола и некорректным отображением его температуры в прошивке Marlin. С этой проблемой нам помог справиться пользователь ysb с форума soliforum. Он сделал модификацию Marlin именно для Mendel Pangu!
- Мы обнаружили что с модифицированной ysb прошивкой Marlin все работает замечательно, но при начале печати происходит перекос осей Z. Один из двигателей перестает вращаться! В ходе личной переписки с ysb выяснилось что такое происходит за за слишком высокой скорости перемещения по оси Z и при последовательном подключении z-двигателей эту проблему можно поправить в коде прошивки:
#define HOMING_FEEDRATE {50*60, 50*60, 2*60, 0} //chahge 3*60 to 2*60
- Подробнее о всех изменениях в прошивке Marlin для Mendel Pangu в соответствующем разделе.
- Ну и в конце было практически полное забитие экструдера. Мы даже попытались топить пластик вынув ptfe трубку (что было большой ошибкой!), после чего нам пришлось долго, методом "нагрева самореза" прочищать хот-энд что бы вернуть трубку на место (пластик поднялся и все забил, застыв при этом). Оказалось что нужно тонкой проволкой прочистить само нижнее отверстие диаметром 0,3мм. Засор был в нем. И что бы в дальнейшем засоров не появлялось нужно прочистить экструдер методом "холодной протяжки"[1]. Мы просто вручную пропускали/топили нить через хот-энд, постепенно опуская температуру до минимальной, при которой пластик еще протягивается через хот-энд. С нашим PLA мы начали с 200 С и дошли до 135 С, когда струна уже практически не топилась.
- Так же в ходе экспериментов мы выяснили что в наших условиях для печати нам лучше всего подходит PLA-пластик:
- Для него нужна более низкая температура экструдера (в нашем случае 200 С в настройках Repetier).
- Для него не нужно греть стол, что позволяет нам мазать его клеем-карандашом для лучшего прилипания первого слоя
- Его нужно обдувать вентилятором во время печати, что избавляет нам от необходимости защиты принтера от сквозняка :)
И в ходе всех этих испытаний нам приходилось сохранять самообладание и хладнокровие, дабы не в пасть в стадию годовалой давности :)
Ну а теперь факты только факты и ничего кроме фактов и все по порядку!
Что нужно сделать в начале
Прежде чем приступать к поиску прошивки для вашего принтера нужно точно узнать что у вас за модель принтера.
Мы покупали принтер на aliexpress и честно считали, что мы купили RepRap Mendel. Потом мы стали выяснять, что у нас за плата установлена на принтере и, как видно на фото, у нас написано на ней Melzi Ardentissimo -- и мы тут подумали, что у нас RepRap Mendel Prusa и честно пытались его прошить как Prusa.
Но за тем нашлась старая прошивка, которую мы взяли с диска, который шёл с принтером, и в ней, в самом начале файла Configuration.h
увидел строчку
#define RP3D.COM_PANGU
и тут у нас появились мысли -- может, у нас не совсем Prusa. Как оказалось, компания RP3D.COM производит RepRap Mendel, но, для возможности использовать шаговые двигатели различного типа, слегка изменила схему платы управления. И эта модификация называется RepRap Mendel Pangu. Вот для него-то и нужна была прошивка.
Как только мы выяснили точную модель нашего принтера и платы, все пошло гораздо быстрее и определеннее!
Прошивка
Надеемся вы прочитали пару предыдущих абзацев!
Установка Arduino
Для прошивки платы управления принтером вам понадобиться скачать среду разработки Arduino с сайта http://arduino.cc/en/Main/Software
Если вы работаете в Ubuntu 14.04 или старше - доcтаточно установить среду разработки из репзитория командой apt-get install arduino
Выбираем прошивку, подходящую для вашего принтера
Саму прошивку вам нужно будет поискать в интернете. Для большинства RepRap-принтеров рекомендуют использовать прошивку Marlin. Она является комбинацией кодов прошивок Sprinter и sbpf? какой то еще версии прошивок.
Официальную прошивку для RepRap Menderl Pangu можно скачать в самом низу этой страницы http://rp3d.com/wiki/index.php?title=Pangu_i3
На диске, с которым шел принтер, была та-же самая прошивка. Но она у нас просто так не собралась и нам пришлось отключить опцию поддержки SD-карта и еще некоторые опции, после чего прошивка стала компилироваться корректно. Скачать модифицированную версию прошивки Sprinter для RepRap Mendel Pangu можно здесь.
Но, мы посчитали что раз есть новая версия прошивки - Marlin, нужно бы установить ее. К тому же на сайте RepRap обещают[2] просто заоблачные возможности и улучшения в Marlin по сравнению со Sprinter.
- Marlin можно скачать с официального репозитория с github, но у нас с официальной версией не заработал подогрев стола! В RepRap Mendel Pangu есть некоторые изменения в плате.
- Есть еще несколько модификаций прошивки Marlin с расширенной поддержкой плат управления, например Marlin от ErikZalm и Marlin 2014 для RepRap Prusai3. Но нам они то же не помогли с не включающимся подогревом стола.
- В итоге нам очень помог пользователь ysb с форума soliforum. Прошивка Marlin от ysb заработала как нужно, но мы испытали проблема - перекос осей Z при начале печати. Как это происходило, можно посмотреть на данном видео https://youtu.be/W2xjoesSssY?t=78 . И это происходило только при начале печати, при ручном управлении все работало гладко без шума и пыли.
Оказалось, что проблема с перекосом по оси Z с прошивкой Marlin связанна с последовательным (Serial) подключением двигателей, и слишком большой скоростью перемещения по оси Z во время поиска нулевой позиции. Это удалось исправить изменением параметра
#define HOMING_FEEDRATE {50*60, 50*60, 2*60, 0} // set the homing speeds (mm/min){50*60, 50*60, 4*60, 0} !!!changed from 3*60 to 2*60
В дополнении к этому, мы еще поменяли "поправки", связывающие количество "шагов" шагового двигателя и реальное перемещение экструдлера (и нити) по соответствующей оси. Эти параметры меняются в зависимости от выбранного типа шестеренки, резиновой ленты либо диаметра шестеренки на двигателе подачи струны в экструдер. Калибровка принтера производится изменением именно этих параметров! (рекомендую почитать эту статью по калибровке принтера)
#define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,158.8308}; //Got from sprinter.!!! original is {80, 80,3200,158.8308};
Так же при экспериментах с ABS пластиком выяснилось что экструдер у нас не достигает нужной температуры, но при попытки выставить температуру выше 240 С, у нас начинались сильные скачки температуры вплоть до 300 С и экструдер отключался по защите в прошивки. Пришлось расширить диапазон температур по защите до 280 С. Но в итоге оказалось что с PLA пластиком температур нам вполне хватает и этот параметр оказался не востребованным. (видео с тестом температур http://www.youtube.com/watch?v=JwLsAoe7yio и видео с тестом повышения температуры http://youtu.be/7Tzm16wOHSs )
#define HEATER_0_MAXTEMP 380 //edited from 270 (не рекомендум :)
Финальную версию прошивки Marlin для RepRap Mendel Pangu с модификациями от YSB и Нижегородского Радиотехнического Колледжа можно скачать у нас на сайте
http://wiki.nntc.nnov.ru/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:MARLIN_2014-02-9_Pangu_i3-CADR.zip
Распаковываем и открывает файл-проекта прошивки в Arduino
Здесь все просто- Открывает среду разработки Arduino
- Меню Файл -> Открыть
- В появившемся файл-менеджере идем в каталог с распакованной прошивкой и выбираем там файл Marlin.ino
- Появляется новое окно среды Arduino, где каждый файл проекта открыть в отдельной закладке. Щелкаете по закладкам и видите нужный файл.
- Главный файл, на который нужно обратить внимание - это Configuration.h
Подключаем плату управления для прошивки
Подключаем плату к компьютеру USB-кабелем. В Linux у вас должно появиться устройство /dev/ttyUSB0. Появилось ли оно, можно узнать командой ls /dev/ttyUSB*, а лучше всего, после подключения платы к компьютеру ввести команду dmesg и посмотреть информацию от ядра Linux о том, как оно отреагировало на подключения этого устройства.
Теперь запускаем среду arduino, в меню Сервис -> Последовательный порт выбираем порт подключения устройства, обычно это /dev/ttyUSB0, а в меню Сервис -> Плата выбираем тип микроконтроллера и платы. В зависимости от типа платы, используются различные коды загрузчика, для прошивки на микроконтроллер. В нашем случае в стандартной поставке Arduino поддержки микроконтроллера Atmega 1284p не оказалось. Для возможности прошивки платы нам понадобилось:- Скачать архив с модифицированным Marlin с сайта по данной ссылке https://www.dropbox.com/s/0ke7myxojt4i6ct/Arduinov101.rar либо только нужные файлы с нашего сайта архив с каталогами поддержки Melzi и микроконтроллера Atmega 1284p для среды Arduino
- Из полученного архива нам понадобилось только два каталога Sanguino и Melzi, в которых находятся описания и бинарниками загрузчика для нашего типа платы и микроконтроллера. Для добавления их поддержки в среду разработки Arduino достаточно скопировать эти два каталога в /usr/share/arduino/hardware. В данном каталоге уже есть каталоги arduino и tools, рядом с ними должны появиться каталоги Melzi и Sanguino
sudo cp -r Melzi /usr/share/arduino/hardware/ sudo cp -r Sanguino /usr/share/arduino/hardware/
- Теперь в среде Arduino у вас должна появиться поддержка микроконтроллера Atmega 1284p
Программное Обеспечение для печати
Для работы с 3D-принтерами существуют различные программы управления. Например: reprap, Repetier-host, prontinterface. Это только те, о которых мы слышали.
Кроме программы работы с принтером, которая по сути дает вам возможность только двигать осями и включать-выключать нагрев экструдера и стола, вам понадобится программа для анализа 3D-модели и "разрезания" модели по слоям. Этот тип программ так и называется "Слайсеры" (англ. slice - нарезать кусочками). В нашем случае будет использоваться слайсер Slic3r.
Установка программы управления принтером
Сразу оговорюсь, что анализом программ управления и выбором мы не занимались. Около года назад мы попросили совета у Бориса Терещенкова (у которого на тот момент уже был 3D-принтер в личном пользовании), какое ПО лучше всего использовать. Его советом был Repetier-Host, мы его и "выбрали" для работы.
Сразу скажу, что первый опыт работы с Repetier-Host версии 0.95F показал, что он печатает из Windows, а вот в Linux работает всё только до момента начала печати. Как только в Ubuntu 12.10 с установленным Repetier-Host 0.95F мы начинали процесс печати - мы получали ошибку:
"Error: Checksum mismatch, Last Line: 19"
После долгих и мучительных выяснений, в чём проблема, выяснилась одна простая вещь. В последней версии Repetier-Host, видимо, есть ошибка, и при начале печати он слишком мало времени ждет ответа от принтера, после перевода его в режим разогрева экструдера и стола.
Решением проблема стало использование более старой версии Repetier-Host. Эксперименты показали что в Ubuntu 14.04 прекрасно работают Repetier-Host 0.84 и Repetier-Host 0.90D.
Установка выполняется очень просто:
- Качаем архив с нужной версией программы отсюда: http://www.repetier.com/download/repetier-host-linux-0-90d/
- Распаковываем его
- Устанавливаем пакет mono-delev со всеми зависимостями
apt-get install mono-devel
- Заходим в каталог, куда распакован Repetier-Host и запускаем скрипт repetierHost (тот который без расширений).
- Если среда не запускается, попробуйте воспользоваться следующей командой, и запишите ее в скрипт запуска repetierHost
mono RepetierHost.exe -home ./
После запуска программы сделайте базовые настройки параметров подключения к принтеру. Самое главное здесь - устройство подключения, обычно /dev/ttyUSB0 и скорость передачи данных -- в прошивке выставлено 115200, здесь нужно указать эту же скорость!
Нажимайте кнопку "Подключиться", ждите 10 секунд, пока плата управления перезагрузится, и можете на закладке Управление подвигать осями принтера! Всё должно заработать, как надо!
Установка слайсера
А вот слайсер установить так просто не получится. Как оказалось, в библиотеках, использующихся для сборки слайсера из старых версий RepetierHost, есть ошибка. И все рекомендуют собирать новый слайсер с официального репозитория с GitHub - что и мы вам рекомендуем!
Для простоты - воспользуемся официальной статьей "Running Slic3r from git on GNU Linux"
- Устанавливаем необходимые пакеты для сборки slic3r из исходников, а так же для его загрузки с github:
$ sudo apt-get install git build-essential libgtk2.0-dev \ libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl \ libexpat1-dev $ sudo apt-get install cpanminus $ sudo apt-get install libxmu-dev freeglut3-dev libwxgtk-media2.8-dev
- Устанавливаем
curl
для получения параметров подключения к CPAN-репозиторию:
$ sudo apt-get install curl $ curl -L http://cpanmin.us | sudo perl - --sudo App::cpanminus
- С помощью утилиты git получаем исходники slic3r в текущий каталог с официального репозитория, и переходим в каталог с исходниками:
$ git clone https://github.com/alexrj/Slic3r.git $ cd Slic3r
- Запускаем компиляцию с помощью
perl
:
$ sudo perl Build.PL $ sudo perl Build.PL --gui
Теперь каталог slic3r можно скопировать в каталог с RepetierHost, и поместить весь каталог RepetierHost в /opt/
, чтобы все пользователи системы могли им пользоваться (либо никуда ничего не перемещать, и просто запускать из известного вам места).
Настройка RepetierHost для работы со Slic3r и RepRap Mender Pangu
А вот здесь начинается самое интересное!
Настройка slic3r для подготовки моделей для печати на RepRap Mender Pangu
Для правильной работы со слайсером Slic3r, для начала нужно указать каталог, где он установлен. Для этого в Repetier-Host в правой части экрана зайдите в закладку "Слайсер" и нажмите кнопку "Настройка".В появившемся окне нужно указать только рабочую папку, где установлен Slic3r (выбрать исполняемый файл slic3r.pl).
ВАЖНО! Оставьте поле "Рабочая папка" пустым, что бы иметь возможность выбирать различные параметры настройки слайсера прямо в окне программы Repetier-Host!
Для доступа непосредственно к настройкам слайсера, нажмите верхнюю кнопку "Настройка" с одной шестеренкой. В разделе "Layers and Perimetrs" (слои и периметры) вам нужно проверить значения следующих параметров:
| |
В разделе Infill (Заполнение) Находятся следующие параметры слайсера:
| |
Раздел Skirt and brim (Юбка и край) отвечают за подготовительную стадию печати. Юбкой называют "обходы" по большому периметру вокруг объекта, для очистки экструдера от излишком пластика на нем и начала прилипания пластика к столу. Краем называют чуть более толстый периметр первого слоя, которые делается для лучшего удержания объекта на столе и избавления от некоторого "растекания" объекта при "подтаивании" во время печати.
| |
Раздел Support Material (поддерживающие материалы) дает возможность включить добавление поддержек для нависных частей печатаемого объекта.
.... | |
Раздел Speed управляет планированием скорости перемещения экструдером при создании различных элементов объекта. Учтите, что чем ниже скорость, тем больше точность печати, но больше время. Для крупных объектов с простой геометрией можно выставить скорость выше. Для более мелких имеет смысл указать меньшие скорости. На слайде указаны минимальные рекомендованные скорости. При этих параметрых мы получаем очень хорошее качества печати, а так же они хороши для теста принтера. Рекомендуем начинать с них. В дальнейшем вы сможете их изменить и подобрать оптимальные значения для получения приемлимого качества печати при приемлимом времени.
| |
Раздел Multiples Extruders отвечает за настройку параметров использования нескольких экструдеров, если ваша модель принтеров оснащена несколькими экструдерами одновременно. В каждый экструдер может быть заведен различный пластик. Здесь определяется каким экструдером будут печататься периметры (Perimeter extruder), заполнения (infill extruder), слоев со слошным заполнением (solid infill extruder), поддерживающих элементов, юбок и обводок (Support materials/skirt/raft extruder). | |
Раздел Advanced позволяет контролировать различные параметры. Extrusion width - контролирует толщину слоя печати, Overlap - наложение (заполнения на периметр) и другие
| |
Output options - параметры вывода. Раздел отвечает за параметры подготовки и сохранения gcode-файла. Можно включить Подробный gcode (verbouse gcode). | |
Раздел Notes - это просто заметки для текущих настроек в которых вы можете указать особенности и цели настроек. | |
Filament Settings | Раздел с параметрами работы с пластиком (филаментом). |
Filament - это наиболее важный раздел, контролирующий как ваш принтер работает с пластиком. Для разного типа пластиков ван нужно указывать разные параметры. Обратите внимание! Вы можете выставить значения температур экструдера и стола в 0 С и тогда сможете управлять температурой стола и экструдера во время печати в ручную из панели "управления". Это удобно при подборе температуры печати.
Так же здесь можно указать температуру экструдера отдельно для первого (first) и остальных слоев (other layers).
| |
Раздел Cooling отвечает за режим работы обдевающего вентилятора. Опять же, параметры работы вентилятора должны зависить от типа пластика, который вы используете. Для ABS-пластика вентилятор лучше совсем отключить физитески! (отключить контакты от платы). ABS пластик очень не любит перепада температур и любит закрытое подогретое пространство (некоторые даже делают коробки вокруг принтера для контроля температуры среды печати, но не перегрейте шаговые двигатели). Для PLA-пластика на против, требуется постоянный обдув для успешного затвердевания уже напечатанного слоя до наложения на него следующего (PLA-склонен к растеканию).
| |
Printer Settings | Параметры взаимодействия программы с принтером и параметры экструдера находятся здесь. |
В разделе General находятся параметры взаимодействия с вашей модельню 3D-принтера:
| |
Custom G-code - ручные команды g-code. Сами по себе команды управляют поведением принтера не на прямую. Команды интерпретируются прошивкой, которая ориентируясь на них уже непосредственно управляет двигателями и нагревательными элементами. сам формат g-code - это облегченный вариант команд для ЧПУ. Список всех g-code команд можно посмотреть здесь "Справочник команд G-code"
| |
Extruder 1 - это наиболее важный раздел при настройке принтера!
|
Ну вот наверное и все. Особое внимание обратите на:
- параметры скорости печати
- температуры экструдера и стола
- режимы работы вентилятора
- диаметр экструдера и скорость подачи струны в экструдер
Как выяснилось, для запуска принтера это наиболее важные параметры. Выставляйте их вначале в минимальные значения, проверяйте стабильность работы при них, затем постепенно меняйте параметры и проверяйте поведение принтера при печати.
Так же, для различных типов моделей стоит сделать несколько настроек и выбирать их перед слайсингом в зависимости от типа детали. Для больших и геометрически правильных деталей можно выставить скорости печати в 40 мм/s для мелких и фигур плавной формы стоит остановиться на указанных параметрах (это будет дольше, но качественее).
Пластик(и)
Когда у вас встает вопрос как мне настраивать слайсер, подогревать ли стол, какую температуру экструдера выставлять в настройках, сначала вам нужно определиться какой вид пластика у вас сейчас в руках.
Великолепный способ быстро определить тип пластика мне подсказал все тот же пользователь ysb с форума soliforum. Вам нужно просто поджечь кусочек вашего пластика и посмотреть как он горит!
Мы определили тип пластика и теперь можно выяснять как настраивать слайсер на подготовку gcoda для печати модели именно вашим типом пластика.
Режимы печати с ABS
Для ABS пластика потребуется более высокая температура хот-энде. По рекомендации ysb, я использовал 220 С для экструдера и 90 С для стола.Для ABS-пластика вам потребуется физически отключить вентилятор!
Так же, по словам ysb, нагреватель и сам экструдер в Pangu рассчитан на температуру не выше 240 С, иначе есть шанс расплавить PTFE-трубку внутри. К тому же, по нашим тестам, если попробовать выставить температуру выше 240 С, то вы будете получать очень большие прыжки температуры, вплоть до 320 С, после чего нагрев экструдера будет выключен по защите в прошивке. Мы испытывали проблему, как мы считали, с недогревом пластика и для тестов, нам пришлось повысить этот барьер в коде прошивки до 380 С:
#define HEATER_0_MAXTEMP 380
чтобы иметь возможность греть экструдер до 260 С, но это не решило проблем, поэтому не рекомендуем!
Это очень важно. ABS очень не любит сквозняков и перепада температуры. Мы думали, не сделать ли нам корпус вокруг принтера. Но, забегая вперед, оказалось, что этого не требуется с PLA.После некоторых экспериментов выяснилось, что наш hot-end -- а точнее, термистор в нём -- не совсем точно показывает текущую температуру. Для проверки мы воспользовались мультиметром с подключённой термопарой. И у нас получились расхождения примерно в 30 С в меньшую сторону, т.е. если я на компьютере выставлял 220 С, то на мультиметре я видел всего 190C.
Тут конечно сложно сказать, кому верить -- китайскому термистору в hot-end'е, или китайской термопаре, подключенной к китайскому мультиметру :) Но мне кажется, что мультиметр ближе к истине (тем более, что мы испытали его на кипящем чайнике с водой, и он выдал нам 93...95 градусов С с термопарой, помещённой в пакетик и опущенной в кипящую воду :)
Режимы печати с PLA
С PLA пластиком все гораздо проще! Температура ему нужна пониже. Ysb советует 190 С для hot-end'a, но мы помня о предыдущих тестах с мультиметром используем в настройках слайсера 200 С.А основная прелесть PLA в том, что стол вообще нагревать не нужно!!!
Благодаря этому для лучшего прилипания первого слоя пластика мы можем просто помазать стекло клеем-карандашом. Эффект очень хороший!
"Работа" с экструдером
Экструдер с одной стороны штука очень простая: снизу установлена трубка с алюминиевым кубом на конце, в кубе просверлено два отверстия, в одно отверстие вставлен резистор большого сопротивления (а сооветственно и теплоотдачей), а в другое термопара или термистор для измерения текущей температуры и отключения нагревающего резистора, ну и внизу накручена гайка с отверстием 0,3 мм, через которое вылезает растопленный пластик; сверху стоит двигатель с шестеренкой и прижимным роликом, который тянет струну из бабины и проталкивает ее в экструдер, где она плавится. Но часто проблемы возникают именно с экструдером.
Для проверки работы экструдера в Repetier-Host:
- зайдите на закладку управление
- установите температуру экструдера в 200 С
- установите длину проталкиваемого филамента в 5мм
- нажмите стрелку вниз
- посмотрите проталкивается ли пластик в экструдер и выходит ли растопленный филамент из него
Кроме всего прочего вам нужно будет откалибровать экструдер по Температуре и по соответствию длинны затягиваемого пластика в окне управления и в действительности.
Калибровка экструдера по температуре
Откалибровать по температуре можно "на глаз". Для этого вам понадобиться термопара и мультиметр:
Вывод: Если предположить что мультиметр показывает реальную температуру экструдера (а мы провели тест на кипящей воде и наш мультиметр показал температуру 98 С), то при работе в программе делаем поправку на то, что реальная температура будет на 30 С ниже выставленной в программет!
Калибровка экструдера по количеству затягиваемого филамента
Калибровка по длине затягиваемого филамента. Тут я вам рекомендую посмотреть вот это видео http://www.youtube.com/watch?v=JZGdMc2ebPo . Все довольно просто:- отмеряете 10 сантиметров на струне филамента
- в окне управления указываете Repetier-Host вводите длину протягиваемого филамента 100мм, количество повторений 1
- смотрите, вошел ли филамент в экструдер до верхней риски
- если не дошел, открываете код прошивки и ищите там строчку
#define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,158.8308}; //Got from sprinter.!!! original is {80, 80,3200,158.8308};
Формула расчета нового значения очень проста (вы можете посмотреть в конце приведенного видео, там все изображено на листе бумаги). Вы умножаете 100мм на текущее значение параметра DEFAULT_AXIS_STEPS_PER_UNIX и получаете число. Затем вы измеряете реальную длину затянутого филамента и делите результат предыдущего вычисления на реальную длинну.
Прочистка методом "холодной протяжки"
Идея метода заключается в физике материала. При некоторой температуре пластик уже не твердый, но еще и не жидкий, представляет из себя вязкую не рвущуюся массу очень клейкую. Основная задача - найти эту температуру и при ней протянуть пластик через hot-end. Предположительно, пластик "вклеит" в себя все огарки и посторонние вкрапления, находящиеся внутри нагревательной части.
Мы делали это PLA-пластиком путем ручного продавливания струны через Hot-End с постепенным понижением температуры. Как вы можете видеть на фотографии мы начали с 200 градусов и дошли до 135, когда пластик уже продавливался с трудом. Этот метод в сочетании с прочисткой сопла тонким проводком дает очень хороший эффект (сопло нужно прочистить перед протяжкой простым "просовыванием" и вытаскиванием тонкой проволоки внутрь на пару миллиметров).Подробнее о методе "Холодной протяжки" и о том какие еще материалы рекомендуют для него использовать, вы можете прочитать в соответствующей статье.[1]
У нас было пару экспериментов использования экструдера без ptfe-пластиковой трубки (мы посчитали что из-за нее у нас застреет пластик) и нас спас лишь саморез нужного диаметра и наличие зажигалки, которой мы грели этот саморез и прочищали им застывший в верхней части hot-end'а пластик. НЕ ДЕЛАЙТЕ ТАК!!!!
Удаленное управление принтером
Недавно у нас возникла идея в качестве управляющего компьютера использовать Raspberry Pi 2. Изначальный план был, установить на Raspberry Pi 2 специальную сборку Ubuntu, запустить на нем mono и в нем запустить Repetier-host как на обычном настольном компьютере. Так же подключить к Raspberry pi web-камеру, для наблюдения за процессом печати и управлять всем этим по протоколу VNC. Благо что для VNC уже есть html5 клиенты (ну то есть, для подключения к рабочему столу на Raspberry Pi 2 достаточно будет просто открыть браузер и зайти на страницу!). Можно бы было для этого воспользоваться проектом noVNC.
Но эксперимент с запуском Repetier-host в ubuntu 14.04 на Raspberry pi 2 провалился. Он как бы запускается, моргает окном, а потом вываливается в ошибку библиотеки. Насколько мы поняли, для mono часть библиотек просто не реализовано для платформы arm (даже ARM7).
Да еще оказалось что Blender то же не запускается из-за отсутствия поддержки OpenGL внутри Xorg даже на Raspberry pi 2 :(
Но тут, в ходе поисков выяснилось что за нас уже все сделали - проект OctoPrinting http://octoprint.org/ как раз и ориентирован на управление 3D-принтером с помощью web-интерфейса где есть даже поддержка web-камеры и это все запускается на Raspberry pi с 512 Мб оперативной памяти!
Благодаря этому вы можете управлять и наблюдать за ходом печати с помощью удаленного компьютера или с мобильного устройства прямо из браузера!
Установка комплекса OctoPrint
Да, да это именно комплекс приложений! В принципе вы можете их устанавливать по отдельности в каком то уже развернутом на RaspberryPi дистрибутиве. Но я бы порекомендовал вам воспользоваться уже настроенным образом с сайта разработчика OctoPi ибо, как выяснилось, связка все использующихся технологий не такая уж прострая задача!
1. Качайте образ системы OctoPi со страницы http://mirror.tsone.net.uk/octopi/
2. Распаковываем архив и производим побитовый перенос образа на MicroSD или SD карту (в зависимости от вашего RaspberryPi, в RaspberryPi2 используются MictoSD). Да и учтите что в образе 2 раздела и вам нужно его распаковывать на все устройство целиком, а не в раздел!
dd if=2015-01-31-octopi-0.11.0.img of=/dev/sdf bs=1M
3. Ждем окончания процесса, затем откройте ваше устройство с помощью какой то программы, по управлению разделами, например PMagick и увелисьте второй ext4-раздел на все свободное пространство флешки.
4. Втыкайте флешку в ваш RaspberryPi и ждите окончания загрузки. Если у вас нет HDMI-монитора и HDMI-VGA переходника - не отчаивайтесь, просто подключите провод к вашему RaspberryPi и от будет пытаться получить адрес автоматически. На борту есть ssh - вы легко попадете на него.
Настройка OctoPrint для работы с RepRep Mendel Pangu
Как обычно выставите название устройство /dev/ttyUSB0 и скорость 115200, но самое главное, снимите перемычку с платы 3D-принтера (странно, но Repetier-Host со снятой перемычкой не хочет связываться с принтером, а вот OctoPrint с точностью до наоборот!)
Настройка Web-камеры в OctoPrint
Мы используем самую дешевую камеру из MediaMarkt под названием Hama AC-150 (стоит 119р.).
Сразу при подключении она не заработала, и нам пришлось выяснять где находится конфигурационный файл mjpeg-stream. Оказалось что параметры подключения камеры находятся в домашнем каталоге пользователя pi в стартовом скрипте /home/pi/mjpg-streamer/start.sh /home/pi/scripts/webcamDaemon
nano /home/pi/scripts/webcamDaemon # init configuration camera="auto" camera_usb_options="-r 640x480 -f 10 -y -n" camera_raspi_options="-fps 10"
Наша камера отдает картинку только в YUV формате, поэтому мы использовали ключ -y и у нее все равно нет управления панорамой, цветностью и т.д., поэтому мы отключили эти функции ключом -n. Остальные параметры очевидны!
Настройка слайсера Slic3r для прямой работы с OctoPrint
Как оказалось Slic3r может работать как отдельное независимое от Repetier-Host приложение и прекрасно интегрируется с OctoPrint. Вы просто запускаете Slic3r отдельно, загружаете stl-модель, размещаете ее на столе, проверяете параметры принтера (они аналогичны тем, что мы настраивали в Repetier-Host) и нажимаете кнопку "Send to Printer" и задание появляется в интерфейса OctoPrint, где вы его запускаете на печать!
Для правильной работы прямой отправки заданий на OctoPrint не забудьте сделать правильные настройки ip-адреса и волшебного webID идентификатора (он есть в настройках самого OctoPrint, просто скопируйте его от туда).
И для возможности запуска Slic3r как отдельного приложения, проверьте что вы не забыли при его сборке выполнить отдельно сборку интерфейса программы
$ sudo perl Build.PL --gui
Конфигурация Slic3r media:config.ini.zip
Дополнительные информационные ресурсы
- 3D принтер RepRap. Часть 5 - прошивка, калибровка, печать -- Отличная серия статей по настройке прошивки для принтеров RepRap
- Параметры настройки слайсера
- Справочник по G-кодам
- Проект управления принтером через Web-интерфейс OctoPrint
- Описание способов прочистки экструдера 3D-принтера при засорении
Сноски
- ↑ 1,0 1,1 Прочистка сопла экструдера от засорений
- ↑ http://reprap.org/wiki/Marlin/ru -- Описание прошивки для плат Ардуино и их аналогов на русском языке