Перепрошивка 3д принтера. Калибровка стола

Иногда владельцу 3д-принтера приходится этим заняться. Поведаю хабра-сообществу о своём способе. Прошу заметить, что руководство подробное, но приводит к отличным результатам - прилипает модель на отлично и не отклеивается в процессе печати.

Для начала отмечу, что своё мастерство я оттачивал на принтере SmartCore Aluminium , приобретённом .

Установка нагревательной платформы

Нагревательную (или не нагревательную, зависит от принтера) платформу для начала надо выставить по высоте. Для этого существует концевик для оси Z.

Из википедии:

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

С помощью затяжного и прижимного болтов этот концевик можно регулировать по высоте.
Нужно выставить его так, чтобы поверхность платформы чётко касалась сопла экструдера.

Для дальнейшей калибровки будем использовать Pronterface из пакета ПО Printrun .

Преимуществом этого пакета вижу наглядное и удобное управление соплом и платформой принтера, но если кому-то удобнее использовать Repsnapper , он тоже вполне подойдёт. Cura не подойдёт для калибровки, за неимением необходимого для этого функционала.

Для продолжения давайте убедимся, что при нажатии на кнопку «Калибровка» («Home», изображен белый домик), платформа поднимается и упирается вплотную, но не пытается двигаться дальше, к соплу.
Так-как на моём принтере прошивка взята с напрямую с репозитория SmartCore Aluminium (пусть и не напрямую с Marlin), сопло выезжает на середину платформы. Если у вас это не так, и сопло остаётся в углу по нулевых координатах - ничего страшного, для дальнейшей калибровки это не принципиально.

Калибровка

Следующие действия надо поочерёдно провести на центре, по углам и по контрольному кругу:

После того, как мы закончили калибровку на всех пяти точках и контрольно прошлись по ним так, что не пришлось ничего менять, можно переходить к проверке результата калибровки.

Проверка

Для проверки я использую простую модель , нарисованную в FreeCAD и cгенерированный gcode в Cura. Пластик чем точнее диаметром, тем лучше - я беру из-за заявленной точности и разнообразия цветов. Впрочем, для проверки будем использовать натуральный цвет ABS-пластика.
Смысл простой маленькой проверочной модели, наверное, ясен - экономия средств и времени.

Именно в такой последовательности есть смысл проверять. Впрочем, если вы уверены в своей калибровке, то можете сразу начать с шага 2. Ну если у вас уже есть опыт и вы абсолютно уверены в своей калибровке, то можете сразу перейти к шагу 3 - распечатывать 5pad.gcode.
Разница в количестве и расположении изделий.
Я же опишу проверку первого шага, поскольку остальные аналогичны.
Предположим, одна сторона платформы слишком высоко откалибрована. Это очень легко обнаружить в результате:

Вид сверху:


И что важнее сейчас для нас - вид снизу:

- вот так выглядит ободная кайма Cura, если сопло расположено слишком высоко к платформе. Пластик падает не точно, иногда цепляясь за соседние линии.

Рассмотрим обратную ситуацию - если сопло слишком прижато к платформе:



Как видим, здесь тоже не всё гладко, пластик, стремясь заполнить доступное пространство, налазит на соседние линии, а на следующем слое повторно цепляется сопло, вмазывается вновь по доступному пространству. Впрочем, надо отметить, что прилипает в таком случае модель очень хорошо, а дефект калибровки не виден на следующих слоях. Более того, может быть даже не заметен вовсе, если вы выберете в Cura подложку для прилипания модели к столу.

Наконец, желаемый и правильный результат:



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

Нормальная ситуация, если такой результат получен на стекле при температуре 100 градусов. При этом, если стекло обезжирено и ровное, то после окончания калибровки, отлипать в процессе печати не будет. Вы можете попробовать отодрать деталь от нагретой платформы после печати. Пока не остынет до 90-80 градусов, у вас это может, даже и не получится, без повреждения стекла. Также, может быть важным отсутствие сквозняка, который влияет на не менее важную равномерность прогрева поверхности платформы.

Вот общие фото для удобства сравнения:

Вид сверху:

Вид снизу:

Дальнейшая проверка аналогична по своей сути, но распечатать следует 4pad.gcode - охватывает немного большую центральную область. И 5pad.gcode - покажет качество калибровки по углам.

Всем удачной калибровки!

На завершение развлекательное видео, на котором отображено наслаждение результатом:


Как видно, печатаю я не на стекле, но об этом в следующей статье.

Перед тем как приступить к калибровке необходимо подготовить и загрузить прошивку. От программы, по которой работает принтер, зависит качество и надежность печати.

Как я писал ранее, в качестве внутреннего ПО был выбран проект Marlin . Рассмотрим все необходимые действия для получения работоспособной прошивки для описанной выше конфигурации.

СРЕДА РАЗРАБОТКИ

Первым делом необходимо установить среду разработки для Arduino . Здесь, я думаю, трудностей возникнуть не должно… Сразу хочу заметить, что более ранние прошивки могут не компилироваться на свежих версиях Arduino. Для прошивки, представленной на этой странице, я пользовался Arduino 1.8.3. Скачать версию можно на сайте Arduino или инсталлятор для Windows по ссылке .

ИСХОДНИК ПРОШИВКИ

Текущая версия Marlin для работы над прошивкой Marlin-1.1.0-RC8. Для скачивания прошивки в первоисточнике перейдите по ссылке .

Следующим шагом распаковываем скачанную версию проекта Marlin в удобное для работы место диска. Для более ранних версий в папке проекта можно было заметить наличие папки «ArduinoAddons». В ней расположены дополнительные библиотеки для Arduino без которых наш проект не скомпилируется из-за активированного индикатора! Было достаточно скопировать содержимое папки «ArduinoAddons/Arduino_1.x.x/libraries» в папку с библиотеками установленной оболочки Arduino «Arduino/libraries». Для успешной компиляции требуются библиотеки LiquidCrystal и U8glib.

Для Arduino 1.8.3 и выше библиотеки потребуется установить через «Менеджер библиотек».

ПОДКЛЮЧЕНИЕ КОНТРОЛЛЕРА

На данном этапе можно подключить плату контроллера к USB порту ПК. Дополнительно драйверы на моем ПК устанавливать не пришлось — плата подключилась в систему автоматически. Но в некоторых случаях придется их установить. Процедура стандартная, драйвера находятся в папке «drivers» установленной оболочки Arduino. В результате успешной установки в диспетчере устройств в разделе «Порты (COM и LPT)» должна отобразиться плата контроллера «Arduino Mega 2560 (COM5)». Запоминаем номер порта контроллера в системе — в моем случае это COM5. Теперь все готово для работы с исходниками контроллера.

НАСТРОЙКА ПРОШИВКИ

Запускаем оболочку, открываем проект Marlin. Перед правкой кода указываем в настройках с какой платой и контроллером будет работать оболочка на каком порту «висит» плата. Все это требуется указать в разделе «Tools (Инструменты)» оболочки. Выбираем следующие настройки:
плата — «Arduino Mega or Mega 2560»;
процессор — «ATMega2560 (Mega2560)»;
порт — «COM5» (у Вас возможен другой номер порта!).
Для внесения индивидуальных настроек потребуется внести изменения в исходники библиотек.

ВКЛАДКА Configuration.h

Устанавливаем скорость обмена порта #define BAUDRATE 115200

Я установил достаточно большую скорость обмена. Здесь нужно осознавать, что работоспособность на выбранной скорости определяется не только платой контроллера, но и программой управления. Я использую Repetier Host. Она прекрасно справляется с такой скоростью:).

Выбираем плату контроллера #define MOTHERBOARD BOARD_RAMPS_14_EFB
Этой строкой указываем, что будем использовать силовую плату RAMPS 1.4 с одним экструдером, вентилятором и обогреваемым столом. В комментариях тип платы описан следующим образом:
// RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)

Описание плат управляющего контроллера, поддерживаемые прошивкой, находятся во вкладке Boards.h.

Определяем какой экструдер будем использовать: #define EXTRUDERS 1

В случае, если используется блок питания с программным отключением, прошивка поддерживают возможность управлять таким БП. Для этого необходимо описать тип БП. Поскольку в моем случае управление БП не поддерживается, то: #define POWER_SUPPLY 0

Для надежной работы всей системы очень важно знать тип датчиков температуры, установленных в ХОТЭНДе и на нагреваемом столе. При заказе ХОТЭНДа и датчика температуры стола я как-то не обратил внимание на этот момент… В связи с чем пришлось сильно помучаться добиваясь стабильности подачи проволоки. Сразу рекомендую получить исчерпывающую информацию по используемым датчикам до оплаты ХОТЭНДа. Поскольку позже эту информацию скорее всего получить будет сложно (по личному опыту). В итоге и в нагревателе ХОТЭНДа у меня установлен датчик 5 типа, на столе — датчик 11 типа:

// 5: 100K thermistor — ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)

// 11: 100k beta 3950 1% thermistor (4.7k pullup)
#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 11

Так как корпус принтера является открытым, то различные внешние возбудители (сквозняки и пр.) могут сильно влиять на температуру нагревателей. Для более точного поддержания температуры нагревателей я рекомендую использовать PID регулировку. В этом случае потребуется калибровка нагревателей! Она проходит в автоматическом режиме и опишу этот процесс ниже по тексту статьи. На данном этапе достаточно только включить PID регуляторы хотэнда и стола с коэффициентами регулировки по умолчанию.

#define PIDTEMP

#define PIDTEMPBED

Более свежие прошивки имеют в своем составе большое количество настроек, повышающих безопасность работы принтера. В частности контроль скорости нарастания температуры, минимальное и максимальное значение температуры на нагревателях и даже длину непрерывной экструзии. Мне кажется, использование данных фишек совсем не повредит. Посему настраиваем минимальную и максимальную температуру нагревателей:

#define HEATER_0_MINTEMP 5
#define BED_MINTEMP 5

