Программное обеспечение

Во время прошивки не нужно включать питание принтера. Ардуина будет получать питание через USB от вашего компьютера.

В качестве прошивки может быть использован любой вариант совместимый с RAMPS 1.4. Если вы новичок в этом, вы можете взять уже готовую собранную нами прошивку “Marlin Firmware”. Вам останется только настроить некоторые из параметров под вашу конфигурацию. Скачать прошивку можно здесь https://github.com/Re-D-Bot/Re-D-Marlin.

Основная магия настроек в Marlin Firmware находится в файле “Configuration.h”, нижеперечисленные изменения производятся в этом файле. Мы заранее все настроили, но некоторые параметры вам придется указать свои. Наиболее важные настройки мы опишем ниже, полную инструкцию по настройке можно найти тут http://marlinfw.org/docs/configuration/configuration.html.

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

#define BAUDRATE 115200

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

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

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

#define  DEFAULT_Kp 15.02
#define  DEFAULT_Ki 0.81
#define  DEFAULT_Kd 69.79

ПИД параметры хотэнда индивидуальны для каждого принтера. Рекомендуем выполнить калибровку и выставить свои параметры.

Важно: для калибровки ПИД на принтере уже должна быть залита прошивка Marlin. Рекомендуем пропустить настройку ПИДов сейчас и вернуться позже (при проверке принтера), мы вам напомним об этом ниже.

Для калибровки ПИД нужно подключиться к принтеру, например, через USB к вашему компьютеру (можно использовать программу pronterface). Выбери COM порт, к которому подключен принтер, (если не знаете - методом проб он находится быстро) и скорость соединения, которую ранее установили в конфигурации через #define BAUDRATE. Далее нажмите “Connect”

После подключения, отправьте следующую команду на принтер: M303 E0 C8 S230 В консоли принтера будет отображаться ход калибровки, в течение этого времени хотэнд принтера будет нагреваться и охлаждаться несколько раз. Процесс калибровки занимает несколько минут, по его завершению в консоли вы увидите примерно следующее:

bias: 92 d: 92 min: 196.56 max: 203.75
Ku: 32.59 Tu: 54.92
Clasic PID
Kp: 15.02
Ki: 0.81
Kd: 69.79
PID Autotune finished ! Place the Kp, Ki and Kd constants in the configuration.h

Значения Kp Ki и Kd пропишите в файле конфигурации прошивки. Подробнее о калибровке можно прочитать тут http://reprap.org/wiki/PID_Tuning

#define PIDTEMPBED

Раскомментируйте эту строку (уберите в начале строки две косых “//”). Эта настройка позволяет управлять температурой стола более деликатно и точно.

#define  DEFAULT_bedKp 267.18
#define  DEFAULT_bedKi 52.61
#define  DEFAULT_bedKd 339.25

Это ПИД параметры для стола. Настройкой выше через PIDTEMPBED мы включили ПИД для стола. Калибруется он точно так же, как и ранее описанный хотэнд, только команда немного другая M303 E-1 C8 S90. Лучше это делать во время настройки принтера.

#define COREXY

Указываем конфигурацию механики принтера: необходимо раскомментировать строчку.

#define USE_XMIN_PLUG
// #define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
// #define USE_XMAX_PLUG
#define USE_YMAX_PLUG
// #define USE_ZMAX_PLUG

Настраиваем концевик по Y в положение MAX

#define X_MIN_ENDSTOP_INVERTING true
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING false
#define X_MAX_ENDSTOP_INVERTING true
#define Y_MAX_ENDSTOP_INVERTING true
#define Z_MAX_ENDSTOP_INVERTING true
#define Z_MIN_PROBE_ENDSTOP_INVERTING true

Для обычных механических концевиков выставляем значение true, для оптических false.

#define STEPS_KOEF_DRV8825 32
#define STEPS_KOEF_A4988 16
#define STEPS_KOEF_TMC 16
#define DEFAULT_AXIS_STEPS_PER_UNIT { 6.25*STEPS_KOEF_TMC, 6.25*STEPS_KOEF_TMC, 200*STEPS_KOEF_DRV8825/1.25, 5.625*STEPS_KOEF_DRV8825 }

Это настройка моторов принтера. В DEFAULT_AXIS_STEPS_PER_UNIT указывается массив значений через запятую, указывающий количество шагов мотора на 1 мм для X, Y, Z, E0.

В зависимости от того, какие драйвера у вас стоят на моторах, указывайте STEPS_KOEF_DRV8825, или STEPS_KOEF_A4988, или STEPS_KOEF_TMC.

В примере для двигателей X и Y используются драйвера TMC2100 со шкивами на 16 зубьев под GT2 ремень. Для оси Z используется строительная шпилька из нержавейки с 1,25 мм шагом на оборот и драйвер DRV8825. Все двигатели с углом поворота 1.8 градуса.

Для X и Y значения получаем по следующей формуле (аналогично для экструдера): 360 / угол поворота двигателя / количество зубьев на шкиве / зубов на 1 мм хода * делитель шагов драйвера = 360 / 1.8 / 16 / 2 * STEPS_KOEF_TMC = 6.25 * STEPS_KOEF_TMC

Для Z шпильки значение рассчитываем по формуле: 360 / угол поворота двигателя = 360 / 1.8 * делитель шагов драйвера / мм на один оборот шпильки = 200 * STEPS_KOEF_DRV8825 / 1.25

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

Вы может воспользоваться замечательным калькулятором тут http://www.prusaprinters.org/calculator/#MotorStuffSPMB и просто указать конечные значения в виде цифр, например #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 5120, 180 }

#define Y_HOME_DIR 1

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

#define X_MAX_POS 300
#define Y_MAX_POS 300
#define Z_MAX_POS 300

Размер печатной зоны.

#define REVERSE_ENCODER_DIRECTION

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

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Если используете 12864 Full graphic экран, то раскомментируйте этот параметр. Это один из самых популярных экранов для RAMPS плат. Однако, если используете принт-сервер OctoPrint или Repetier-Server, то экран вам не нужен (и для ардуино будет легче без экрана).

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

#define FAST_PWM_FAN

Повышает частоту ШИМ для вентилятора обдува пластика, благодаря этому вентиляторы не пищат.

Прошивка принтера

Для прошивки вам понадобится Arduino IDE. Откройте проект (файл Marlin.ino), в меню инструментов (Tools) выберите Board - Mega 2560, Processor - ATmega2560 и Port - тот, на котором у вас определился принтер. Если вы купили китайский клон ардуино, то возможно вам понадобится установить драйвер CH341SER.

Теперь, когда все приготовления закончены, попробуйте собрать прошивку и отправить на принтер - нажмите кнопку Upload. Возможные ошибки (распространенные): неправильные настройки порта или выбрана не та плата ардуино.

Питание принтера

Для прошивки принтера мы не включали блок питание, а использовали USB в качестве источника питания. Теперь для запуска принтера нам понадобится включить блок питания, при этом USB подключение остается.

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

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

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


Предыдущий этап Следующий этап