Форум Софт и программы для ЧПУ

Заметки по настройке прошивки Marlin

1 июля, 2019 - 09:05
Полное описание на английском языке последней версии прошивки Marlin http://marlinfw.org/docs/configuration/configuration.html
Может отличаться у более ранних версий прошивки Marlin.

Основные настройки во вкладке  "Configuration.h"
Настройка скорости порта
#define BAUDRATE 115200  // настройка скорости порта
Выбор платы
#ifndef MOTHERBOARD 
#define MOTHERBOARD BOARD_RAMPS_14_EFF
#endif
Количество экструдеров
#define EXTRUDERS 2
Настройка концевых выключателей
Настройка логики работы концевиков
В первую очередь на что нужно обратить внимание - это какие концевики вы используете и какой у них принцип работы. В прошивке необходимо правильно указать логику работы концевиков. 
// 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.
После настройки работу концевиков можно проверить командой M119 в консоли.
В ответ должен прийти текст:
x_min: open – концевик не сработал;
x_min: TRIGGERED – концевик сработал.

Установка положения "HOME" - дом
В прошивке поддерживаются 3 пары концевиков: для каждой оси X, Y и Z  по два концевика min и max. Как правило, ставятся концевики только для минимального положения каждой оси, а максимальное задается в прошивке.
Положение дом (начальное положение), будет находиться в минимальных положениях концевиков и это задается в прошивке: 
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
При сборке 3D принтера, а именно при подключение шаговых двигателей к плате, возможна такая ситуация: когда вы все настроили и подключили, при нажатии "home" (дом), каретка одной из осей едет в другую сторону (не к концевику), тогда необходимо перевернуть коннектор шагового двигателя на 180 градусов или поменять значения в прошивке:
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
Установка габаритов перемещения

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 300
#define Y_MAX_POS 300
#define Z_MAX_POS 100


Напротив каждой строчки укажите соответствующие габариты, по умолчанию рабочая область задана 205x205x200 мм

Настройка шагов перемещения по осям
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 100 }

В скобках через запятую для каждой оси указывается количество шагов, который должен сделать шаговый двигатель, чтобы каретка проехала 1 мм. Откуда взять данные значения? Можно рассчитать или возьмите уже известные.
Расчет осей X и Y (ремни)
По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микро-шагов на шаг (это устанавливается перемычками на плате).
По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и шкивы с 20 зубьями.
Получается:
(200*16)/(2.0*20)=80
Столько шагов должен сделать шаговый двигатель, чтобы ось X и Y проехала ровно 1 мм.
Если у вас зубчатый шкив Gt2 с шагом 2 мм и с количеством зубьев 20, то формула такая:
(200*16)/(2.0*16)=100
Расчет оси Z (ходовой винт)
По оси Z могут стоять:
  • Шпилька М8 с шагом резьбы 1,25 мм, тогда формула: 200*16/1.25=2560
  • Шпилька M5 с шагом резьбы 0.8 мм, тогда формула: 200*16/0.8=4000
  • Трапецеидальный винт диаметром 8 мм с шагом 1 мм и заходностью 1, тогда формула: 200*16/1=3200
  • Трапецеидальный винт диаметром 8 мм с шагом 2 мм и заходностью 1, тогда формула: 200*16/2=1600
  • Трапецеидальный винт диаметром 8 мм с шагом 2 мм и заходностью 4, тогда формула: 200*16/2*4=400

Ограничение максимальной скорости перемещения по осям

/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_FEEDRATE { 200, 200, 80, 5 }

Настройка ускорения перемещений по осям

#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 500, 10 }

/**
* Default Acceleration (change/s) change = mm/s
* Override with M204
*
* M204 P Acceleration
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 1500 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 2000 // X, Y, Z acceleration for travel (non printing) moves

Для осей X и Y стоят ускорения 9000 мм/c^2 - это очень много.
Для первичной настройки установите не более 1000 и для DEFAULT_ACCELERATION поставьте 1500, вместо 3000.


Будущее за микроконтроллерами
Admin Admin Зарегистрирован:
3.07.2018

Войдите или Зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Яндекс.Метрика

Top.Mail.Ru

Portal-PK (Портал ПК) © 2015 - 2019 Робототехника на F-studio.biz
Обратная связь
Подписаться на новости
RSS