#define HEATER_0_MAXTEMP 270
#define BED_MAXTEMP 140

Запрещаем холодную экструзию проволоки. При температуре ниже 170 гр. С подача осуществляться не будет:

#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170

Запрещаем непрерывную подачу пластика более 200 мм:

#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MAXLENGTH 200

Включаем температурную защиту нагревателей:

#define THERMAL_PROTECTION_HOTENDS
#define THERMAL_PROTECTION_BED

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG

Для правильной работы оптических концевиков потребуются подтягивающие резисторы:

#define ENDSTOPPULLUPS

При использовании оптических концевиков инвертируем значение логического сигнала:

#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING false
#define Z_MIN_ENDSTOP_INVERTING false

Поскольку выводы, снимающие сигналы с концевых датчиков, поддерживают прерывания включаем обработку событий от концевиков по прерыванию, что существенно сэкономит машинное время:

#define ENDSTOP_INTERRUPTS_FEATURE

По концевикам осталось только обозначить направление движения к начальной точке:

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

Для повышения точности печати, с целью исключения люфта при начале движения и во время остановки двигателей лучше включить захват положения двигателей всех осей и экструдера даже без движения:

#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false

Следующие строки определяют направление вращения приводов для движение в нужном направлении. Напоминаю, что значения приведены для конфигурации Mendel Prusa I3.

#define INVERT_X_DIR true
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

При использовании экструдера, содержащего редуктор потребуется установить:

#define INVERT_E0_DIR false

Использованные мной драйверы немного слабоваты. По этой причине на большой скорости движения в Z направлении заметны существенные глюки. Значит сразу лучше ограничить скорость при возврате каретки в начальное положение:

#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (2*60)

Для программного контроля перемещения в рабочем пространстве установим границы перемещения после установки принтером начальной точки:

#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 185
#define Y_MAX_POS 185
#define Z_MAX_POS 185

Для точного перемещения по осям прошивка должна знать на сколько шагов требуется прокрутить двигатель при перемещении на 1мм:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 2*80, 2*80, 2*4000, 988 } // ДЛЯ 8825 драйверов 1/32 ШАГА

Значение для двигателя экструдера приведено для WADE’S экструдера .

В этой строке прописаны значения осей X, Y, Z, E (экструдера). Все значения, кроме E вполне совпадают с расчетными величинами (по крайней мере у меня). К значению Е вернемся позже. Теорию можно прочесть на форуме RepRap .

#define DEFAULT_MAX_ACCELERATION { 2500, 2500, 250, 4000 } // МАКСИМАЛЬНОЕ УСКОРЕНИЕ

#define DEFAULT_ACCELERATION 500 // УСКОРЕНИЕ ПО УМОЛЧАНИЮ
#define DEFAULT_RETRACT_ACCELERATION 2500 // УСКОРЕНИЕ РЕТРАКТА
#define DEFAULT_TRAVEL_ACCELERATION 500 // УСКОРЕНИЕ ПРИ ПЕРЕМЕЩЕНИИ БЕЗ ПЕЧАТИ

И, пожалуй, последнее, что требуется прописать для запуска платы контроллера — подключение дисплея:

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Для перехода на русский язык в меню управления принтером:

#define LCD_LANGUAGE ru

#define DISPLAY_CHARSET_HD44780 CYRILLIC

и SD карты памяти:

#define SDSUPPORT

Основные параметры настроены, можно приступать к калибровке! Но, раз уж мы ковыряем прошивку, сразу доработаем все необходимое для реализации работы в меню контроллера без ПК.

Опишем температуру преднагрева для PLA и ABS пластика:

#define PREHEAT_1_TEMP_HOTEND 180
#define PREHEAT_1_TEMP_BED 80
#define PREHEAT_1_FAN_SPEED 0

#define PREHEAT_2_TEMP_HOTEND 230
#define PREHEAT_2_TEMP_BED 115
#define PREHEAT_2_FAN_SPEED 0

Если интересно знать статистику работы принтера. Для сохранения статистики в EEPROM включим:

#define PRINTCOUNTER

Данная фишка позволит сохранять в энергонезависимой памяти контроллера следующую информацию:

— общее количество запусков на печать;
— общее количество успешных запусков на печать;
— общее количество неудачных запусков на печать;
— общее время печати.

Информацию можно получить из принтера по команде M78.

#define THERMAL_PROTECTION_HOTENDS // ВКЛЮЧИТЬ ЗАЩИТУ ДЛЯ ВСЕХ ХОТЭНДОВ
#define THERMAL_PROTECTION_BED // ВКЛЮЧИТЬ ЗАЩИТУ ДЛЯ СТОЛА

Режимы требуется настраивать индивидуально для каждой модели принтеров. Описание параметров приведу в части статьи, описывающей вкладку Configuration_adv.h.

Если с настройками по умолчанию энкодера работать неудобно (слишком быстро перепрыгивает между разделами меню или не устраивает направление вращения), то следующие разделы помогут тонко отстроить работу энкодера:

// ЧИСЛО ИМПУЛЬСОВ ЭНКОДЕРА НА ОДИН ШАГ. ДЛЯ ЭКОДЕРОВ С ВЫСОКИМ РАЗРЕШЕНИЕМ
// ТРЕБУЕТСЯ УВЕЛИЧИТЬ ЗНАЧЕНИЕ

#define ENCODER_PULSES_PER_STEP 3

// КОЛИЧЕСТВО ШАГОВ ЭНКОДЕРА ДЛЯ ПЕРЕХОДА МЕЖДУ ПУНКТАМИ МЕНЮ
#define ENCODER_STEPS_PER_MENU_ITEM 2

// ИЗМЕНЕНИЕ НАПРАВЛЕНИЯ ВРАЩЕНИЯ

#define REVERSE_ENCODER_DIRECTION

ВКЛАДКА Configuration_adv.h

Прошивка поддерживает большое количество дополнительных настроек, очень помогающих в работе. Хотелось бы сразу описать те, которые я активно использую. Для перехода к расширенным настройкам открываем вкладку Configuration_adv.h.

Настройки режимов защиты по температуре:

#define THERMAL_PROTECTION_PERIOD 90 // СЕКУНДЫ
#define THERMAL_PROTECTION_HYSTERESIS 15 // ГРАДУСЫ ЦЕЛЬСИЯ

#define WATCH_TEMP_PERIOD 16 // СЕКУНДЫ
#define WATCH_TEMP_INCREASE 4 // ГРАДУСЫ ЦЕЛЬСИЯ

После включения параметра THERMAL_PROTECTION_HOTENDS при нагреве хотэнда по командам M140 или M190 принтер будет отслеживать прирост температуры! Если за период времени WATCH_TEMP_PERIOD температура не увеличивается на WATCH_TEMP_INCREASE ГРАДУСОВ, то принтер остановится и потребуется полная перезагрузка.

Для нагревателя стола тот же алгоритм защиты и переменные при условии включения THERMAL_PROTECTION_BED:

#define THERMAL_PROTECTION_BED_PERIOD 120 // СЕКУНДЫ
#define THERMAL_PROTECTION_BED_HYSTERESIS 20 // ГРАДУСЫ ЦЕЛЬСИЯ

#define WATCH_BED_TEMP_PERIOD 240 // СЕКУНДЫ
#define WATCH_BED_TEMP_INCREASE 2 // ГРАДУСЫ ЦЕЛЬСИЯ

Если для отвода тепла от платы контроллера используется вентилятор, то разумно использовать его включение программно и подключить через дополнительную недорогую плату . В прошивке при этом требуется:

1. Определить пин контроллера, задействованный для управления вентилятором охлаждения:

#define CONTROLLERFAN_PIN 6

2. Установить время, которое будет вращаться вентилятор после остановки двигателей:
#define CONTROLLERFAN_SECS 90

3. Скорость вращения вентилятора:
#define CONTROLLERFAN_SPEED 255

Очень интересная настройка:

#define FAN_KICKSTART_TIME 50

позволяет запускать вентилятор обдува фактически на любой рабочей скорости. Для этого на установленное в настройке время в миллисекундах задается максимальная стартовая скорость. После запуска установится рабочая скорость.

Для более детального управления вентилятором обдува радиатора задаем пин, скорость вращения и температура включения:

#define E0_AUTO_FAN_PIN 11
#define EXTRUDER_AUTO_FAN_TEMPERATURE 100 // ТЕМПЕРАТУРА ВКЛЮЧЕНИЯ
#define EXTRUDER_AUTO_FAN_SPEED 255 // СКОРОСТЬ ВРАЩЕНИЯ

В предыдущих статьях я упоминал, что драйвер шагового двигателя оси Z при параллельном подключении двух двигателей, существенно перегревается. Прошивка позволяет подключить второй двигатель на драйвер неиспользуемого двигателя экструдера:

#define Z_DUAL_STEPPER_DRIVERS

Пожалуй, это все самые необходимые настройки вкладки.

ВКЛАДКА Language_RU.h

После перехода на русский язык мне не понравился перевод параметров. Я сделал перевод под себя. Для этого во вкладке Language_RU.h изменил константы:

