TMC2208 v2 UART

shadrincev
Идет загрузка
Загрузка
11.02.2019
7200
29
печатает на Flyingbear P905
Техничка

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

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

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

14
Статья относится к принтерам:
Flyingbear P905
Всем доброго времени суток! На форуме не нашёл описания включения режима UART с картинками, надо исправить.

Стал я обладателем драйверов TMC2208 v2. Тихие…, но вредные! При больших ускорениях идут пропуски шагов, в стандартном режиме слабое удержание, как мне кажется. И решил я попробовать сделать UART, тем более в некоторых местах упоминается (допустим тут), что будет лучше удержание и не придётся снижать ускорение и прочие регулировки, по тихости остаются такими же, вроде. Что-ж, паяльник в помощь…

Нам понадобиться:

1. 1. 2 проводка с Dupont.

2. 2. 1 резистор на 1кОм.

3. 3. Паяльник.

4. Руки, выпрямленные.

Первое что делаем, это активируем режим uart, запаяв перемычку (смотрим картинку).

Было:
Это в другом исполнении:
Стало:
Дальше берём и выпаиваемоткусываем ногу PDN.
Затем, один из проводов припаиваем к контакту PDN, а другой, через резистор (я использовал SMD с маркировкой 102), туда же, или к первому проводу, кому как больше нравиться. И запоминаем, что Rx без резистора, а Tx с резистором.
Всё! Пайка окончена. Vref рекомендуется выставить 1,5 (но не больше 1,65!)
и регулировать необходимое из прошивки.

Подключение к плате и настройка прошивки на форуме обсуждалось, я не описываю - т.к. использую klipper.

Для тех, кто захочет изменить параметры по USB один раз (запись в память производится один раз! Больше переписать не удастся!) и поставить в стоковом состоянии, откусывать ножку не нужно! Паяем перемычку, подключаем провод напрямую к PDN и второй через резистор, допаиваем еще проводки согласно рисунку ниже.
Подключаем к USB шнурку и в компьютер. Изменение параметров и запись делаем по статье https://learn.watterott.com/silentstepstick/configurator/ На этом все. Часть картинок честно стащил за бугром.

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

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

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

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

Комментарии

11.02.2019 в 11:13
0

И что это дает? Сейчас драйвера прекрасно работают.... если я сделаю то, что вы предлагаете, какие плюшки я получу?

11.02.2019 в 12:05
0

И даже не пытался заставить переделывать нормально работающие. А получим, те же 2130, только в профиль:)

11.02.2019 в 12:40
0

А получим, те же 2130, только в профиль:)
У 2130 есть виртуальный эндстоп

11.02.2019 в 11:14
1

я не описываю - т.к. использую klipper
Вот тут как раз самое интересное - не плохо бы увидеть примеры конфигов

11.02.2019 в 12:04
1

Вот для Х:

[stepper_x]
step_pin: P0.4
dir_pin: !P0.5
enable_pin: !P4.28
step_distance: 0.0125
endstop_pin: ^!P1.29
#endstop_pin: ^!P1.28
position_endstop: 0
position_max: 300
homing_speed: 40
[tmc2208 stepper_x]
uart_pin = P0.16
tx_pin = P0.18
microsteps = 16
interpolate = False
run_current = 0.6
hold_current = 0.6
sense_resistor = 0.110
stealthchop_threshold = 500
driver_iholddelay = 8
driver_tpowerdown = 20
driver_blank_time_select = 2
driver_toff = 3
driver_hend = 0
driver_hstrt = 5
driver_pwm_autograd = True
driver_pwm_autoscale = True
driver_pwm_lim = 12
driver_pwm_reg = 8
driver_pwm_freq = 1
driver_pwm_grad = 14
driver_pwm_ofs = 36

11.02.2019 в 12:12
1

Судя по вашим настройкам, вы через uart только интерполяцию отключили. Так что в чем профит ?

