Для заливки её в контроллер необходим Arduino IDE, версии не ниже 1.6.0.
(и соответвенно, если я правильно понял, операционка не ниже Windows 7).
Скачиваем отсюда:
http://arduino.cc/en/main/software
После того, как архив с прошивкой распакован, а Arduino IDE установлена -
запускаем Arduino IDE и загружаем в нее прошивку, для этого нужно перейти в папку
с прошивкой и загрузить файл Marlin.ino
Затем в среде Arduino IDE, с загруженной в нее прошивкой, нужно перейти на
вкладку "Configuration.h"
Это конфигурационный файл с основными настройками. Необходимо указать тип
контроллера, тип температурного датчика, откалибровать перемещения по осям и
сконфигурировать концевые выключатели.
Начинаем с выбора контроллера. Список контроллеров находится во вкладке
"boards.h" Давим на треугольник в правом верхнем углу и выбираем boards.h.
Я использовал контроллер RAMPS 1.4, поэтому
в конфигурационном файле должно быть так:
Следующим шаг - выбор датчика температуры, термистора. В прошивке предлагается
большой список "//// Temperature sensor settings:". Я понятия не имею
какой у меня датчик, поэтому поставил 1, потом разберемся.
Датчик стола пока отключен.
Далее необходимо установить ограничение максимальной температуры хотэнда:
*/
#define HEATER_0_MAXTEMP 275"
и ограничение минимальной температуры хотэнда:
*/
#define EXTRUDE_MINTEMP 170"
У меня используется только три концевых выключателя, все они стоят
в позиции "HOME", подключены на "MIN" и в этом положении они замкнуты,
а в положении отличном от HOME концевики разомкнуты.
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
Изменение направления вращения шаговых двигателей, значения false или true.
Правильные перемещения сопла относительно стола:
Дальше идёт настройка концевых выключателей. Начало координат находится
в ближнем левом углу на поверхности стола, если сопло вывести в эту точку,
то сработают концевики MIN, если в правую дальнюю верхнюю - сработают MAX.
У меня в положении HOME находятся три концевых выключателя MIN, поэтому мои
установки:
// 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
Цифры 45 - это перемещение по осям X,Y, 4000 - по Z, 500 - экструдер.
Расчитываются они по формуле: (200 * 16)/(2 * 36) = 44.44 (округляем до 45)
По всем осям стоят шаговые двигатели 200 шагов на оборот
(за один шаг вал двигателя поворачивается на 1.8 градуса, т.е. 360/1.8=200), 16
микрошагов на шаг (устанавливается перемычками на плате RAMPS). По осям X и Y
стоит приводной ремень с шагом 2 мм и 36-ти зубые шкивы. По оси Z
стоят шпильки М8 с шагом резьбы 2 мм, итого формула 200*16/2.
Все остальные настройки и калибровки больше экспериментальные, их лучше сделать
после того как прошивка будет загруждена в контроллер.