MKS Nano 1.3 + TMC2209 в режиме UART + klipper

Semmyk
Идет загрузка
Загрузка
03.07.2022
1429
4
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

4
Статья относится к принтерам:
Flyingbear Reborn

Q: Какая цель данного подключения ? 

A: для того чтобы управлять настройками драйверов из прошивки, позволяет получить более полный контроль над драйверами, выставлять ток не потенциометром на драйвере, а просто в прошивке вписать нужную цифру, переключать режим работы драйвера 

Введение:

Данная статья не для продвинутых, а для начинающих кто растерялся в многообразии информации, но хочет использовать на MKS Nano 1.3 драйвера в режиме UART. 

т.к. MKS NANO 1.3 не имеет возможности полноценного управления драйверами по UART, будем использовать 1 проводную схему.

т.к. в таком режиме каждому драйверу назначается 2я перемычками, всего у нас есть возможность управлять 4 драйверами.

Поэтому рекомендую использовать X,Y,E0 а Z, E1(Z1.1) оставить по старой схеме (т.к. у нас на Z два двигателя и ось Z не так важна в плане крутизны драйвера)

Или вариант X,Y,Z1,Z1.1 тогда на E (экструдер не хватит) можете выбирать что для вас важнее

Перемычками MS1/MS2 выбираем адрес а третью ОБЯЗАТЕЛЬНО УБИРАЕМ т.к. можем вызвать короткое замыкание в режиме работы по UART !

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

В качестве управляющего пина можно использовать на материнской плате PB2 (разъем J5)  изначально он используется для Автоматического выключения, у меня он оказался свободным - поэтому он, также кандидат на управляющий пин PE5 c разъема TC как я понял по задумке это преобразователь для термопары у меня тоже свободен.

Опытные аксакалы рекомендуют использовать PE5 а PB2 оставить свободным для нужд авто отключения на Марлине. Для тех кто на Klipper используйте любой разъем как вам удобнее. 

Для продвинутых юзеров можно использовать UART на все 5 драйверов, используя такой лайфхак:

Z1, Z1.1  можно оставить 2208/2225.  А на X,Y,Z на 2209 ставить 1 2 и 3 адреса. при этом Z будут 2208, 2225(можно и 2209)  будут на нулевом. (необходимо снять все три перемычки). Но как мне кажется смысла в этом нет. (у меня лично не получилось, клиппер ругался при хоуминге оси Z, в итоге оставил на UART только X,Y,E0)

Делаем набросок схемы: 

Чтобы наш драйвер понимал что от него хотят ему нужно подать сигнал на 4 пин драйвера, управление берем как договорились ранее с PB2 или PE5. Я уж было начал паять провод на драйвер но тут же придумал способ лучше, мы убрали перемычку PGN (условно говоря третья). Поэтому мне в голову пришла идея сделать такой ход. на Пин перемычки и подключимся. в этом случае мы не паяемся к плате и не паяемся к драйверу. Как по мне идея супер. для этого берем и припаиваем силиконовый провод к перемычке и получаем необходимый разьем. (использовать стандартные DUPONT не возможно потомучто они очень высокие, ну или возможно разобрав оболочку.

Важное отступление !

обратите внимание что у разных производителей в моем случае TwoTrees и BTT расположение пина относительно "крутилки" разное!!!  короче не перепутайте как правильно вставлять на "мать" 

мой выбор  от TwoTrees потому что у них больше радиатор. Из-за большого радиатора нет длинных пинов для подключения по UART, если брать версию от BTT то можно подключать используя стандартные Dupont провода (такие как в ардуино) . Хотя в рекламе от BTT фото с тепловизора что якобы их версия лучше остальных (при этом не уточняют каких) :)  

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

Визуализируем всю картину: 

зеленым обозначил подключение к шине управления для тех кто захочет управлять и осью Z (хотя мне кажется в нашем случае это лишнее)  обратите внимание на схеме нужно подключить или красную или оранжевую линию, не нужно и туда и туда :)

