Marlin: различия между версиями

Материал из wolfram
Перейти к навигации Перейти к поиску
Строка 75: Строка 75:
  #define Y_MAX_ENDSTOP_INVERTING true
  #define Y_MAX_ENDSTOP_INVERTING true


=== Выбор драйверов шаговых двигателей ===
===Выбор драйверов шаговых двигателей===
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.


Строка 96: Строка 96:
- В STANDALONE позволяет регулировать ток резистором.
- В STANDALONE позволяет регулировать ток резистором.
[[Файл:Marlin измерения драйвера 2208.png|мини|Указание мест для измерений и настройки tmc2208]]
[[Файл:Marlin измерения драйвера 2208.png|мини|Указание мест для измерений и настройки tmc2208]]
Подстройка тока:
 
 
Подстройка тока (Спасибо [https://3dtoday.ru/blogs/defekt/the-current-setting-of-the-stepping-motors-on-the-drivers-tmc2100tmc21/ этой статье])





Версия от 16:08, 14 августа 2020

Ну описалочка для настройки прошивки Marlin для 32 плат, и не дельта принтеров. В данном случае SKR 1.3.

platformio.ini

Указываем тип процессора LPC1768

[platformio]
default_envs = LPC1768

Configuration.h

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

Последовательный порт -1 - это последовательный порт, эмулируемый USB, если он доступен.

#define SERIAL_PORT -1
#define SERIAL_PORT_2 0

Этот параметр определяет скорость передачи данных принтера.

#define BAUDRATE 250000

Выберите имя из boards.h, которое соответствует вашей настройке

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BTT_SKR_V1_3
#endif

Имя отображается на ЖК-дисплее в сообщении «Готово» и в информационном меню.

#define CUSTOM_MACHINE_NAME "Wolfram_2.1"

Это определяет количество экструдеров.

#define EXTRUDERS 1

Обычно ожидаемый диаметр нити (1,75, 2,85, 3,0, ...). Используется для измерения объема, датчика ширины нити и т. Д.

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

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

Тип сенсора, если это обычный 100 киломник то ставим 1

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

Максимальная температура хотэнда и стола

#define HEATER_0_MAXTEMP 300
#define BED_MAXTEMP      150

Настройки PID регуляции

Рекомендуется провести тестирование и получить данные для экструдера

Команда:

M303 E0 S250 C8

Получаем данные и вписываем

#define DEFAULT_Kp 19.05
#define DEFAULT_Ki 1.79
#define DEFAULT_Kd 50.61

PID регуляция для стола

Включаем для стола если скорость нагрева до 110 меньше 8 минут.

#define PIDTEMPBED

Выполняем калибровку

M303 E-1 S110 C8

Вписываем результат

#define DEFAULT_bedKp 26.65
#define DEFAULT_bedKi 5.33
#define DEFAULT_bedKd 88.93

Предотвратите выдавливание, если температура ниже EXTRUDE_MINTEMP.

#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170

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

#define COREXY

Настройка концевиков.

Нужно указать где расположены концевые выключатели. В моём случае у меня X и Y находятся в максимумах.

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

Настройка типа концевика, нормально замкнутый (true) или нормально разомкнутый (false)

#define Z_MIN_ENDSTOP_INVERTING true
#define X_MAX_ENDSTOP_INVERTING true
#define Y_MAX_ENDSTOP_INVERTING true

Выбор драйверов шаговых двигателей

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

TMC2208

драйвер UARD типа, может работать и в режиме STANDALONE, без программной надстройки.

В его особенностях:

- Сверх тихая работа на любых скоростях.

- В программном режиме позволяет работать с 256 субшагами

- В режиме STANDALONE перемычками можно установить до 16 субшагов.

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

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

- В программном режиме позволяет управлять током драйвера

- В STANDALONE позволяет регулировать ток резистором.

Указание мест для измерений и настройки tmc2208


Подстройка тока (Спасибо этой статье)


Например нам нужен ток 1A на драйвере

Вращаем резистр (3) измеряя напряжение между (1) и (2 - землёй) Расчет идет по следующей формуле:

Изм. напряжение = (1A * 2.5) / 1.77 = 1.41V

То есть между (1) и (2 - землёй) должно быть 1.41V


Или мы хотим узнать какой ток подаётся в данный момент:

Измеряем напряжение между (1) и (2 - землёй), например это 1.65V

Ток двигателя = (1.65 * 1.77) / 2.5 = 1,1682A

Подаваемый ток 1,1682A


TMC меняют ток в зависимости от нагрузки, хотим задать своего рода максимум.

К примеру максимальный ток для двигателя 1.4A

1.4A / 1.41 = 0,99A

Теперь получим напряжение которое нужно выставить

(0,99A * 2,5) 1.77 = 1,4V

Итого получили нужное нам напряжение


Не забываем что постоянный ток выдаваемый драйвером не должен превышать 1.2A.