Marlin: различия между версиями
Владимир (обсуждение | вклад) |
Владимир (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
Ну описалочка для настройки прошивки Marlin для 32 плат, и не дельта принтеров. В данном случае SKR 1.3. | Ну описалочка для настройки прошивки Marlin для 32 плат, и не дельта принтеров. В данном случае SKR 1.3. | ||
==platformio.ini== | |||
Указываем тип процессора LPC1768 | Указываем тип процессора LPC1768 | ||
[platformio] | [platformio] | ||
default_envs = LPC1768 | default_envs = LPC1768 | ||
==Configuration.h== | |||
Выберите последовательный порт на плате, который будет использоваться для связи с хостом. | Выберите последовательный порт на плате, который будет использоваться для связи с хостом. | ||
| Строка 74: | Строка 74: | ||
#define X_MAX_ENDSTOP_INVERTING true | #define X_MAX_ENDSTOP_INVERTING true | ||
#define Y_MAX_ENDSTOP_INVERTING true | #define Y_MAX_ENDSTOP_INVERTING true | ||
=== Выбор драйверов шаговых двигателей === | |||
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока. | Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока. | ||
====TMC2208==== | |||
драйвер UARD типа, может работать и в режиме STANDALONE, без программной надстройки. | драйвер UARD типа, может работать и в режиме STANDALONE, без программной надстройки. | ||
| Строка 88: | Строка 88: | ||
- В режиме STANDALONE перемычками можно установить до 16 субшагов. | - В режиме STANDALONE перемычками можно установить до 16 субшагов. | ||
[[Файл:Marlin MS0.png|центр|Указывает местоположения для установки перемычек для режима STANDALONE|альт=|безрамки | [[Файл:Marlin MS0.png|центр|Указывает местоположения для установки перемычек для режима STANDALONE|альт=|безрамки]] | ||
[[Файл:Marlin режимы перемычкой.png|центр|Таблица показывающая в какое положение установить перемычки для получения нужного количества микро шагов. |альт=|безрамки|679x679px]] | [[Файл:Marlin режимы перемычкой.png|центр|Таблица показывающая в какое положение установить перемычки для получения нужного количества микро шагов. |альт=|безрамки|679x679px]] | ||
Так же видно что, у данного драйвера есть постоянно включена интерполяция, на точности это не скажется. | Так же видно что, у данного драйвера есть постоянно включена интерполяция, на точности это не скажется. | ||
| Строка 97: | Строка 97: | ||
[[Файл:Marlin измерения драйвера 2208.png|мини|Указание мест для измерений и настройки tmc2208]] | [[Файл:Marlin измерения драйвера 2208.png|мини|Указание мест для измерений и настройки tmc2208]] | ||
Подстройка тока: | Подстройка тока: | ||
Например нам нужен ток 1A на драйвере | Например нам нужен ток 1A на драйвере | ||
| Строка 102: | Строка 103: | ||
Вращаем резистр (3) измеряя напряжение между (1) и (2 - землёй) Расчет идет по следующей формуле: | Вращаем резистр (3) измеряя напряжение между (1) и (2 - землёй) Расчет идет по следующей формуле: | ||
'''Изм. напряжение = (1A*2.5)/1.77=1.41V''' | '''Изм. напряжение = (1A * 2.5) / 1.77 = 1.41V''' | ||
То есть между (1) и (2 - землёй) должно быть 1.41V | То есть между (1) и (2 - землёй) должно быть 1.41V | ||
<br /> | <br />Или мы хотим узнать какой ток подаётся в данный момент: | ||
Измеряем напряжение между (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.''' | |||
Версия от 16:05, 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 позволяет регулировать ток резистором.

Подстройка тока:
Например нам нужен ток 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.