#define WELCOME_MSG MACHINE_NAME » ГОТОВ.»
#define MSG_SD_INSERTED «КАРТА УСТАНОВЛЕНА»
#define MSG_SD_REMOVED «КАРТА ИЗВЛЕЧЕНА»
#define MSG_MAIN «МЕНЮ»
#define MSG_LCD_ENDSTOPS «КОНЦЕВИК»
#define MSG_AUTOSTART «АВТОСТАРТ»
#define MSG_DISABLE_STEPPERS «ВЫКЛ. ДВИГАТЕЛИ»
#define MSG_AUTO_HOME «ПАРКОВКА»
#define MSG_LEVEL_BED_HOMING «НУЛЕВОЕ ПОЛОЖ»
#define MSG_LEVEL_BED_WAITING «НАЖМИТЕ НАЧАТЬ»
#define MSG_LEVEL_BED_NEXT_POINT «СЛЕДУЮЩАЯ ТОЧКА»
#define MSG_LEVEL_BED_DONE «УРОВЕНЬ!»
#define MSG_LEVEL_BED_CANCEL «ОТМЕНИТЬ»
#define MSG_SET_HOME_OFFSETS «ЗАПОМНИТЬ ПАРКОВКУ»
#define MSG_HOME_OFFSETS_APPLIED «КОРРЕКЦИИ ПРИМЕН»
#define MSG_SET_ORIGIN «ЗАПОМНИТЬ НОЛЬ»
#define MSG_PREHEAT_1 «ПРЕДНАГРЕВ PLA»
#define MSG_PREHEAT_1_N «ГРЕТЬ ФОРСУНКУ «
#define MSG_PREHEAT_1_ALL «ГРЕТЬ ВСЕ»
#define MSG_PREHEAT_1_BEDONLY «ГРЕТЬ СТОЛ»
#define MSG_PREHEAT_1_SETTINGS «НАСТРОЙКИ PLA»
#define MSG_PREHEAT_2 «ПРЕДНАГРЕВ ABS»
#define MSG_PREHEAT_2_N «ГРЕТЬ ФОРСУНКУ «
#define MSG_PREHEAT_2_ALL «ГРЕТЬ ВСЕ»
#define MSG_PREHEAT_2_BEDONLY «ГРЕТЬ СТОЛ»
#define MSG_PREHEAT_2_SETTINGS «НАСТРОЙКИ ABS»
#define MSG_COOLDOWN «ОХЛАЖДЕНИЕ»
#define MSG_SWITCH_PS_ON «ВКЛЮЧИТЬ ПИТАНИЕ»
#define MSG_SWITCH_PS_OFF «ОТКЛЮЧИТЬ ПИТАНИЕ»
#define MSG_EXTRUDE «ЭКСТРУЗИЯ»
#define MSG_RETRACT «ВТЯГИВАНИЕ»
#define MSG_MOVE_AXIS «ДВИЖЕНИЕ ПО ОСЯМ»
#define MSG_LEVEL_BED «КАЛИБРОВАТЬ СТОЛ»
#define MSG_MOVE_X «ДВИЖЕНИЕ ПО X»
#define MSG_MOVE_Y «ДВИЖЕНИЕ ПО Y»
#define MSG_MOVE_Z «ДВИЖЕНИЕ ПО Z»
#define MSG_MOVE_E «ЭКСТРУДЕР»
#define MSG_MOVE_01MM «ДВИЖЕНИЕ XYZ 0.1мм»
#define MSG_MOVE_1MM «ДВИЖЕНИЕ XYZ 1мм»
#define MSG_MOVE_10MM «ДВИЖЕНИЕ XY 10мм»
#define MSG_SPEED «СКОРОСТЬ»
#define MSG_BED_Z «Z СТОЛА»
#define MSG_NOZZLE LCD_STR_THERMOMETER » СОПЛО»
#define MSG_BED LCD_STR_THERMOMETER » СТОЛ»
#define MSG_FAN_SPEED «КУЛЕР»
#define MSG_FLOW «ПОТОК»
#define MSG_CONTROL «НАСТРОЙКИ»
#define MSG_MIN LCD_STR_THERMOMETER » МИНИМУМ»
#define MSG_MAX LCD_STR_THERMOMETER » МАКСИМУМ»
#define MSG_FACTOR LCD_STR_THERMOMETER » ФАКТОР»
#define MSG_AUTOTEMP «АВТОТЕМПЕРАТУРА»
#define MSG_ON «ВКЛ. «
#define MSG_OFF «ОТКЛ. «
#define MSG_PID_P «PID-P»
#define MSG_PID_I «PID-I»
#define MSG_PID_D «PID-D»
#define MSG_PID_C «PID-C»
#define MSG_ACC «Acc»
#define MSG_VX_JERK «Vx-РЫВОК»
#define MSG_VY_JERK «Vy-РЫВОК»
#define MSG_VZ_JERK «Vz-РЫВОК»
#define MSG_VE_JERK «Ve-РЫВОК»
#define MSG_VMAX «Vmax «
#define MSG_VMIN «Vmin»
#define MSG_VTRAV_MIN «VПутеш. min»
#define MSG_AMAX «Amax»
#define MSG_A_RETRACT «A-ВТЯГИВАНИЕ»
#define MSG_A_TRAVEL «A-ПУТЕШ.»
#define MSG_XSTEPS «X шаг/мм»
#define MSG_YSTEPS «Y шаг/мм»
#define MSG_ZSTEPS «Z шаг/мм»
#define MSG_ESTEPS «E шаг/мм»
#define MSG_TEMPERATURE «ТЕМПЕРАТУРА»
#define MSG_MOTION «МЕХАНИКА»
#define MSG_VOLUMETRIC «ПРУТОК»
#define MSG_VOLUMETRIC_ENABLED «E в mm3»
#define MSG_FILAMENT_DIAM «ДИАМЕТР ПРУТКА»
#define MSG_CONTRAST «КОНТРАСТ LCD»
#define MSG_STORE_EPROM «СОХРАНИТЬ В EEPROM»
#define MSG_LOAD_EPROM «СЧИТАТЬ ИЗ EEPROM»
#define MSG_RESTORE_FAILSAFE «СБРОС EEPROM»
#define MSG_REFRESH «ОБНОВИТЬ»
#define MSG_WATCH «ОБЗОР»
#define MSG_PREPARE «ДЕЙСТВИЯ»
#define MSG_TUNE «НАСТРОЙКИ»
#define MSG_PAUSE_PRINT «ПАУЗА ПЕЧАТИ»
#define MSG_RESUME_PRINT «ПРОДОЛЖИТЬ ПЕЧАТЬ»
#define MSG_STOP_PRINT «ОСТАНОВИТЬ ПЕЧАТЬ»
#define MSG_CARD_MENU «ОБЗОР КАРТЫ»
#define MSG_NO_CARD «НЕТ КАРТЫ»
#define MSG_DWELL «СОН…»
#define MSG_USERWAIT «ОЖИДАНИЕ»
#define MSG_RESUMING «ВОЗОБНОВЛЕНИЕ…»
#define MSG_PRINT_ABORTED «ОТМЕНА ПЕЧАТИ»
#define MSG_NO_MOVE «НЕТ ДВИЖЕНИЯ.»
#define MSG_KILLED «УБИТО.»
#define MSG_STOPPED «ОСТАНОВЛЕНО.»
#define MSG_CONTROL_RETRACT «ВТЯГИВАНИЕ,мм»
#define MSG_CONTROL_RETRACT_SWAP «ВТЯГ. СМЕНЫ,мм»
#define MSG_CONTROL_RETRACTF «ВТЯГИВАНИЕ V»
#define MSG_CONTROL_RETRACT_ZLIFT «ВТЯГ. ПРЫЖКА,мм»
#define MSG_CONTROL_RETRACT_RECOVER «ВОЗВРАТ +мм»
#define MSG_CONTROL_RETRACT_RECOVER_SWAP «ВОЗВРАТ СМЕНЫ +мм»
#define MSG_CONTROL_RETRACT_RECOVERF «ВОЗВРАТ V»
#define MSG_AUTORETRACT «АВТО ВТЯГИВАНИЕ»
#define MSG_FILAMENTCHANGE «СМЕНА ПРУТКА»
#define MSG_INIT_SDCARD «ИНИЦ. КАРТУ»
#define MSG_CNG_SDCARD «СМЕНИТЬ КАРТУ»
#define MSG_ZPROBE_OUT «Z ДАТЧИК ВНЕ СТОЛА»
#define MSG_HOME «ПАРКУЙ X/Y ПЕРЕД Z»
#define MSG_FIRST «ПЕРВЫЙ»
#define MSG_ZPROBE_ZOFFSET «СМЕЩЕНИЕ Z»
#define MSG_BABYSTEP_X «МИКРОШАГ X»
#define MSG_BABYSTEP_Y «МИКРОШАГ Y»
#define MSG_BABYSTEP_Z «МИКРОШАГ Z»
#define MSG_ENDSTOP_ABORT «СРАБОТАЛ КОНЦЕВИК»
#define MSG_HEATING_FAILED_LCD «РАЗОГРЕВ НЕ УДАЛСЯ»
#define MSG_ERR_REDUNDANT_TEMP «ОШИБКА:СЛИШКОМ ГОРЯЧО»
#define MSG_THERMAL_RUNAWAY «ТЕПЛО УБЕГАНИЯ!»
#define MSG_ERR_MAXTEMP «ОШИБКА: Т макс.»
#define MSG_ERR_MINTEMP «ОШИБКА: Т мин.»
#define MSG_ERR_MAXTEMP_BED «ОШИБКА:Т макс.стол»
#define MSG_ERR_MINTEMP_BED «ОШИБКА:Т мин.стол»
#define MSG_HEATING «ГРЕЮ ФОРСУНКУ…»
#define MSG_HEATING_COMPLETE «НАГРЕВ ВЫПОЛНЕН»
#define MSG_BED_HEATING «ГРЕЮ СТОЛ…»
#define MSG_BED_DONE «СТОЛ РАЗОГРЕТ»
#define MSG_DELTA_CALIBRATE «КАЛИБРОВКА DELTA»
#define MSG_DELTA_CALIBRATE_X «КАЛИБРОВАТЬ X»
#define MSG_DELTA_CALIBRATE_Y «КАЛИБРОВАТЬ Y»
#define MSG_DELTA_CALIBRATE_Z «КАЛИБРОВАТЬ Z»
#define MSG_DELTA_CALIBRATE_CENTER «КАЛИБРОВАТЬ ЦЕНТР»

ОТЛАЖЕННАЯ ПРОШИВКА

Тем, кто собрал таки свою Прушу, выкладываю свою версию прошивки. Прошивка полностью отлажена и позволит сразу запустить принтеры и .

УПРАВЛЯЮЩАЯ ПРОГРАММА

