RepRap-NRTC — различия между версиями
Gumanoed (обсуждение | вклад) (→"Работа" с экструдером) |
Avp (обсуждение | вклад) (→Сноски: Добавил категории) |
||
(не показано 19 промежуточных версий 2 участников) | |||
Строка 25: | Строка 25: | ||
По поводу особенностей сборки -- сейчас уже сложно что то вспомнить. Но в интернете можно найти много инструкций, и на диске, идущем с принтером, были подробные инструкции по соединению элементов. За что стоит особенно отметить китайцев, в комплекте было всё в нужном количестве! Это было очень приятно и важно для нас - впервые собирающих 3D-принтер! | По поводу особенностей сборки -- сейчас уже сложно что то вспомнить. Но в интернете можно найти много инструкций, и на диске, идущем с принтером, были подробные инструкции по соединению элементов. За что стоит особенно отметить китайцев, в комплекте было всё в нужном количестве! Это было очень приятно и важно для нас - впервые собирающих 3D-принтер! | ||
<br clear=all> | <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-принтер в Нижегородском радиотехническом колледже в полном сборе]] | [[image:3d-printer-v-sbore.jpg|200px|right|thumb|3D-принтер в Нижегородском радиотехническом колледже в полном сборе]] | ||
Строка 80: | Строка 83: | ||
:Подробнее о всех изменениях в прошивке [http://wiki.nntc.nnov.ru/images/8/8d/MARLIN_2014-02-9_Pangu_i3-CADR.zip Marlin для Mendel Pangu] в соответствующем разделе. | :Подробнее о всех изменениях в прошивке [http://wiki.nntc.nnov.ru/images/8/8d/MARLIN_2014-02-9_Pangu_i3-CADR.zip Marlin для Mendel Pangu] в соответствующем разделе. | ||
− | * Ну и в конце было практически полное '''забитие экструдера'''. Мы даже попытались топить пластик вынув ptfe трубку (что было большой ошибкой!), после чего нам пришлось долго, методом "нагрева самореза" прочищать хот-энд что бы вернуть трубку на место (пластик поднялся и все забил, застыв при этом). Оказалось что нужно '''тонкой проволкой прочистить само нижнее отверстие диаметром 0,3мм'''. Засор был в нем. И что бы в дальнейшем засоров не появлялось нужно [http://rusabs.ru/blogs/blog/prochistka-sopla-ekstrudera-ot-zasoreniy | + | * Ну и в конце было практически полное '''забитие экструдера'''. Мы даже попытались топить пластик вынув 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-пластик''': | * Так же в ходе экспериментов мы выяснили что в наших условиях для печати '''нам лучше всего подходит PLA-пластик''': | ||
**Для него нужна более низкая температура экструдера (в нашем случае '''200 С''' в настройках Repetier). | **Для него нужна более низкая температура экструдера (в нашем случае '''200 С''' в настройках Repetier). | ||
Строка 87: | Строка 90: | ||
И в ходе всех этих испытаний нам приходилось сохранять самообладание и хладнокровие, дабы не в пасть в стадию годовалой давности :) | И в ходе всех этих испытаний нам приходилось сохранять самообладание и хладнокровие, дабы не в пасть в стадию годовалой давности :) | ||
− | + | <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> | |
− | |||
Ну а теперь факты только факты и ничего кроме фактов и все по порядку! | Ну а теперь факты только факты и ничего кроме фактов и все по порядку! | ||
Строка 127: | Строка 129: | ||
На диске, с которым шел принтер, была та-же самая прошивка. Но она у нас просто так не собралась и нам пришлось отключить опцию поддержки SD-карта и еще некоторые опции, после чего прошивка стала компилироваться корректно. Скачать модифицированную версию прошивки Sprinter для RepRap Mendel Pangu можно [http://wiki.nntc.nnov.ru/images/3/3b/Sprinter_Melzi-edited-by-NRTC.zip здесь]. | На диске, с которым шел принтер, была та-же самая прошивка. Но она у нас просто так не собралась и нам пришлось отключить опцию поддержки SD-карта и еще некоторые опции, после чего прошивка стала компилироваться корректно. Скачать модифицированную версию прошивки Sprinter для RepRap Mendel Pangu можно [http://wiki.nntc.nnov.ru/images/3/3b/Sprinter_Melzi-edited-by-NRTC.zip здесь]. | ||
− | Но, мы посчитали что раз есть новая версия прошивки - Marlin, нужно бы установить ее. К тому же | + | Но, мы посчитали что раз есть новая версия прошивки - 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/MarlinFirmware/Marlin официального репозитория с github], но у нас с официальной версией не заработал подогрев стола! В RepRap Mendel Pangu есть некоторые изменения в плате. | ||
Строка 197: | Строка 199: | ||
apt-get install mono-devel | apt-get install mono-devel | ||
</pre> | </pre> | ||
− | * Заходим в каталог, куда распакован Repetier-Host и запускаем скрипт | + | * Заходим в каталог, куда распакован Repetier-Host и запускаем скрипт repetierHost (тот который без расширений). |
+ | * Если среда не запускается, попробуйте воспользоваться следующей командой, и запишите ее в скрипт запуска repetierHost | ||
+ | <pre> | ||
+ | mono RepetierHost.exe -home ./ | ||
+ | </pre> | ||
+ | |||
<!-- | <!-- | ||
* В консоли переходим в каталог, куда распаковали RepetirHost | * В консоли переходим в каталог, куда распаковали RepetirHost | ||
Строка 370: | Строка 377: | ||
* '''Z offset''' - первоначальное смещение по оси Z (подъем над столом). Возможно вам нужно начать печатать начиная с какой то высоты (например на поверхности уже имеющегося объекта, лежащего на столе), то этот параметр для вас. Но будьте точны в измерениях! | * '''Z offset''' - первоначальное смещение по оси Z (подъем над столом). Возможно вам нужно начать печатать начиная с какой то высоты (например на поверхности уже имеющегося объекта, лежащего на столе), то этот параметр для вас. Но будьте точны в измерениях! | ||
* '''Extruders''' - количество экструдеров, установленных на вашем принтере | * '''Extruders''' - количество экструдеров, установленных на вашем принтере | ||
− | * '''Host or IP''' - параметры подключения к интерфейсу управления принтером OctoPrint (система управления RepRap и другими принтерами с помощью web-интерфейса запущенного на RaspberryPi и подключенного непосредственно к принтеру, подключение идет через сеть по ip-адресу). Шикарный проект, позволяющий контролировать печать через web-браузер. Но подготовку g-кода нужно будет делать на компьютере (на | + | * '''Host or IP''' - параметры подключения к интерфейсу управления принтером OctoPrint (система управления RepRap и другими принтерами с помощью web-интерфейса запущенного на RaspberryPi и подключенного непосредственно к принтеру, подключение идет через сеть по ip-адресу). Шикарный проект, позволяющий контролировать печать через web-браузер. Но подготовку g-кода нужно будет делать на компьютере (мы пока не выяснили как контролировать положение STL-модели на столе перед слайсингом прямо в интерфейсе OctoPrinta). Подробнее о нем в последнем разделе статьи. |
* '''G-code flavor''' - тип команд, которые принимает ваш принтер. Этот параметр зависит от типа прошивки, которую вы загрузили в принтер. В нашем случае это Marlin и здесь мы выбрали соответствующий параметр. | * '''G-code flavor''' - тип команд, которые принимает ваш принтер. Этот параметр зависит от типа прошивки, которую вы загрузили в принтер. В нашем случае это Marlin и здесь мы выбрали соответствующий параметр. | ||
|- | |- | ||
Строка 406: | Строка 413: | ||
Вам нужно просто поджечь кусочек вашего пластика и посмотреть как он горит! | Вам нужно просто поджечь кусочек вашего пластика и посмотреть как он горит! | ||
− | + | <center> | |
− | + | <gallery widths="320px" heights="240px"> | |
− | + | Файл:Burn_ABS.jpg|Сжигаем ABS пластик и видим много дыма | |
− | + | Файл:Burn_PLA.jpg|Сжигаем PLA и дыма вообще нет, но пластик капает | |
+ | </gallery> | ||
+ | </center> | ||
Мы определили тип пластика и теперь можно выяснять как настраивать слайсер на подготовку gcoda для печати модели именно вашим типом пластика. | Мы определили тип пластика и теперь можно выяснять как настраивать слайсер на подготовку gcoda для печати модели именно вашим типом пластика. | ||
Строка 419: | Строка 428: | ||
− | Так же, по словам ysb нагреватель и сам экструдер в Pangu рассчитан на температуру не выше 240 С, иначе есть шанс расплавить | + | Так же, по словам 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 С: |
+ | |||
+ | #define HEATER_0_MAXTEMP 380 | ||
+ | |||
+ | чтобы иметь возможность греть экструдер до 260 С, но это не решило проблем, поэтому не рекомендуем! | ||
− | [[image:temperature-test.jpg|400px|left|thumb|Проверяем соответствие данных о температуры со встроенного термистора и данных с термопары подключенной к мультиметру http://www.youtube.com/watch?v=JwLsAoe7yio]]Это очень важно. ABS очень не любит сквозняков и перепада температуры. Мы думали, не сделать ли нам корпус вокруг принтера. Но, забегая вперед, оказалось что этого не требуется с | + | [[image:temperature-test.jpg|400px|left|thumb|Проверяем соответствие данных о температуры со встроенного термистора и данных с термопары подключенной к мультиметру http://www.youtube.com/watch?v=JwLsAoe7yio]]Это очень важно. ABS очень не любит сквозняков и перепада температуры. Мы думали, не сделать ли нам корпус вокруг принтера. Но, забегая вперед, оказалось, что этого не требуется с PLA. |
− | После некоторых экспериментов выяснилось что наш hot-end | + | После некоторых экспериментов выяснилось, что наш hot-end -- а точнее, термистор в нём -- не совсем точно показывает текущую температуру. Для проверки мы воспользовались мультиметром с подключённой термопарой. И у нас получились расхождения примерно в 30 С в меньшую сторону, т.е. если я на компьютере выставлял 220 С, то на мультиметре я видел всего 190C. |
− | Тут конечно сложно сказать кому верить | + | Тут конечно сложно сказать, кому верить -- китайскому термистору в hot-end'е, или китайской термопаре, подключенной к китайскому мультиметру :) Но мне кажется, что мультиметр ближе к истине (тем более, что мы испытали его на кипящем чайнике с водой, и он выдал нам 93...95 градусов С с термопарой, помещённой в пакетик и опущенной в кипящую воду :) |
<br clear=all> | <br clear=all> | ||
Строка 451: | Строка 464: | ||
===Калибровка экструдера по температуре=== | ===Калибровка экструдера по температуре=== | ||
Откалибровать по температуре можно "на глаз". Для этого вам понадобиться термопара и мультиметр: | Откалибровать по температуре можно "на глаз". Для этого вам понадобиться термопара и мультиметр: | ||
− | + | <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 С ниже выставленной в программет! | Вывод: Если предположить что мультиметр показывает реальную температуру экструдера (а мы провели тест на кипящей воде и наш мультиметр показал температуру 98 С), то при работе в программе делаем поправку на то, что реальная температура будет на 30 С ниже выставленной в программет! | ||
+ | |||
===Калибровка экструдера по количеству затягиваемого филамента=== | ===Калибровка экструдера по количеству затягиваемого филамента=== | ||
− | Калибровка по длине затягиваемого филамента. Тут я вам рекомендую посмотреть вот это видео http://www.youtube.com/watch?v=JZGdMc2ebPo . Все довольно просто: | + | [[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 вводите длину протягиваемого филамента | + | * в окне управления указываете 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. Предположительно, пластик "вклеит" в себя все огарки и посторонние вкрапления, находящиеся внутри нагревательной части. | Идея метода заключается в физике материала. При некоторой температуре пластик уже не твердый, но еще и не жидкий, представляет из себя вязкую не рвущуюся массу очень клейкую. Основная задача - найти эту температуру и при ней протянуть пластик через hot-end. Предположительно, пластик "вклеит" в себя все огарки и посторонние вкрапления, находящиеся внутри нагревательной части. | ||
Строка 472: | Строка 492: | ||
[[image:Clear-Extruder-With-Cold-pull.jpg|400px|right|thumb|Остатки филамента после протяжки через экструдер. Видно как меняется форма пластика на выходе при понижении температуры. Идея такого метода прочистки - протянуть струну при минимально возможной температуре]] Мы делали это PLA-пластиком путем ручного продавливания струны через Hot-End с постепенным понижением температуры. Как вы можете видеть на фотографии мы начали с 200 градусов и дошли до 135, когда пластик уже продавливался с трудом. Этот метод в сочетании с прочисткой сопла тонким проводком дает очень хороший эффект (сопло нужно прочистить перед протяжкой простым "просовыванием" и вытаскиванием тонкой проволоки внутрь на пару миллиметров). | [[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'а пластик. НЕ ДЕЛАЙТЕ ТАК!!!! | [[image:Clear-Hot-End-Without-plastick-tube.jpg|400px|left|thumb|НИКОГДА НЕ ИСПОЛЬЗУЙТЕ hot-end БЕЗ ptfe-пластиковой трубки в нем!!! Иначе вам придется так же искать саморез нужного диаметра, греть его и долго пытаться прочистить основной объем Hot-end'а что бы иметь возможность вернуть требку на место в него]]У нас было пару экспериментов использования экструдера без ptfe-пластиковой трубки (мы посчитали что из-за нее у нас застреет пластик) и нас спас лишь саморез нужного диаметра и наличие зажигалки, которой мы грели этот саморез и прочищали им застывший в верхней части hot-end'а пластик. НЕ ДЕЛАЙТЕ ТАК!!!! | ||
Строка 487: | Строка 507: | ||
Благодаря этому вы можете управлять и наблюдать за ходом печати с помощью удаленного компьютера или с мобильного устройства прямо из браузера! | Благодаря этому вы можете управлять и наблюдать за ходом печати с помощью удаленного компьютера или с мобильного устройства прямо из браузера! | ||
+ | |||
+ | ===Установка комплекса 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]] | ||
==Дополнительные информационные ресурсы== | ==Дополнительные информационные ресурсы== | ||
Строка 494: | Строка 562: | ||
* [http://octoprint.org/ Проект управления принтером через Web-интерфейс OctoPrint] | * [http://octoprint.org/ Проект управления принтером через Web-интерфейс OctoPrint] | ||
* [http://rusabs.ru/blogs/blog/prochistka-sopla-ekstrudera-ot-zasoreniy Описание способов прочистки экструдера 3D-принтера при засорении] | * [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 -- Описание прошивки для плат Ардуино и их аналогов на русском языке