RepRap-NRTC
Содержание
Как победить 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мм. Засор был в нем. И что бы в дальнейшем засоров не появлялось нужно прочистить экструдер методом "холодной протяжки" описанной по ссылке и в соответствующем разделе. Мы просто вручную пропускали/топили нить через хот-энд, постепенно опуская температуру до минимальной, при которой пластик еще протягивается через хот-энд. С нашим 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 обещают просто заоблачные возможности и улучшения в 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 о том, как оно отреагировало на подключения этого устройства.
- Скачать архив с модифицированным 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 (тот который без расширений).
После запуска программы сделайте базовые настройки параметров подключения к принтеру. Самое главное здесь - устройство подключения, обычно /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 (выбрать исполняемый файл 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 С, но это не решило проблем, поэтому не рекомендуем!
![](/w/images/thumb/9/9a/Temperature-test.jpg/400px-Temperature-test.jpg)
После некоторых экспериментов выяснилось что наш hot-end, а точнее термистор в нем не совсем точно показывает текущую температуру. Для проверки мы воспользовались мультиметром с подключенной термопарой. И у нас получились расхождения примерно в 30 С в меньшую сторону, т.е. если я на компьютере выставлял 220 С, то на мультиметре я видел всего 190.
Тут конечно сложно сказать кому верить, китайскому термистру в hot-end'е или китайской термопаре подключенной к китайскому мультиметру :) Но мне кажется что мультиметр ближе к истине (темболее что мы испытали его на кипящем чайнике с водой и он выдал нам 93...95 градусов С с термопарой помещенной в пакетик и опущенной в кипящую воду :)
Режимы печати с PLA
А основная прелесть PLA в том, что стол вообще нагревать не нужно!!!
Благодаря этому для лучшего прилипания первого слоя пластика мы можем просто помазать стекло клеем-карандашом. Эффект очень хороший!
"Работа" с экструдером
Экструдер с одной стороны штука очень простая: снизу установлена трубка с алюминиевым кубом на конце, в кубе просверлено два отверстия, в одно отверстие вставлен резистор большого сопротивления (а сооветственно и теплоотдачей), а в другое термопара или термистор для измерения текущей температуры и отключения нагревающего резистора, ну и внизу накручена гайка с отверстием 0,3 мм, через которое вылезает растопленный пластик; сверху стоит двигатель с шестеренкой и прижимным роликом, который тянет струну из бабины и проталкивает ее в экструдер, где она плавится. Но часто проблемы возникают именно с экструдером.
Для проверки работы экструдера в Repetier-Host:
- зайдите на закладку управление
- установите температуру экструдера в 200 С
- установите длину проталкиваемого филамента в 5мм
- нажмите стрелку вниз
- посмотрите проталкивается ли пластик в экструдер и выходит ли растопленный филамент из него
Кроме всего прочего вам нужно будет откалибровать экструдер по Температуре и по соответствию длинны затягиваемого пластика в окне управления и в действительности.
Откалибровать по температуре можно "на глаз". Для этого вам понадобиться термопара и мультиметр:
Вывод: Если предположить что мультиметр показывает реальную температуру экструдера (а мы провели тест на кипящей воде и наш мультиметр показал температуру 98 С), то при работе в программе делаем поправку на то, что реальная температура будет на 30 С ниже выставленной в программет!
Калибровка по длине затягиваемого филамента. Тут я вам рекомендую посмотреть вот это видео. Все довольно просто:
- отмеряете 5 сантиметров на струне филамента
- в окне управления указываете Repetier-Host вводите длину протягиваемого филамента 50, количество повторений 1
- смотрите, вошел ли филамент в экструдер до верхней риски
- если не дошел, открываете код прошивки и ищите там строчку
Прочистка методом "холодной протяжки"
Идея метода заключается в физике материала. При некоторой температуре пластик уже не твердый, но еще и не жидкий, представляет из себя вязкую не рвущуюся массу очень клейкую. Основная задача - найти эту температуру и при ней протянуть пластик через hot-end. Предположительно, пластик "вклеит" в себя все огарки и посторонние вкрапления, находящиеся внутри нагревательной части.
Подробнее о методе "Холодной протяжки" и о том какие еще материалы рекомендуют для него использовать вы можете почитать на сайте, где мы о нем и узнали http://rusabs.ru/blogs/blog/prochistka-sopla-ekstrudera-ot-zasoreniy
Удаленное управление принтером
Недавно у нас возникла идея в качестве управляющего компьютера использовать 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 Мб оперативной памяти!
Благодаря этому вы можете управлять и наблюдать за ходом печати с помощью удаленного компьютера или с мобильного устройства прямо из браузера!
Дополнительные информационные ресурсы
- 3D принтер RepRap. Часть 5 - прошивка, калибровка, печать -- Отличная серия статей по настройке прошивки для принтеров RepRap
- Параметры настройки слайсера
- Справочник по G-кодам
- Проект управления принтером через Web-интерфейс OctoPrint
- Описание способов прочистки экструдера 3D-принтера при засорении