Этап правки исходников можно считать завершенным. Если плата контроллера еще не подключена к порту, подключаем и жмем «Файл/Вгрузить»! После загрузки прошивки принтер готов к работе… Через меню интерфейсной платы доступно управление движением каретки по всем осям с разными шагами, включение/выключение нагревателей ХОТЭНДа и стола, печать с карты памяти и многие другие удобные фишки без использования ПК. Но для завершения калибровки принтера не достаточно функциональности меню и нам потребуется программная оболочка. Из тех, что я попробовал, мне больше подошла программа Repetier Host. Она обладает удобным интерфейсом, хорошим функционалом и что не менее важно вместе с ней мы получаем слайсеры в комплекте. Скачивание доступно на официальном сайте Repetier Host .
Приступаем к работе в программной оболочке. Вид окна программы представлен на рисунке ниже.

После запуска программы необходимо настроить параметры соединения с принтером. Выполняем задачу через меню «Конфигурация/Настройки принтера» или жмем соответствующую иконку.


На вкладке «Соединение» прописываем тип соединения — Serial Connection, номер порта — COM5 (как пример для моей системы), и скорость обмена, выбранную на этапе компиляции прошивки — 256000 (как пример для моей системы).


На вкладке «Принтер» настройки скоростей можно оставить по умолчанию. «Контроль температур панели и экструдера» и «Printer has SD card» включаем обязательно! На этой вкладке доступно поменять направление вращения осей принтера (на случай если в прошивке этот параметр указан неверно).


На вкладке «ЭКСТРУДЕР» потребуется установить диметр сопла, номер экструдера и ограничение температуры стола и ХОТЭНДа.


Вкладка «Размеры» содержит настройки размеров печатного поля и тип подключенного принтера — в нашем случае «Classic Printer». У меня установлены размеры стола 180мм х 180мм по причине того, что я использую дополнительный вентилятор для обдува места печати и приспособление для регулировки уровня стола «на лету». В углах эти приспособления мешают друг другу при работе на весь стол.
Если настройки принтера указаны верно, то после нажатия иконки «Подсоединить», контроллер перезагрузится, изображение на кнопке изменит цвет на зеленый. Принтер полностью готов к работе!
Продолжение следует…

3D принтер в DIY народном творчестве набирает популярность, но печать на нем не так проста как кажется. Настройка вашего принтера может занять много времени в котором будет истрачено не мало пластика. Что бы сократить потери и ускорить уровень вхождения опишем типовые проблемы с которыми вы обязательно столкнетесь.

При начале печати пластик не подается

Это одна из самых распространенных проблем которая случается даже у оплытных пользователей. Причины, которые вызывают это:

  • В экструдер не подан пластик или он не входит в зацепление шестерни;
  • В конце предыдущей печати экструдер долго стоял горячим и расплавленный пластик вытек из нагреваемой области через сопло. Таким образом там образуется пустота, которая не сразу заполняется при начале печати. Рекомендуем в G-коде задать отключение нагрева экструдера после окончания печати.
  • В некоторых случаях, чтобы избежать ожидания, услуга 3D печати начинается с того, что печатается так называемая «юбка» - кольцо вокруг основной модели, не несущее никакой нагрузки. Пока устройство печатает этот элемент, экструдер хорошо прогревается, а пластик заполняет полный объем сопла. Иногда приходится напечатать не одну, а несколько таких «юбок», в зависимости от состояния материала в сопле. Большинство программ для печати 3D объектов имеют функцию для печати подобных вспомогательных элементов изделия.
  • Сопло очень близко к рабочей поверхности. Нарушена калибровка
  • В случае если сопло разместилось очень близко от рабочей поверхности, есть вероятность, что для выхода горячего материала просто не осталось достаточно места. В итоге отверстие сопла, подающее пластик, оказывается заблокированным. Одним из признаков того, что неправильно выставлено расстояние, является то, что материал не экструдируется при печати 1-2 слоя, но уже к 3-4 все нормализуется. Также этот процесс сопровождается посторонними звуками, обычно щелчками. Проблема быстро решается калибровкой экструдера по оси Z. Произведите регулировку расстояния между соплом принтера и рабочим столом согласно инструкции к вашему устройству.

Материал стачивается о шестеренку привода

В большинстве современных принтеров для перемещения филамента используется особое устройство с шестеренкой. Украинский 3D принтер не является в этом случае исключением. Шестеренка входит в зацепление своими зубцами с филаментом и перемещает нить на столько, на сколько нужно. Если вдруг на столе возле 3Д принтера вы обнаружите пластиковую крошку или заметите, что часть материала куда-то бесследно исчезает, то, вероятнее всего, часть филамента «сгрызла» шестерня. Сделайте попытку продвинуть пластик вручную и позаботьтесь о том, чтобы в настройках принтера были указаны верные параметры скорости печати, настроек экструдера, характеристик ретракта, в зависимости от материала, который используется для печати. Чтобы контролировать процесс печати, а также производить очистку, экструдеры выпускают открытыми, и пользователь может видеть, как происходит печать.

Засорение экструдера


Если все указанные выше симптомы проблем не подходят для Вашего случая, то, скорее всего, Вы имеете дело с засорением экструдера. Произойти это может из-за попадания в сопло различного мелкого мусора или из-за того, что горячий пластик находится внутри сопла слишком длительное время.


Наиболее простой и распространенный способ очистки сопла при засорении – очистка при помощи специальной иглы. Произведите нагрев экструдера до 190 градусов и вставьте иглу в сопло строго вертикально. Иглу вы можете приобрести в нашем магазине.

Второй способ очистки более сложный и связан с разборкой экструдера. Разборку этого устройства выполняют также после нагрева до рабочей температуры. После извлечения сопла попробуйте продавить пластик без него. Если при отсутствии сопла пластик проходит без проблем, значит эта деталь засорена и нужно принять одну из мер. Например, заменить сопло или произвести его механическую или химическую прочистку.

Если пластик задерживается в экструдере даже при снятом сопле, то это означает, что причина неисправности в повреждении термобарьера. В термобарьере расположена трубка из тефлона, имеющая внутренний диаметр 20 мм, благодаря этому элементу достигается максимальный уровень скольжения. Но трубку несложно повредить, особенно если применяется пластик низкого качества или если экструдер работает при критических для него температурах около 230 градусов. При перегреве этой тефлоновой детали ее внутренний диаметр уменьшается и это приводит к затруднениям при проходе пластиковой нити.

Произвести замену тефлоновой трубки можно как отдельно, так и в составе нового термобарьера экструдера.

3D модель не прилипает к платформе. Адгезия с материалом недостаточна

Одним из важных условий качественной 3Д печати является надежное приклеивание первого слоя материала к платформе, которая служит своеобразным фундаментом для всего изделия. Если первый слой не закрепился на площадке, то, увы, дальнейшая печать вряд ли обрадует вас своим результатом. Но способов, которые могут решить эту проблему, как и причин ее возникновения, достаточно много и мы их сейчас рассмотрим.

Печатная платформа нуждается в выравнивании

Платформа, на которой производится печать, всегда должна занимать идеально ровное положение в пространстве и не иметь никаких перекосов. Если перекос существует, то сопло будет располагаться ближе к одному краю платформы чем к другому, что не способствует идеальному качеству работы. Для точной печати необходимо выставить платформу, для чего используются различные приложения. Наиболее простым и распространенным методом калибровки столика можно считать утилиту «Bed leveling wizard» из набора инструментом «Tools».

В инструкции к каждому принтеру обязательно существует раздел, где описывается способ выравнивания платформы.

Увеличенный зазор между платформой и соплом

После того как платформа была выровнена, нужно убедиться в том, что сопло находится на допустимом расстоянии от площадки. Выставьте экструдер на необходимом для качественной печати расстоянии. Опыт показывает, что наиболее эффективно экструдер работает в случае, если первый слой филамента вдавлен в площадку. Для того, чтобы не насести платформе повреждения, используйте для ее защиты скотч голубого цвета. Платформу можно откалибровать, не прибегая к сложным настройкам и специальному программному обеспечению. Для этого просто припаркуйте головку принтера и произведите отключение моторов привода. После этого можно легко перемещать печатающий блок и выбрать оптимальный зазор не составит труда. Если по каким-либо причинам правильно откалибровать платформу не получилось, всегда можно изменить в настройках слайсера (Cura, Repetier Host) количество материала для первого слоя печати.

Слишком быстрая печать первого слоя

При печатании первого слоя модели важно, чтобы он максимально прочно закрепился на площадке – только в этом случае изделие получится качественным. Но при высокой скорости печати первый слой просто не успевает закрепиться, поэтому начинать работу рекомендуют на небольших скоростях. Функция управления скоростью имеется во всех современных программах, предназначенных для управления работой 3Д принтера. Найти эту опцию несложно, как правило, управление скоростью находится в меню Edit Process Settings - First Layer Speed. Установив значение скорости в начале печати в районе 50%, вы обеспечите снижение скорости печати именно для первого слоя модели.

Настройки температуры

Пластик, используемый для трехмерной печати, имеет свойство деформироваться при остывании. Особенно заметно это в случае с материалами ABS. При температуре печати 230 градусов филамент, попадая на площадку, будет остывать достаточно быстро. 3D принтеры, представленные в наши дни на рынке, оснащены специальными вентиляторами, основная задача которых – это охлаждение трехмерной модели. Если этот процесс слишком интенсивен, то изделие может остывать неравномерно и при этом деформироваться. В результате этого часто края модели отлипают от рабочей площадки. Если вы увидели, что изначально плотно прилегающая к столику основа модели начала отлипать по краям от платформы при охлаждении, то это является важным сигналом о том, что охлаждение происходит слишком быстро и его настройки нужно изменить.

В некоторых случаях охлаждающий вентилятор отключают в начале печати, чтобы не переохладить самые важные первые слои. Настройки охлаждения для каждого периода печати можно ввести в меню Edit Process Settings – Cooling. Можно установить такой режим, что при печати первого слоя вентилятор будет отключен, но уже к пятому слою выйдет на свою обычную производительность.

