Информационный портал MSEVM






Главная > Самоделные станки с ЧПУ > Marlin. Настраиваем прошивку.
Marlin


Многие 3D принтеры, на основе Arduino, работают под управлением популярной прошивки Marlin.

Скачать прошивку можно здесь: https://github.com/MarlinFirmware/Marlin. Кстати, в арзиве есть примеры конфигурационных файлов для разного "железа".

Для заливки её в контроллер необходим Arduino IDE, версии не ниже 1.6.0. (и соответвенно, если я правильно понял, операционка не ниже Windows 7). Скачиваем отсюда: http://arduino.cc/en/main/software

После того, как архив с прошивкой распакован, а Arduino IDE установлена - запускаем Arduino IDE и загружаем в нее прошивку, для этого нужно перейти в папку с прошивкой и загрузить файл Marlin.ino
Marlin


Затем в среде Arduino IDE, с загруженной в нее прошивкой, нужно перейти на вкладку "Configuration.h"

Marlin


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

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

Marlin


Я использовал контроллер RAMPS 1.4, поэтому в конфигурационном файле должно быть так:
*/
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif


Следующим шаг - выбор датчика температуры, термистора. В прошивке предлагается большой список "//// Temperature sensor settings:". Я понятия не имею какой у меня датчик, поэтому поставил 1, потом разберемся. Датчик стола пока отключен.

*/
#define TEMP_SENSOR_0 1    //хотенд
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_BED 0  //стол


Далее необходимо установить ограничение максимальной температуры хотэнда:
*/
#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. Правильные перемещения сопла относительно стола:
  • По оси 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 false


Дальше идёт настройка концевых выключателей. Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработают концевики 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 


Настройка шагов перемещения по осям:
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 45, 45, 4000, 500 }


Цифры 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.

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

Обсуждение: http://msevm.com/forum/index.php?topic=7401

Файлы:







e-mail рассылки
Радиолюбитель
Подписаться письмом

















Яндекс цитирования Rambler's Top100