11.02.2019 в 12:34
1

Это тестовая конфигурация... И конфиг, не совсем относится к теме статьи, меня просили пример. Более точно и корректно, можно почитать тут, как раз по klipper и TMC2208 c картинками. Ссылка в статье есть :)

11.02.2019 в 12:39
2

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

11.02.2019 в 13:35
0

Да, правильно.

11.02.2019 в 12:44
2

Подскажите, какие пины можно использовать в качестве rx tx (я тоже использую клиппер ), а лучше пример подключения к плате ) и расшифровку последних параметров в конфиге которые касаются за настройку драйвера.

11.02.2019 в 13:41
1

Эээ, ну у меня плата SKR 1.1 и пины с EXP1 и EXP2, т.е. все свободные. Какая у Вас плата и какие пины свободны, я не знаю. А так, какие свободные пропишите в конфиге, те и будут. Расшифровка параметров будет, когда всё протестирую и до конца вникну.

11.02.2019 в 13:53
2

Вот мой конфиг Klipper для 'hacked RAMPS': https://gist.github.com/lorf/751522978a163c094a36ff24bef78489, TMC2208 подключены по one-wire UART к пинам D59, D40, D42, D44 разьема AUX-2 (см. https://reprap.org/wiki/File:Arduinomega1-4connectors.png)

11.02.2019 в 17:30
0

Спасибо большое за конфиг, подскажите как у вас физически реализуется  one-wire UART. Я так понимаю нужен диод и резистор на 47k Ом? 

11.02.2019 в 17:41
1

Подключаются напрямую без диодов и резисторов. При должной конфигурации ничего не погорит. Вот тут рассказал: http://3dtoday.ru/blogs/shadrincev/tmc2208-v2-uart/#508583

11.02.2019 в 11:17
2

Благодарю!

Хотелось-бы краем глаза увидеть и скриншот терминалки конфигурирования.

ski
11.02.2019 в 12:36
1

Не за что. 
Постараюсь выполнить пожелание, но позже - разгар перепайки всего и вся.

ski
11.02.2019 в 20:42
1

Вот, надеюсь правильно понял. Что с резистором, что без - одно и тоже. Почему - ответил ниже.

11.02.2019 в 21:04
0

Благодарю!
Мне пока этого достаточно.

11.02.2019 в 14:03
2

тема не раскрыта. выглядит как первая часть хорошего и нужного цикла статей: сейчас мы подготовим железо, а про остальное - в следующих сериях.
так что - ждём продолжения.

11.02.2019 в 14:10
2

СтОит заметить, что TMC2208 можно подключить по One-Wire UART, экономя по 1 пину контроллера на драйвер. Не знаю, как в Marlin (согласно вот этому: https://github.com/KevinOConnor/klipper/issues/720#issuecomment-426123012 - работает), в Klipper работает отлично. Про один способ подключения почитать тут: https://github.com/KevinOConnor/klipper/issues/720#issuecomment-426431761. Я подключал приблизительно так: https://imgur.com/a/T3Xgk, т.е. запаял перемычку на драйвере, пин PDN на каждом драйвере перевернул ногой вверх и подключил к пинам D59, D40, D42, D44 разъема AUX-2 на RAMPS (https://reprap.org/wiki/File:Arduinomega1-4connectors.png) dupont-проводами. Мой конфиг: https://gist.github.com/lorf/751522978a163c094a36ff24bef78489 .

11.02.2019 в 14:37
1

Раз стОит, так замЕтьте. :) 
У вас режим только отправки, но нет приёма - напоминает глухой телефон. Т.е. у вас нет возможности, хотя бы, переключения stealthChop2 и spreadCycle на лету и т.д. (это в марлин есть, в клипере не проверял).

11.02.2019 в 14:49
2

В клиппер также есть. При превышении скорости указанной в настройках переключается

11.02.2019 в 16:43
2