Печать пластиком ABS обычно подразумевает полную остановку вентилятора на протяжении всей печати, поэтому в этом случае в настройках охлаждения выставляют параметр 1-0 %. Иногда на качество печати влияют сквозняки в помещении – в этом случае позаботьтесь про защиту рабочей зоны.

Если платформа принтера нагрета до определенной температуры, и она поддерживается в процессе печати, то искажений в начале работы не будет. Для пластиков PLA лучшей температурой являются 60-70 градусов, для материала ABS – до 100-120 градусов. Настройки температурного режима можно ввести в меню Edit Process Settings – Temperature. Чтобы установить режим, нужно выбрать платформу и указать желаемую температуру первого слоя.

Применение различных лент, клея и различных материалов для устройства покрытия платформы

Различные виды пластика имеют разные свойства. Их взаимодействие с поверхностью платформы тоже может быть разным. Если вы собираетесь производить печать прямо на алюминиевой или стеклянной платформе, то перед началом работы нужно убедиться, что она идеально чистая, и обезжирить ее спиртом или другой жидкостью с похожими свойствами. Такой уход за поверхностью улучшит адгезию и обеспечит качественное нанесение первого слоя изделия.

Если обеспечить сцепление не удается, то лучше использовать рафт или брим. Опция «brim», включить которую можно в настройках программы для печати, предназначена для изготовления миниатюрных моделей, площадь основы которых слишком мала, чтобы обеспечить хорошее сцепление с основой. Поэтому, чтобы обеспечить надежный контакт с платформой, принтер сначала печатает круги, схожие с полями шляпы. Включается функция в Additions - Use skirt/brim. Функция «raft» подразумевает перед началом печати самой модели создание специальной подложки из материала.

При 3D печати подается недостаточное количество пластика


Любая программа для управления трехмерной печати имеет настройки, которые определяют количество пластика за единицу времени, подаваемого экструдером при печати. Но из-за отсутствия обратной связи программы с экструдером, принтер не как не оповещает ее о том, сколько на самом деле филамента подается на печать. Различные помехи вызывают задержку подачи, которую называют недоэкструдированием. В этом случае между отдельными слоями модели появляются небольшие зазоры. Наиболее эффективным способом проверки качества печати является изготовление куба с ребром, длина которого составляет минимум 20 мм, и который имеет три контура. Рассмотрите соединения между контурами объекта, и если вы заметили щели, то значит, речь идет именно о недоэкструдировании при печати. Если щелей нет – то причина брака кроется в других неполадках оборудования. Если вы определили недоэкструдирование, то его причины могут быть в следующем.

Диаметр нити материала в слайсере выставлен неправильно

Узнайте, правильно ли программа производит определение толщины нити пластика при работе. Для этого нужно перейти в меню Edit Process Settings – Other. Обратите внимание, что на большинстве катушек филамента производителем нанесер диаметр нити, например 1,75 мм. Установите правильный параметр толщины в настройках, так как значение по умолчанию в разных приложениях могут отличаться, например, в Cura стоит диаметр 3 мм.

Низкий коэффициент экструдирования

Если вы уверены, что толщина пластика выставлена верно, а недоэкструдирование продолжается, то причину брака нужно искать в других настройках. Очень часто виноват заниженный коэффициент экструдирования. Иногда этот параметр называют коэффициентом расхода материала при печати. Изменить этот параметр можно в Edit Process Settings – Extruder. При увеличении показателя с 1.0 до 1.05 при печати используется на 5% больше филамента. Для материала PLA коэффициент расхода устанавливают равным 0,9, а в случае с пластиком ABS нужно использовать значение равное 1.0. После изменения коэффициента снова распечатайте тестовый кубик и посмотрите что изменилось.

Проблемы с механикой

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

Застревание нити филамента

Иногда при повреждении трубки из тефлона приходится принимать временные меры для обеспечения равномерной подачи пластика. Одним из таких временных способов является смазыванием маслом прутка, чтобы улучшить скольжение. Автоматизация этого процесса устроена чрезвычайно просто – перед входом в тефлоновую трубку закрепляют небольшую губку, смоченную маслом. Зафиксировать ее можно при помощи самой обычной прищепки.

Проблема: экструдируется излишне много пластика


Излишек пластика (или переэкструзия) является проблемой, прямо противоположной предыдущей. При неправильных настройках процесса печати, экструдер будет подавать слишком много пластика. Такой повышенный расход в первую очередь сказывается на размерах распечатываемой модели. В первую очередь, при обнаружении такого дефекта печати, нужно в программе проверить коэффициент экструдирования и другие настройки, связанные с количеством подаваемого материала. О настройках этих характеристик экструзии подробно рассказано выше.

Проблема: щели и отверстия в верхнем слое модели


Для экономии материала, подавляющее большинство напечатанных на 3Д принтерах изделий, изготавливают в виде пористого наполнителя с более плотной наружной оболочкой. Обычно внутренне наполнение имеет плотность всего 30%, поэтому очень важно, чтобы каркас изделия был сплошным и плотным. Для того, чтобы увеличить плотность, в настройках программы для печати указывают количество сплошных слоев, размещенных вверху и внизу детали. Распечатав самый обычный тестовый куб, для которого заданы 5 слоев сплошного материала вверху и внизу, вы получите модель, с большим количеством пустот, но при этом жесткую и качественную. Но иногда бывает и так, что верхние, жесткие слои имеют зазоры, щели и поры. Чтобы устранить эти дефекты, необходимо прибегнуть к изменениям некоторых настроек программы для печати.

Верхние слои получаются не сплошными

При возникновении данной проблемы следует внимательно ознакомиться с настройками верхних слоев. Если верхний слой находится над незаполненным пространством, то его целостность часто может нарушаться. Важно учесть, что верхний слой должен полностью прикрывать нежелательные пустоты. Во избежание провисаний и других деформаций при печати стоит делать верхний слой достаточно прочным. А для этого не рекомендуется использовать толщину сплошной части меньше 0,5 мм. Отталкиваясь от этой величины, можно подсчитать количество необходимых слоев.

Поэтому при образовании деформаций нужно увеличить количество сплошных слоев, это поможет избавиться от проблемы. Все необходимые настройки можно отыскать в меню «Редактирование настроек» - «Слой».

Низкий уровень прочности заполнения

Для всех верхних слоев крайне важно наличие прочного фундамента. Заполнение внутренних полостей и выступает опорой для всей фигурки. Таким образом, при недостаточном заполнении можно получить слишком пустую модель. Если в настройках установлено заполнение на 10%, следовательно, 90% фигуры будут пустыми. Для качественной печати последующих сплошных слоев такого заполнения недостаточно. При увеличении количества верхних цельных слоев, нужно увеличивать заполнение модели.

Малое количество подаваемого материала

При недостаточном экструдировании часто возникает проблема с деформациями верхних слоев. Это обусловлено подачей малого количества пластика, в то время как программа настроена на большее количество. Принцип решения данной проблемы был описан выше.

Проблема: появление паутинок


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

Обычно бороться с паутинками помогает функция «Втягивания». При завершении работы на данном участке, весь оставшийся материал «Втягивается» в сопло. После перехода на новый участок, в экструдере происходит повторное продавливание пластика и работа продолжается. Для применения данной функции необходимо зайти в «Редактирование настроек» и выбрать «Втягивание», во вкладке «Экструдер» задать данную опцию для всех используемых приборов.

Необходимо обратить внимание на параметры «Втягивания» и остальные настройки, которые помогут избавиться от нежелательных нитей.

Выбор дистанции

Определение дистанции «Втягивания» крайне важно для выполнения качественной работы. Этот параметр устанавливает, какое количество материала будет «втянуто» обратно. Если дистанция будет недостаточной, есть вероятность протекания сопла и образования паутинок. Рекомендуется использовать дистанцию до 2 мм. Начинать можно с установки в 1 мм. Пронаблюдав результат, при необходимости дистанцию можно увеличить. При работе с мягкими пластиками могут проявляться проблемы с подачей материала после «втягивания».

Установка скорости «втягивания»

Скорость «Втягивания» материала в сопло тоже играет важную роль. На низких скоростях может возникнуть проблема со «стеканием» филамента при перемещении рабочей части прибора. На высоких скоростях может происходить разъединение разогретого пластика, что повлечет за собой неприятные последствия. Рекомендуется устанавливать скорость в пределах 1200-6000 мм/мин. Часто в настройках 3D принтера можно отыскать шаблоны для начальной работы, а в процессе их значения можно будет редактировать и добиваться необходимого результата.

Высокая температура экструдера

После настройки работы ретрактора, нужно обратить внимание на температурные показания. При слишкой высокой температуре пластик может начать активно вытекать из сопла. При низкой температуре материал может затвердеть и плохо проходить через рабочее отверстие.

В случае, когда с настройками «Втягивания» все в порядке, а нити все равно образуются, следует понизить температуру на несколько градусов. Это, скорее всего, повысит качество фигурки. Настроить данный параметр можно в меню «Редактирование настроек» - «Температура». Температуру стоит выбирать для конкретного экструдера на необходимый промежуток работы.

Нити появляются при работе на больших открытых расстояниях

Если ранее примером служили работы экструдера на малых расстояниях, то сейчас рассмотрим перемещение его на более значительные дистанции. Чем расстояние больше, тем существеннее может оказаться протечка. Во избежание перемещений экструдера на большие расстояния нужно построить наиболее оптимальную траекторию. Нити просто не смогут появляться, так как работа будет проходить непосредственно на печатаемой поверхности.

Проблема: перегрев при работе принтера


Работы ведутся обычно с пластиком, нагретым в диапазоне 190-240 градусов. При такой температуре он становится пластичным и принимает любую необходимую форму. При снижении температуры материал затвердеет и останется в сформированной форме.