для тех у кого на Z один двигатель просто не обращайте внимание на  E1 (Z1.1) 

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

На а теперь всеми любимая практическая часть:

вот так выглядит моя версия подключения по UART трех драйверов X,Y,E1

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

и вот так с установленными драйверами 2209 X,Y,E0,  2225 Z1, Z11

MKS Nano 1.3 + TMC2209 в режиме UART +  klipper

Делаем необходимые добавления в конфиге klipper

у меня TMC_UART_PIN = PE5

для этого дописываем дополнительные секции в printer.cfg  с префиксом TMC2209. описывать значения полей смысла не вижу и так визуально понятно. Принтер мой в стоке, ток выставил по 0.8А на XY и 0.4A на экструдер хотя можно больше. Если будут пропуски добавлю.

фрагмент printer.cfg:

[stepper_x]

step_pin: X_STEP_PIN

dir_pin: X_DIR_PIN

enable_pin: !X_ENABLE_PIN

rotation_distance: 40

microsteps: 32

endstop_pin: !X_STOP_PIN

position_min: 0.0

position_endstop: 0.0

position_max: 350 # X-axis bed size

homing_speed: 50

homing_retract_dist: 0

[tmc2209 stepper_x]

uart_pin: TMC_UART_PIN

#tx_pin: TMC_TX_PIN

run_current: 0.800

hold_current: 0.400

stealthchop_threshold: 999999

uart_address: 1

interpolate: True

[stepper_y]

step_pin: Y_STEP_PIN

dir_pin: !Y_DIR_PIN

enable_pin: !Y_ENABLE_PIN

rotation_distance: 40

microsteps: 32

endstop_pin: !Y_STOP_PIN

position_min: 0.0

position_endstop: 0.0

position_max: 310 # Y-axis bed size

homing_speed: 50

homing_retract_dist: 0

[tmc2209 stepper_y]

uart_pin: TMC_UART_PIN

#tx_pin: TMC_TX_PIN

run_current: 0.800

hold_current: 0.400

stealthchop_threshold: 999999

uart_address: 2

interpolate: True

[stepper_z] # left stepper

step_pin: Z1_STEP_PIN

dir_pin: !Z1_DIR_PIN

enable_pin: !Z1_ENABLE_PIN

rotation_distance: 8

microsteps: 32

endstop_pin: !Z1_STOP_PIN

position_min: -0.2

position_endstop: 0.0

position_max: 350 # Z-axis print volume size

homing_speed: 20

second_homing_speed: 5

[stepper_z1] # right stepper

step_pin: Z_STEP_PIN

dir_pin: !Z_DIR_PIN

enable_pin: !Z_ENABLE_PIN

rotation_distance: 8

microsteps: 32

endstop_pin: !Z_STOP_PIN

[extruder]

step_pin: E0_STEP_PIN

dir_pin: !E0_DIR_PIN

enable_pin: !E0_ENABLE_PIN

#rotation_distance: 7.600

rotation_distance: 7.674

microsteps: 32

nozzle_diameter: 0.400

pressure_advance: 0.065

filament_diameter: 1.750

max_extrude_only_distance: 100

heater_pin: E_HEATER_PIN

#sensor_type: ATC Semitec 104GT-2

sensor_type: EPCOS 100K B57560G104F

sensor_pin: E_SENSOR_PIN

min_temp: 0

max_temp: 240

min_extrude_temp: 0

[tmc2209 extruder]

uart_pin: TMC_UART_PIN

#tx_pin: TMC_TX_PIN

run_current: 0.400

hold_current: 0.200

stealthchop_threshold: 999999 #0

uart_address: 3

interpolate: True

Результаты:

подключить по UART оказалось совсем не сложно на все про все у меня ушло менее 1 часа. Теперь чтобы добавить ток или внести изменения в режим работы не нужно вскрывать "подвал", а просто поправить данные в конфиге. 

Надеюсь статья принесет пользу.

Успешных экспериментов, и удачной печати !

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

4
Комментарии к статье