Раз стОит, так замЕтьте.
С чего такое надменное недоверие? Всё работает. Смотрите:

При 'microsteps: 32':
Send: dump_tmc stepper=stepper_a
[...]
Recv: // CHOPCONF:   13030053 toff=3 hstrt=5 TBL=2 vsense=1 MRES=3(32usteps) intpol=1
При 'microsteps: 16':
Send: dump_tmc stepper=stepper_a
[...]
Recv: // CHOPCONF:   14030053 toff=3 hstrt=5 TBL=2 vsense=1 MRES=4(16usteps) intpol=1
В Klipper stealthchop_threshold есть.

11.02.2019 в 15:47
2

Кому нужно больше информации - https://www.instructables.com/id/UART-This-Serial-Control-of-Stepper-Motors-With-th/

12.02.2019 в 17:00
0

Доброго дня.
Хотел бы обратить внимание на очень полезный комментарий из статьи по ссылке выше - а именно, как красиво реализовать 'двух-проводность' на драйверах от Fysetc

11.02.2019 в 18:44
2

Хотите фишку скажу в Клипере не надо резистора и уарт работает по 1 пину и запись и считывание полследовательно реализовано программно
начало конфига

[tmc2208 stepper_x]
uart_pin: ar63
microsteps: 16
interpolate: True
run_current: 0.94
hold_current: 0.39
sense_resistor: 0.110
stealthchop_threshold: 250
driver_IHOLDDELAY: 8
driver_TPOWERDOWN: 20
driver_BLANK_TIME_SELECT: 1
driver_TOFF: 3
driver_HEND: 0
driver_HSTRT: 2
driver_PWM_AUTOGRAD: True
driver_PWM_AUTOSCALE: True
driver_PWM_LIM: 12
driver_PWM_REG: 8
driver_PWM_FREQ: 1
driver_PWM_GRAD: 14
driver_PWM_OFS: 36

наткнулся на это когда просматривал код считывания с драйверов
[TABLE][TR][TD] # pin setup[/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] ppins = self.printer.lookup_object('pins')[/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] rx_pin_params = ppins.lookup_pin([/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] config.get('uart_pin'), can_pullup=True)[/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] tx_pin_desc = config.get('tx_pin', None)[/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] if tx_pin_desc is None:[/TD] [/TR] [TR] [/TR][/TABLE][TABLE][TR][TD] tx_pin_params = rx_pin_params[/TD] [/TR] [TR] [/TR][/TABLE] else:[TABLE][TR][TD] self.handle_connect)[/TD] [/TR] [TR] [/TR][/TABLE]

11.02.2019 в 19:25
2

Именно, а если надо только устанавливать параметры - все драйверы вообще вешаются на 1 проводок параллельно.

11.02.2019 в 19:01
2

остальные параметры подбирал с помощью калькулятора с офф сайта

Калькулятор

11.02.2019 в 20:17
2

Посыпаю голову пеплом... Спасибо diman77EvilGremlinfrol и другим. В клиппер (! у другой прошивки может  быть не так!!!) правда реализован обмен по одному проводу Проверил на своём - по одному тоже работает. И конфигурация klipper не совсем относится к теме данного поста хоть и хотел совместить, но было мало данных. Но! Не забываем про другие прошивки! 
И, все же, жирный камень выше перечисленным товарищам (не в обиду, а то опять буду надменным) - а в вашем плотном графике не найдётся времени, чтобы накропать пару статеек про klipper? 
За-си́м теряю интерес к обсуждению того, что не касается написанного в посте по ПЕРЕПАЙКЕ TMC2208.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Formnext 2019 | Нестандартный обзор мировой выставки 3D печати

Klipper + DuetWebControl

Как шатаются направляющие валы у FLSUN qq-s

Мышка Мышуня

Универсальная стойка-крепление мобильного телефона для начинающего блогера

Символ наступающего года.