Для качественной печати важно найти оптимальную рабочую температуру пластика, чтобы он легко вытекал из сопла, и своевременно застывал, не теряя формы. Если температура будет выше нужной, форма моделек может деформироваться, как показано на картинке. Есть ряд причин, которые могут привести к данной проблеме.

Скорость охлаждения

Часто причиной перегрева пластика служит низкая скорость его охлаждения. Это проявляется в том, что материал успевает изменить форму во время остывания. Иногда есть необходимость использовать быстрое охлаждение. Если принтер оснащен системой вентиляции, стоит увеличить мощность её работы, что можно сделать в разделе «Редактирование настроек» - «Охлаждение».

Высокая скорость работы принтера

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

Задать параметры скорости работы можно в меню «Охлаждение» - «Задать скорость». Там можно установить автоматическое уменьшение скорости при работе с маленькими слоями. Это обеспечит наилучшее охлаждение и высокое качество модели.

Когда ничего не помогает

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

Проблема: слои могут смещаться и не выравниваться


Система 3D принтера не имеет обратной связи. Таким образом, аппарат работает по заданным координатам и не может автоматически их исправлять при необходимости. Чаще всего заданных параметров достаточно для качественной работы принтера. Однако если происходят какие-то нарушения, прибор не сможет их распознать и внести поправки.

Если при работе произошли какие-то непредусмотренные смещения, аппарат продолжит работать по заданным параметрам. Нижеперечисленные пункты раскроют причины смещения слоев при печати модели. Следует не забывать, что при наличии ошибки исправить её нужно самостоятельно, поскольку прибор сделать этого сам не сможет.

Слишком быстрое передвижение работающей головки

Моторы могут не справляться с заданной скоростью печати. При этом часто возникают характерные щелчки, они сообщают, что привод не доходит до заданного положения. В этом случае может сместиться часть слоев относительно напечатанных ранее. При подозрении данной причинуы, следует снизить скорость вполовину и внимательно проследить за изменениями. Настроить параметры скорости можно во вкладке «Редактировать настройки» - «Другое». Если изменение параметров не принесло результата, следовательно, причина смещения другая.

Механические неполадки

При наличии механических неполадок также могут наблюдаться смешения слоев. Печатающая головка управляется при помощи ремней. Они часто снашиваются и деформируются. Это может стать причиной изменения точности работы прибора. Сношенные ремни могут соскакивать и смещать положение рабочей части аппарата. Идеальным является тот вариант, когда ремни были хорошо натянуты, но не препятствовали работе моторов. При смещении слоев первым делом следует проверить целостность ремней и их правильное натяжение.

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

разделение слоев


Работа 3D принтера основана на производстве одного слоя модели в определенный момент. Фигуры выстраиваются за счет наложения большого количества слоев. Крайне необходимо, чтобы все шары модели были надежно скреплены между собой. Если с этим возникают проблемы, то фигурка может начать расслаиваться и ломаться. Причин для данной проблемы может быть несколько, рассмотрим их.

Высота слоя

Диаметр сопла, через которое подается пластик, достаточно мал. Это дает возможность печатать весьма компактные детали. Его размер составляет всего 4 мм., в связи с чем при работе возникают определенные ограничения. Если высота слоя подобрана плохо, слои могут недостаточно прижиматься один к другому - это может привести к расщеплению и нарушению целостности фигурки. Рекомендуется использовать высоту слоя на 20% меньше размера сопла. При появлении расслаивания сразу стоит проверить отношение размеров слоя и сопла.

Печать при низкой температуре

При печати моделей стоит уделять особое внимание температуре пластика. Материал с низкой температурой будет плохо скрепляться с остальными слоями. Если проверив высоту слоя, проблема не была решена, необходимо обратить внимание на температуру пластика. Выставлять её следует в зависимости от типа материала. Так, для ABS идеально подойдет температура в диапазоне 220-235 градусов.

Проблема: прекращение подачи материала и скачивание пластика


Для направления и выталкивания пластика в экструдере предусмотрена приводная шестеренка. Если по каким-то причинам пластик застрянет, а шестеренка продолжит свою работу, то она просто сточит весь филамент. Часто проблема заключается в засорении рабочего отверстия экструдера. Для определения причин неисправности достаточно внимательно осмотреть зубчатую шестеренку. Конструкция прибора позволяет это сделать без затруднений. Есть несколько способов устранения данной проблемы.

Повышение температуры экструдера

Подняв рабочую температуру всего на 5 градусов, можно избавиться от причин засорения сопла. Настроить необходимые параметры можно в меню «Редактировать настройки» - «Температура».

Уменьшить скорость работы

Если после повышения температуры ситуация не изменилась, можно попробовать снизить скорость печати. При уменьшении скорости вращения мотора пластик перестанет стачиваться. Рекомендуется снизить скорость вполовину. Сделать это можно в меню «Редактировать настройки» - «Другое» - «Изменение скорости принтера». Если и это не помогло, остается последний способ.

Проверка сопла

Если все предыдущие методы были неэффективны, остается только проверить засоренность сопла. Конструкция экструдера позволяет легко и быстро сделать это.

Проблема: засорение прибора


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

Причин появления засорения может быть множество: попадание пыли в сопло, некачественный материал, перегрев материала и другие внешние факторы. Есть несколько методов борьбы с засорением экструдера.

Вручную протолкнуть рабочий материал

При возникновении засорения можно попробовать решить проблему локально. Перед началом манипуляций следует прогреть экструдер до рекомендуемой температуры. После этого в меню найти опцию «Контроль помех», применив её, пластик начнет двигаться внутри прибора. Продвинув материал на 10 мм, начнет двигаться привод. После этого нужно еще немного продвинуть пластик вручную. Как правило, данных действий достаточно для устранения неполадки.

Переустановка рабочего материала

Если способ проталкивания филамента вручную не помог, нужно извлечь его из принтера. Для этого следует прогреть экструдер, воспользоваться функцией «Втягивания» и, применив физическую силу, извлечь весь пластик из принтера. Делать все следует аккуратно, чтобы не повредить прибор. Затем нужно удалить поврежденную часть пластика, а целую – вернуть обратно в принтер. Дальше, наблюдая работу экструдера, можно сделать вывод – удалось ли справиться с неполадкой.

Очистка сопла

Если все предыдущие манипуляции не помогли устранить проблему, необходимо прочистить сопло. Легче всего это сделать, используя специальную иглу.

Проблема: принтер неожиданно перестает печатать


Если работа началась без каких-либо особенностей, а во время печати принтер внезапно остановился, может быть несколько причин, которые это спровоцировали.

Закончился материал для работы

Наиболее частая причина внезапной остановки принтера – закончился запас пластика. Как бы банально это не звучало, но иногда даже у опытных пользователей случается эта проблема. Для продолжения работы необходимо проверить принтер и, при необходимости, добавить филамент.

Стачивание пластика о шестеренку

Так как при работе экструдера мотор все время вращается, то возникает угроза стачивания пластика. Эта проблема появляется при слишком высоких скоростях печати или при экструдировании большого количества пластика. Если шестеренка сточит весь филамент, ей не за что будет зацепиться. Для предотвращения данной проблемы следует отрегулировать скорость работы принтера.

Засорение экструдера

Если предыдущие манипуляции не помогли избавиться от проблемы, стоит проверить, не засорился ли экструдер. Это может произойти из-за неоднородного пластика, пыли на катушках и низкой температуры печати. Избавившись от причины, можно наладить работу принтера.

Затрудненное «протягивание» пластиковой нити

Иногда при работе принтера возникают затруднения с «протягиванием» рабочей нити по тефлоновой трубке. Чтобы облегчить работу прибора, следует поместить бобину на заднюю стенку 3D принтера. Для этого нужно будет снять верхнюю акриловую крышку.

Высокая температура мотора

При сильном нагреве принтер может дать сбой и прекратить печать. Часто перегрев происходит в закрытой камере для печати. Для устранения возможности перегрева отдельную камеру необходимо оснастить вентиляторами, которые помогут поддерживать оптимальную температуру при работе прибора. А также, открывая и закрывая двери корпуса, можно вручную снизить нагрев принтера.

Проблема: некачественное заполнение моделей

Надежность фигурки обеспечивается качественным заполнением. Следовательно, если внутри рыхлое и плохое наполнение, то модель будет непрочной. Есть несколько вариантов, которые помогут устранить проблему с некачественным заполнением фигурки.

Коррекция шаблонов

Наиболее частая проблема кроется в неправильном подборе шаблонов заполнения. Следовательно, именно с их коррекции стоит начинать. Настройки данного параметра стоит искать в меню «Шаблоны внутренней заливки». Некоторые шаблоны имеют особо прочную структуру, важно тщательно изучить особенности каждого из них. Для получения прочного заполнения, рекомендуется использовать шаблоны: «Решетки», «Треугольники», «Соты».

Снижение скорости печати

При слишком быстрой печати экструдер может не справляться с заданной работой. При этом наполнение модели будет непрочным и похожим на паутинку. Если шаблоны подобраны удачно, а качество заполнения недостаточное, следует попробовать снизить скорость печати принтера.

Увеличить ширину слоя для печати заполнения

Улучшить характеристики внутреннего заполнения поможет функция «увеличения ширины экструдирования». Она поможет сделать внутренние слои более прочными, таким образом, вся модель станет более надежной. Найти нужные настройки можно в меню «Редактирование параметров» - «Заполнение». Для увеличения толщины внутреннего заполнения вдвое, нужно задать параметр в 200%.

неоднородная поверхность на распечатанной модели


Рабочий процесс принтера построен таким образом, что экструдер периодически останавливается и перемещается. Если все работает правильно, то при перемещениях не будет возникать проблем, однако, при частом включении и выключении случаются неполадки.

Иногда при тщательном осмотре модельки можно обнаружить маленькие натеки, в этом месте экструдер начал свою работу. Подобные натеки часто мешают совмещать детали и портят внешний вид фигурки. Есть несколько методов борьбы с данной проблемой.

Ход накатом и редактирование функции «Втягивания»

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

Если проблемы начинаются в самом начале работы, необходимо корректировать «втягивание». В меню выбрать «Редактирование настроек» - «Экструдер» - «Перезагрузка дистанции». Последняя настройка отвечает за расстояние «втягивания» пластика по окончанию работы экструдера.

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

Если проблемы в работе начались по окончанию экструдирования, необходимо обратить внимание на другой параметр, название его – «Движение накатом». Он позволяет выключить печатающий элемент еще до окончания работы с периметром, таким образом, снизить давление внутри сопла.

Избегаем лишнего «втягивания»

Если подтеки образуются при отводе сопла назад, актуальны предыдущие меры борьбы с деформациями. Иногда есть возможность попросту предотвратить это движение. Для этого нужно, чтобы печать шла ровно в одном направлении и не меняла его.

Настроить нужный параметр можно во вкладке «Продвинутый» - «Контроль движения». Там сконцентрированы все основные настройки, контролирующие движения экструдера. Там же можно подобрать параметры «втягивания». Есть возможность настроить «втягивание» пластика только в период передвижения по открытому пространству.

После настраивания данной функции, следует уменьшить выход экструдера за рабочий периметр. Настроить данный параметр можно в меню «Избегание пересечения контура при движении в работе».

Нестационарное «втягивание»

Некоторые 3D принтеры оснащены одной очень полезной функцией, которая может помочь справиться с возникшей проблемой.

Специальные программы дают возможность «втягивать» пластик прямо во время работы, таким образом, уменьшая риск появления сгустков. Перед включением данной функции следует настроить принтер. Для начала в «Редактировании параметров» следует проверить включена ли функция «Протирание сопла». Это обеспечит возможность очищать рабочее отверстие по окончанию печати на каждом участке фигурки.

Затем нужно включить «Протирание» на дистанции 5 мм. После этого можно акт ивировать «втягивание» во время движения. Этот параметр заблокирует стационарное «втягивание», так как сопло будет очищаться во время противохода. Скорее всего, проделанные манипуляции помогут решить проблему с подтеками.

Старт печати модели

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

Проблема: щели между контуром и внутренним наполнением


Обычно слои модельки представляют собой комбинацию внутреннего наполнения и каркаса. Параметры слоев зависят от назначения и места расположения. Слои каркаса четко повторяют контуры будущей фигуры. Все остальные слои – наполнение. Как правило, они создаются по имеющимся шаблонам и печатаются на высоких скоростях.

Так как эти два компонента печатаются по разным шаблонам, то крайне важно, чтобы они хорошо склеились. Иначе начнут появляться щели между каркасом и наполнением. Если вы столкнулись с данной проблемой, есть несколько причин, которые могли к ней привести.

Перекрытие контура недостаточное

Специальные программы имеют функцию регулировки склеивания контура с внутренним наполнением. Они контролируют, сколько именно наполнение будет перекрывать периметр. Указывается данный параметр в процентном соотношении от ширины экструдирования. Например, задав показатель в 30% перекрытие периметра, соответственно, наполнение будет на 30% заходить на часть контура.

Высокая скорость печати

Как правило, наполнение печатается значительно быстрее, чем периметр модели. Если работа будет идти слишком быстро, может нарушаться сцепление с контуром. Если предыдущие методы не устранили проблему, можно попробовать уменьшить скорость печати внутреннего наполнения. Нужные настройки можно найти в меню «Редактирование параметров» - «Другое» - «Управление скоростью печати».

загибы на углах и неровности


Часто при перегреве уголки модели могут начать загибаться. Это происходит из-за того, что пластик не успевает остывать и начинает деформироваться. Для устранения данной неточности в работе достаточно отрегулировать температуру печати и дать достаточно времени для остывания слоев. Быстро решить этот вопрос поможет дополнительный обдув модели.

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

Проблема: царапины на поверхности


Достоинство печати на 3D принтере – то, что все модели строятся послойно за определенный промежуток времени. Это обусловлено перемещением сопла над всей рабочей поверхностью при соблюдении высокой скорости экструдирования. Часто случается, что сопло оставляет царапины на последнем слое модели. Есть несколько причин, по которым работа может быть нарушена.

Экструдируется большое количество филамента

Столкнувшись с подобной проблемой, первым делом следует проверить количество экструдируемого пластика. Если его больше чем нужно, то слои будут выходить слишком толстыми. В результате сопло при перемещении будет цепляться за поверхность и оставлять царапины. Для устранения возникшего неудобства достаточно откорректировать объем экструдированого пластика.

Подъем по вертикали

Если количество пластика в работе не превышает норму, то проблема может решаться за счет вертикального подъема. Этот параметр отвечает за подъем сопла на определенное расстояние перед началом его передвижения. После перемещения сопла в заданную точку, оно опускается в рабочее положение. При использовании функции подъема сопла, можно избежать царапин на поверхности модели. Необходимые настройки находятся в меню «Редактирование параметров» - «Экструдер». Нужно включить «втягивание» и установить высоту вертикального подъема.

дыры между краями слоев


Особенность 3D печати в том, что предыдущий слой становится фундаментом для следующего. Для получения качественной модели необходимо правильно отрегулировать количество экструдируемого пластика.

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

Недостаточное количество периметров

При появлении щелей при печати можно попробовать добавить периметры, это должно укрепить основание и обеспечить хорошую опору для верхних слоев. Толщина стенок также играет важную роль в укреплении фундамента. Если раньше использовалось только два периметра, то следует увеличить их число до четырех.

Верхние слои не совершенные

Причина появления трещин между слоями может быть связана с тем, что верхние слои недостаточно прочные. Тонкие слои – плохая опора для дальнейшего строения. В таком случае стоит увеличить толщину печатаемых слоев.

Недостаточное заполнение

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

Проблема: выпирающие слои


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

Неравномерная работа экструдера

Как правило, подобные проблемы возникают из-за некачественного пластика. При неоднородности материала могут возникать колебания в диаметре филамента, в связи с этим изменится толщина слоев. Некоторые слои будут толще, другие тоньше и это приведет к дефектам на внешней части модели. Во избежание данной проблемы следует отдавать предпочтение качественному пластику.

Распаковываем его в подготовленную папку.

Теперь скачиваем Arduino IDE для исправления и загрузки прошивки в 3D принтер. Ссылка . Давим на Windows Installer . Скачивается установщик arduino-1.6.5-r2-windows.exe . Запускаем его и устанавливаем среду Arduino IDE .

Переходим в папку с прошивкой и запускаем файл Marlin.ino .

Открывается среда Arduino IDE с прошивкой. Нам нужна вкладка Configuration.h .

В начале мы видим ссылки на калибровку 3D принтера. Пролистываем дальше и читаем: "Это конфигурационный файл с основными настройками. Выберите тип контроллера, тип температурного датчика, откалибруйте перемещения по осям и сконфигурируйте концевые выключатели ."

Начнём с выбора контроллера (MOTHERBOARD). Список контроллеров находится во вкладке boards.h . Давим на треугольник в правом верхнем углу и выбираем boards.h .

Теперь посмотрим на установленную электронику. Вот самые распространённые типы плат :

Melzi

Sanguinololu

RAMPS 1.4

У меня стоит RAMPS 1.4 .

Следующим выбираем датчик температуры - термистор , для хотэнда и стола. Видим большой список "//// Temperature sensor settings:". У меня стоит хотэнд E3D-v5 и китайский термистор на столе. Для E3D-v5 я выбираю "// 5 is 100K thermistor - ATC Semitec 104GT-2", для стола "// 1 is 100k thermistor - best choice for EPCOS 100k". Если тип термистора неизвестен можно выбрать 1, а если температура не понравится можно выбирать любой и тестировать. Меняю.

100K thermistor - ATC Semitec 104GT-2

Обычный китайский термистор 100К

У Ultimaker Original в хотэнде стоит термопара . При подключении термопары важно соблюдать полярность. Тип сенсора "-1".

Если в хотэнде используются фторопластовые части, то температуру следует ограничивать, во избежания повреждения хотэнда. Максимальная рабочая температура фторопласта 260 градусов. Если хотэнд цельнометаллический, то можно ставить 320 градусов (если нужно).

Ограничение максимальной температуры хотэнда "#define HEATER_0_MAXTEMP 275".

Минимальная температура ограничивается для механической защиты хотэнда от выдавливания холодного пластика.

Ограничение минимальной температуры хотэнда "#define EXTRUDE_MINTEMP 170".

Настройка концевых выключателей

Если сработал концевик, то мотор не должен дальше двигать каретку. Концевики нужны для ограничения перемещения кареток и инициализации начальной точки HOME . При сработанном концевике каретка может двигаться только от него.

Нам нужно узнать где они расположены. Как это узнать? Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN , если в правую дальнюю верхнюю - сработают MAX . У меня в положении HOME находятся три концевых выключателя MAX , поэтому мои установки

// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

Команда M119 (например в ) показывает состояние концевых выключателей. У меня концевые выключатели стоят только в позиции HOME на MAX .

Так должно быть:

В положении HOME

В положении отличном от HOME по всем осям

Если у Вас не получилось как у меня, то состояние концевых выключателей по выбранной координате нужно инвертировать , это можно сделать в прошивке или перепаять провода. З начения false или true. Мне ничего менять не потребовалось.

const bool X_MIN_ENDSTOP_INVERTING = true;

const bool Y_MIN_ENDSTOP_INVERTING = true;

const bool Z_MIN_ENDSTOP_INVERTING = true;

const bool X_MAX_ENDSTOP_INVERTING = true;

const bool Y_MAX_ENDSTOP_INVERTING = true;

const bool Z_MAX_ENDSTOP_INVERTING = true;


Изменение направления вращения шаговых двигателей , значения false или true . Правильные перемещения сопла относительно стола:

  • По оси X - влево "-", вправо "+".

  • По Y - вперёд "+", назад "-".

  • По оси Z - сближение "-", удаление "+".

  • Экструдер. Extrude - выдавливание нити, Reverse (retract) - откат, втягивание нити.

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true

Установка габаритов перемещения , после инициализации в положении HOME . Здесь мы задаём габариты максимальных перемещений по осям X и Y, а также настройку сопла относительно стола.
Если при касании стола соплом срабатывает концевой выключатель (MIN ), как у Ultimaker Original, то поднастройка сопла относительно стола выполняется перемещением концевого выключателя, а в "#define Z_MAX_POS" записываем значение координаты при максимальном удалении сопла от стола. Координату можно узнать по команде М114 или посмотрев на экран дисплея.
Если концевой выключатель по Z срабатывает при максимальном удалении сопла от стола (MAX ), то нужно найти габарит по Z самостоятельно. Устанавливаем значение "#define Z_MAX_POS" изначально больше нормы, например 250 при габарите 200 мм. Опускаем сопло до касания стола и на дисплее (или по команде M114 ) видим координату больше нуля, теперь вычтем из установленного большого значения полученную координату и получим габарит по Z, который теперь запишем в "#define Z_MAX_POS". По итогам печати первого слоя можно будет подкорректировать это значение.

Можно подкорректировать скорость перемещения в положение HOME . Обычно занижают скорость по оси Z, если стоят кривые шпильки.

#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)

Переходим к самому важному. Настройка шагов перемещения по осям . Экструдер тоже ось. Мои настройки:

#define DEFAULT_AXIS_STEPS_PER_UNIT {(200*16)/(2.0*20),(200*16)/(2.0*20),200*1 6/1.25,(3200 * 39.0)/(11.0 * 6.75 * 3.45)}

Теперь посмотрим, как я их получил . По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микрошагов на шаг (устанавливается перемычками на плате), приводной ремень GT2 с шагом 2 мм, 20-ти зубые шкивы, итого получаем формулу (200*16)/(2.0*20). По оси Z стоят шпильки М8 с шагом резьбы 1,25 мм, итого формула 200*16/1.25.

Находим спецификации (даташит) на установленные шаговые двигатели . Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей устанавливаемых в домашние 3D принтеры.

Профили ремней, обычно используемых на 3D принтерах и их шаг. Оригинал , страница 61.

Шкив

Как померить шаг винта ? Замеряем участок винта и считаем на нём витки, затем длину участка в миллиметрах делим на количество витков 20/16=1.25 мм. Для более точного результата замеряем максимальный участок винта.

Настройка экструдера зависит от коэффициента редукции и диаметра подающей шестерни. Подберём экспериментально, после первой заливки прошивки в 3D принтер. Откручиваем сопло и уменьшаем ограничения минимальной температуры сопла до 5 градусов "#define EXTRUDE_MINTEMP 5". Теперь экструдер будет работать при холодном сопле , что нам и нужно. Пока не меняем настройки экструдера. Для настройки я использую программу . Для начала ставим 50 мм и скорость 100 мм/сек. 50 мм - это длина прутка, проходящего через экструдер. Измеряем длину прутка прошедшего через экструдер линейкой или штангенциркулем.

Подбирая настройку экструдера добиваемся точной цифры на разумной длине прутка, например 300 мм. После настройки вернём ограничения минимальной температуры "#define EXTRUDE_MINTEMP 170" .

Следующие цифры - это ограничение максимальной скорости перемещения по осям . На X и Y я ставлю 200 мм.

#define DEFAULT_MAX_FEEDRATE {200, 200, 5, 25}

Настройка ускорения перемещений по осям . При больших ускорениях возможны пропуски шагов. Можно подбирать, гоняя в программе Pronterface по осям на заданной скорости. Вот мои настройки.

#define DEFAULT_MAX_ACCELERATION {1000,1000,100,10000}
#define DEFAULT_ACCELERATION 1500

Осталось активировать LCD дисплей с SD картой . Свой дисплей я нашёл на RepRap.org и идентифицировал как RepRapDiscount Smart Controller .

Раскомментируем следующие строки. То есть убрать двойные слэши. Строка за "//" не используется и является только комментарием. Когда убираем слэши строка принимает участие в компиляции прошивки и задействует её функции.

#define ULTRA_LCD
#define SDSUPPORT
#define ULTIPANEL
#define REPRAP_DISCOUNT_SMART_CONTROLLER

Для подключения LCD к Ultimaker нужно раскомментировать только одну строку

#define ULTIMAKERCONTROLLER

Есть ещё один твик для повышения точности срабатывания некоторых концевых выключателей. При настройке нуля по Z столкнулся с тем, что после каждой инициализации HOME положение сопла над столом немного менялось. Порывшись в прошивке нашёл параметр отвечающий за длину отката при инициализации концевых выключателей. Переходим во вкладку

Любое периферическое устройство, чтобы обеспечивать возложенную функциональность, должно работать с программным обеспечением уровня firmware. 3D принтеры в этом отношении не являются исключением. Благодаря придуманному в 1964 году принципу универсальных интерфейсов, основная часть программного обеспечения и электронных компонентов является совместимой. Это подразумевает использование одного программного кода для целого ряда устройств, относящихся к определенному типу.

Все 3D принтеры работают на одном программном коде

Принципы обновления firmware для устройств

Согласно новой парадигме программный софт и аппаратная часть выполняется в рамках проектов с открытым исходным кодом. Именно в рамках такого проекта разрабатываются полупрофессиональные 3D принтеры. Для них существует универсальная прошивка Marlin, рассчитанная на работу с микроконтроллерными платами ArduinoMega и RAMPS Shield v.1.4. Соответственно, прошивка для 3d принтера Marlin совместима со всеми моделями, в которых они использованы. Перед выполнением работ потребуется установить плату RAMPS shield в ArduinoMega и сделать действия, описанные ниже.

Для перепрошивки устройства понадобится плата RAMPS Shield

Проблема данного ПО в отношении пользователей состоит в том, что софт не обновляется автоматически, как это характерно для компьютеров.

Новые версии нужно устанавливать самостоятельно, используя файлы, доступные на сайте Marlin.

После установки выполняется настройка прошивки 3d принтера.

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

Общий процесс соответствует следующей последовательности:

  • файлы скачиваются с сайта Marlin;
  • затем компилируются в среде Arduino IDE;
  • после этого записываются на управляющую плату RAMPS shield.

Чтобы обновить прошивку, нужно самостоятельно скачать файлы и проделать описанные действия. Для всех моделей действия аналогичны, включая модель PRUSA I3.

Все действия нужно производить на вкладке Configuration.h

Инструкция по установке и настройке Марлин для 3д-принтеров

Подготовка прошивки для платы состоит в подготовке конфигурационных настроек Марлин в компиляторе. Что это значит? Arduino IDE имитирует наличие принтера и делает компиляцию программного кода для RAMPS shield с помощью ArduinoMega 2560, чтобы готовый файл можно было записать на контроллер. Если общий принцип, что нужно делать, понятен, то настройка параметров может вызвать определенные сложности. В этом случае вы всегда можете обратиться к специалисту, который работает с моделями PRUSA I3, Anet A2, TevaTarantula.

Для начала прошивки нужно выбрать контролер (motherboard)

Определим основные этапы компилирования файла, которые включает настройка прошивки Marlin для 3d принтера:

  • Потребуется установить среду Arduino IDE, иметь при себе плату ArduinoMega, в нее нужно вставить программируемую принтерную RAMPS Shield v.1.4;
  • Также нужно скачать новую версию прошивки Марлин, распакуйте архив и откройте файл Configuration.h в Arduino IDE;
  • Далее настраивается среда компиляции, в меню «Инструменты» найдите Arduino/GenuinoMegaorMega 2560, отмечаем эту же плату в выпавшем списке ArduinoMega 2560;
  • Требуется настройка кода в Ардуино, именно эта часть вызывает определенные сложности у новичков. Так что если вы не уверены в своих силах, как минимум, не спешите записывать свой файл на контроллер. Дело в том, что проводится настройка технических параметров, в том числе, отвечающих за остановку работы, чтобы исключить повреждения компонентов (основные моменты смотрите ниже);
  • После внесения изменений в конфигурацию нажмите в окне кода «Проверить», при наличии ошибок, проверьте код повторно;
  • После прохождения проверки нажмите кнопку «Сохранить»;
  • Затем нажмите «Загрузка», очевидно, что для этого требуется подключение к разъемам платы.

Настройка файла Configuration.h в Ардуино

Описание этого процесса требует отдельного довольно объемного обзора, поэтому поясним определенные моменты:

  • Устанавливается скорость передачи данных. Обычно 250000 бод/с или другая, поддерживаемая компьютером;
  • Тип платы: rampsshield v.1.4, указав в конце строки efb (extruder, fan, bed – экструдер, вентилятор, стол) даже при отсутствии каких-то функций (подогрева стола и вентилятора);
  • Настройки датчика температуры – установите в «1» на используемые датчики;
  • Минимальная температура работы – устанавливается 5, это имеется в виду 5 градусов цельсия;
  • Максимальная температура – установите 230 с для экструдера, 120 с устанавливается для стола;
  • Проверка соответствия температуры материала и начала работы, можно отключить командой м302, также отключается пролонгированное выдавливание, имеющее лаг запаздывания, но обеспечивающее плавную работу;
  • Требуется настроить механику: концевые выключатели, подтягивающие резисторы и другие. В процессе обычно делается проверка правильной работоспособности;
  • Необходимо также настроить шаговое движение по осям.

Описание самого процесса в Ардуино можно почитать по ссылке , конечно, процесс требует понимания своих действий. Если вы не уверены в своих силах, обратитесь к специалисту. После записи корректного файла обновление для PRUSA I3, Anet A2, TevaTarantula будет готово. Прошивка для 3d принтера I3 PRUSA требует учитывать параметры именно данного устройства, воспользуйтесь оригинальными рекомендациями по обновлению конфигурации.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: