Tmc connection error 2208

Привет.Купил у bigtreetech плату и драйвера.Драйвера "DYI" для подключения по UART.При установке с marlin 2.0 прошивка выдавала ошибку "tmc connection...

kostyansd

Идет загрузка
Загрузка

26.02.2020

8243

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

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

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

Подписаться

2

Привет.

Купил у bigtreetech плату и драйвера.

tmc2208 v3.0 + skr 1.3

tmc2208 v3.0 + skr 1.3

Драйвера «DYI» для подключения по UART.

При установке с marlin 2.0 прошивка выдавала ошибку «tmc connection error».

Нигде не нашел дельного ответа, кто-то меняет драйвера, кто-то добавляет какие-то строки в прошивку.

Я же решил проверить сначала железо. С платой все отлично.

А вот с драйверами вышла накладка. Смотрим даташит на камень:

tmc2208 v3.0 + skr 1.3 Проверяем схему драйвера:

tmc2208 v3.0 + skr 1.3

Тут явно видно лишний резистор.

Запаяв перемычку J2 согласно инструкции и выпаяв резистор R1 все заработало.

tmc2208 v3.0 + skr 1.3

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

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

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

Подписаться

2

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

Еще больше интересных статей

Wash and Cure and… DRY? Своими руками.

Viknikvvk

Идет загрузка
Загрузка

05.02.2023

1566

46

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

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

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

Подписаться

       Всем доброго чего там у вас сейчас:)

     …

Первое обнюхивание мотора с двумя шлангами

eta4ever

Идет загрузка
Загрузка

18.01.2023

5547

33

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

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

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

Подписаться

Было немножко скучно, и зачесалось шило. А тут ещё немножко подействовали на мозг по поводу векторно…

Собираем 3D-принтер своими руками. Пошаговая инструкция. Часть 1.

197

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

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

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

Подписаться

Всем привет!

Как уже анонсировал Серега, я начинаю публиковать цикл статей по сборк…

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

@lospo

I configured marlin and SKR1.3 to work in uart mode but i have the same message on the display.
The driver are BIGTREETECH TMC2208 SKU:UUU001758
The board is SKR V1.3, i follow the instruction here: https://www.youtube.com/watch?v=oaXfXkPYHpw
But i have the same message on display.

Attached a photo of my driver.

Here is the output of my M122:
X Y Z E Enabled false false false false Set current 800 800 800 800 RMS current 1436 1436 1436 1436 MAX current 2025 2025 2025 2025 Run current 25/31 25/31 25/31 25/31 Hold current 12/31 12/31 12/31 12/31 CS actual 0/31 0/31 0/31 0/31 PWM scale 0 0 0 0 vsense 0=.325 0=.325 0=.325 0=.325 stealthChop false false false false msteps 256 256 256 256 tstep 0 0 0 0 pwm threshold 0 0 0 0 [mm/s] - - - - OT prewarn false false false false off time 0 0 0 0 blank time 16 16 16 16 hysteresis -end -3 -3 -3 -3 -start 1 1 1 1 Stallguard thrs DRVSTATUS X Y Z E stst olb ola s2gb s2ga otpw ot 157C 150C 143C 120C s2vsa s2vsb Driver registers: X 0x00:00:00:00 Bad response! Y 0x00:00:00:00 Bad response! Z 0x00:00:00:00 Bad response! E 0x00:00:00:00 Bad response! Testing X connection... Error: All LOW Testing Y connection... Error: All LOW Testing Z connection... Error: All LOW Testing E connection... Error: All LOW ok
IMG_20190426_161544
IMG_20190426_161555

@ghost

Have you solder bridged the option pads on the TMC2208 driver boards to connect the UART pin on the TMC2208 to the UART driver board pin ?

@lospo

I made no solder, I place jumpers in the board and attached these drivers.
I have no idea of what to solder/connect

@ghost

Try soldering these two little pads together on each of your TMC2208 driver boards ..

TMC2208_SKR_1_3_SOLDER_PADS

@lospo

I asked also to the supplier, and he give me that image as reference for soldering two pins.
Are the same or i am confused?
driver

@ghost

oh ok, go with what they say. If that doesn’t work try the other two pads.

@lospo

@ghost

You soldered the pads BigTreeTech said to solder. Try soldering the pads I showed you instead.

@pauleley

@pauleley

You need to apply 12 or 24v for it to work

@MrG1981

I have the same issue
the jumper on the driver is soldered and works properly with FTDI serial to USB
but not on skr 1.3 board powered by USB or 12v from power supply

@lospo

Hi, i’ve soldered the pads together (because i have not good skill) and now it works!
Thanks to all of you!

@ghost

BigTreeTech are telling people to solder the wrong two pads together :( .. it should be the other two (as you’ve found out @lospo).

@stricktech

hello, i have done the same thing, but i am getting tmc connection error.

i have soldered all 3 pads together, placed on skr 1.3 with the uart jumpers in place.
set firmware to TMC2208 and turned on TMCDEBUG.

i have my board and lcd at work right now, so cant test from 12 volt, powering from usb can give a tmc connection error?

@lospo

Yes, USB power is too low.
You need tre 12/24v power

@stricktech

Ok thanks, I’ll reload the firmware and test it from my power supply when I get home.

Just to clarify something I wasent sure about or have heard differing information,

All jumpers should be removed besides uart?
(Black jumpers under driver, and red jumpers to the right side of board)

@lospo

Ok thanks, I’ll reload the firmware and test it from my power supply when I get home.

Just to clarify something I wasent sure about or have heard differing information,

All jumpers should be removed besides uart?
(Black jumpers under driver, and red jumpers to the right side of board)

I removed all, and it works. :D

@LongLiveCHIEF

BigTreeTech are telling people to solder the wrong two pads together

No they’re not. You can use either combination, or even solder all 3 pads together. You need to be applying the right voltage to the board in order for the the tmc2208 to allow current to flow. The low voltage from your laptop/PC won’t do the trick.

@MakerThinking

This was referenced

Jun 20, 2020

@hesham1967

I think this has to do with software problem otherwise why I have TMC connection problem with Cura altimaker and Ideamaker but when I use control maker, I don’t have any problem with TMC

Содержание

  1. tmc2208 v3.0 + skr 1.3 «tmc connection error» мое решение
  2. Подпишитесь на автора
  3. Подпишитесь на автора
  4. [BUG] SKR 2: TMC connection error if DISABLE_DRIVER_SAFE_POWER_PROTECT commented-out (i.e. protection is enabled) #22701
  5. Comments
  6. Did you test the latest bugfix-2.0.x code?
  7. Bug Description
  8. Bug Timeline
  9. Expected behavior
  10. Actual behavior
  11. ((TMC connection Error)) #46
  12. Comments
  13. Eryone 3D
  14. Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.
  15. Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.
  16. Re: Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.
  17. Re: Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.
  18. Проблема «Сбой связи с TMC», плата SKR 1.3 с TMC2209 v 1.2

tmc2208 v3.0 + skr 1.3 «tmc connection error» мое решение

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

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

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

Купил у bigtreetech плату и драйвера.

Драйвера «DYI» для подключения по UART.

При установке с marlin 2.0 прошивка выдавала ошибку «tmc connection error».

Нигде не нашел дельного ответа, кто-то меняет драйвера, кто-то добавляет какие-то строки в прошивку.

Я же решил проверить сначала железо. С платой все отлично.

А вот с драйверами вышла накладка. Смотрим даташит на камень:

Проверяем схему драйвера:

Тут явно видно лишний резистор.

Запаяв перемычку J2 согласно инструкции и выпаяв резистор R1 все заработало.

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

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

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

Источник

[BUG] SKR 2: TMC connection error if DISABLE_DRIVER_SAFE_POWER_PROTECT commented-out (i.e. protection is enabled) #22701

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

In Configuration_adv.h , one finds this section:

This is the normal state. But, it also keeps TMC drivers from working at all.

At first I couldn’t figure out why, then I looked at the SKR 2 schematic today (my board is a Rev. B and matches it):

MOT_POWER is the control line from the µC, PGND is the power supply ground rail.

Clearly, the driver power control MOSFET Q1 cuts the ground connection to the motor drivers when it’s turned off. I mean, ALL of the driver modules’ ground circuits, the lot of them, and not just whatever’s needed for motor power (though I’m not sure if a TMC chip «splits» its grounding in this fashion, not that it matters)

No ground to the driver means unreliable UART comms, which means TMC connection errors (UART generally requires both +V and ground) or gibberish data being fed to the drivers.

It also means trying to turn a motor on can start to BURN UP the chip! I’m guessing here that the motor drive circuitry is trying to pull a ground reference through the rest of the driver chip from somewhere else inside it other than its primary ground rail. I am 100% certain that this is what killed three of my TMC2208 drivers.

In my not so humble opinion, this is a major hardware design flaw. However, that’s out of Marlin’s hands.

If I uncomment that line, the drivers work, UART works, etc., presumably because the ground connection is turned on by default in this case. However, my TMC2208’s then can’t be disabled — idle timeout and M84 do nothing on them (my two A4988’s do turn off, however). I’m not sure why that is, but Marlin’s doing it, as they start out turned off, and only turn on when Marlin finishes its boot logo animation.

Marlin appears to be calling upon the TMCstepper code until before it does its anti-SNAFU checks and has turned the power control circuit on.

So, don’t try to query the drivers, and definitely do not allow any STEP/DIR/EN output to a driver that doesn’t report all good, until after the anti-SNAFU code is happy and the Q1 power control circuit has been turned on, and thus chip has a valid ground reference.

If that means that some user can’t print anymore because some other issue makes their drivers throw UART errors (that they’ve perhaps been ignoring), then so be it. They need to fix their hardware. If they’re in a hurry, they could of course put those axes into A4988 or standalone mode.

Bug Timeline

Unknown timeline, but new to me since I’m working with new hardware.

Expected behavior

As described above.

Actual behavior

Bad UART comms causing TMC connection errors, high risk of driver burn-out.

Источник

((TMC connection Error)) #46

Dear Friends ,
Since 2 week i work on SKR 1.3 with BLTouach and TFT SKR.
and i have The Original TMC 2130 from WATTEROTT .
when i configured the board with Marlin-bugfix-2.0.x .
i have always ((TMC connection Error)) on / display 12864/,
and on Pronterface With (( M122 Code)) i have:

SENDING:M122 S0
X Y Z E
Enabled false false false false
Set current 800 800 800 800
RMS current 1436 1436 1436 1436
MAX current 2025 2025 2025 2025
Run current 25/31 25/31 25/31 25/31
Hold current 12/31 12/31 12/31 12/31
CS actual 0/31 0/31 0/31 0/31
PWM scale 0 0 0 0
vsense 0=.325 0=.325 0=.325 0=.325
stealthChop false false false false
msteps 256 256 256 256
tstep 0 0 0 0
pwm
threshold 0 0 0 0
[mm/s] — — — —
OT prewarn false false false false
off time 0 0 0 0
blank time 16 16 16 16
hysteresis
-end -3 -3 -3 -3
-start 1 1 1 1
Stallguard thrs 2 2 0 0
DRVSTATUS X Y Z E
stallguard
sg_result 0 0 0 0
fsactive
stst
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:
X 0x00:00:00:00 Bad response!
Y 0x00:00:00:00 Bad response!
Z 0x00:00:00:00 Bad response!
E 0x00:00:00:00 Bad response!
Testing X connection. Error: All LOW
Testing Y connection. Error: All LOW
Testing Z connection. Error: All LOW
Testing E connection. Error: All LOW

my mode is: TMC 2130 /SPI Mode/Sensor less homing for X and Y BLTouch.
Of course, i changed the processor name to(LPC1768) and motherboard name to (BOARD_BIGTREE_SKR_V1_3)

So I need your help and suggestions Please

The text was updated successfully, but these errors were encountered:

Источник

Eryone 3D

Here you can share you ideas and we provide professional service

Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.

Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.

Post by dapostol73 » Mon Mar 29, 2021 2:10 am

Hello, I recently tried upgrading to TMC2209 for my Thinker S V2. It works if I use the HEX file provide, however I need to compile my own to configure Filament Runout and BLTouch. However, when ever I do this, Marlin report «TMC Connection Error» on boot up. The stepper work, but using Sensorless homing fails. If I run GCode M122 I get the following.

Recv: Driver registers:
Recv: X 0x00:00:00:00 Bad response!
Recv: Y 0x00:00:00:00 Bad response!
Recv: Z 0x00:00:00:00 Bad response!
Recv: E 0x00:00:00:00 Bad response!
Recv:
Recv:
Recv: Testing X connection. Error: All LOW
Recv: Testing Y connection. Error: All LOW
Recv: Testing Z connection. Error: All LOW
Recv: Testing E connection. Error: All LOW

I’ve made sure I update the Thinker Rambo config to have setting for Serial and I’m not sure what else to try, help please.

If anyone want to take a look at the config files, they can use my repository here for bugfx 2.0.X
https://github.com/dapostol73/Marlin/tree/bugfix-2.0.x

Re: Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.

Post by dapostol73 » Tue Mar 30, 2021 6:29 am

Update: This the expected behavior for TMC2209 with Thinker V2 as outline in this document on GitHub for future reference.

Re: Marlin 2.0.x bugfix with TMC2209 — TMC Connection Error.

Post by William » Tue Mar 30, 2021 10:09 am

Источник

Проблема «Сбой связи с TMC», плата SKR 1.3 с TMC2209 v 1.2

Приветствую коллеги) Помогите пожалуйста, ставлю новую плату BTT SKR 1.3 с драйверами от BTT TMC2209 v1.2, возникает проблема — не двигается ось Y. Подробнее:

1. Провод мотора и сам мотор Y работают исправно — когда его подключаешь к драйверу X, все движется как нужно.

2. Драйвер заранее исправный: когда меняешь драйвера на разных осях местами, не работает только Y.

3. На экране выводится ошибка: «Сбой связи с TMC»

4. Проблема не в сработке концевика, он работает исправно.

5. Нюансик: когда принтер выключен, я двигаю ось X, мотор вырабатывает электричество, которое переходит на плату и на ней загораются светодиоды. Но когда двигаю ось Y, электричество на моторе появляется, но на плате светодиоды не загораются. То есть наверное дело не в прошивке, ведь электричество не проходит на плату через драйвер даже когда она выключена.

Я не спец, вот как я это вижу: проблема кроется в плате, на которой сгорел какой-нибудь кондерчик, из-за чего она не может послать сигналы на драйвер. Но как это проверить и починить?

Прилагаю фотки платы:tmc connection error

Источник

RepRap forum

RAMPS 1.4 MArlin 2.0.9.2 + BTT TMC2208 UART — TMC Connection Error

I have a Ramps 1.4 board that I am trying to use with BigTreeTech’s TMC2208 (v3.0) in UART mode with Marlin 2.0.9.2. I was able to get the motors moving correctly with A4988s, as well as TMC2208s in standalone mode.

I then attempted to connect the driver to the Ramps board via UART using the method described in the following instructable, however I consistently get a «TMC Connection Error». M122 confirms that the pins are all low (see below readout) — Please note that I have reverted the x-axis to standalone mode. The extruder driver in the left of the frame has ‘extensions on the pins as as attempt to bypass the UART pin on the bottom side of the board. My Y-cables measure properly as far as I can tell, both in terms of continuity and resistance.

[www.instructables.com]

M122 readout:

I am using pin 4 (from the enable pin) on the TMC2208 as the UART pin, based on BTT’s schematic, and the jumper that was soldered. Please see attached picture of the connection at the Ramps Aux serial pins. The yellow cables are the Tx pins with the 1K resistor.

I may have connected the board to 5V via USB first before 12V, which I read could possible ‘damage’ the driver, but the drivers still work in standalone mode. [learn.watterott.com]

I have attached my config and configuration_adv files. I am using the default pins from pins_RAMPS.h

Thanks in advance. Please let me know if additional information is required.

Attachments:

open | download —
Configuration.h
(113.2 KB)

open | download —
Configuration_adv.h
(166.9 KB)

open | download —
IMG_20211220_072605918_1067.jpg
(91.7 KB)

open | download —
M122 Readout_20211220_2200.txt
(952 bytes)

Bad picture.. cannot see anything

You need 12v first for TMC’s to work correctly.

One thing to check is some particularly nasty ramps come with pcb traces under the micro stepping pins, so even if you remove the jumpers they are still connected.
Check they are really disconnected with a multimeter.

Edited 1 time(s). Last edit at 12/21/2021 09:13PM by Dust.

Quote
Dust
Bad picture.. cannot see anything

Apologies, I thought that the Rx and Tx pin connections on the Ramps were a likely source of error, as opposed to the rest of the board.

Quote
Dust
One thing to check is some particularly nasty ramps come pcb traces under the micro stepping pins, so even if you remove the jumpers they are still connected.
Check they are really disconnected with a multimeter.

I checked the continuity on the microstep/jumper pins, and they are all connected to their adjacent pin even without the jumper installed. I never would have thought to check that, but I see that the wiki does have a line specifically addressing this issue. Will these permanent connections damage the drivers if I try to use UART?

I have another board that does not have any continuity between the jumper pins — I will try that board (with 12 V) and advise.

Thanks

I don’t know if that would damage the stepper driver or not.

Update: I swapped out the RAMPS board with the permanent continuity across the jumper pins, and instead used a RAMPS board with properly isolated jumper/micro-step pins (but without any jumpers). UART appears to work for all axes (no issues according to M122), and the movement appears to be OK (only X-axis was tested).

The drivers seem to be undamaged by the ‘permanent jumpers’ from the previous board, so the only apparent side effect of the jumpers seems to be a lack of UART capability.

Thank you Dust! I never would have thought to check the continuity of the jumper pins. I should be able to get my printer back up and running by this weekend. Hopefully this helps someone else in the future.

Cheers.

I have BTT SKR V1.4 & TMC2208

Here is M122 readout. Please help.

Connecting…

Printer is now online.

>>> M122

SENDING:M122

                             X            Y              Z            Z2          E

Address               0            0              0            0            0

Enabled                             false              false      false      false              false

Set current         650        800              650        650        800

RMS current      1160      1436              1160      1160      1436

MAX current      1636      2025              1636      1636      2025

Run current        20/31    25/31              20/31    20/31    25/31

Hold current      10/31    12/31              10/31    10/31    12/31

CS actual             0/31      0/31              0/31      0/31      0/31

PWM scale

vsense                 0=.325  0=.325              0=.325  0=.325  0=.325

stealthChop       false      false              false      false      false

msteps                256        256              256        256        256

interp                  false      false              false      false      false

tstep                    0            0              0            0            0

PWM thresh.

[mm/s]

OT prewarn        false      false              false      false      false

triggered

 OTP                     false      false              false      false      false

pwm scale sum 0            0              0            0            0

pwm scale auto 0            0              0            0            0

pwm offset auto              0              0            0            0              0

pwm grad auto  0            0              0            0            0

off time 0            0            0              0            0

blank time          16          16              16          16          16

hysteresis

 -end                    -3           -3              -3           -3           -3

 -start                  1            1              1            1            1

Stallguard thrs   0            0              0            0            0

uStep count       0            0              0            0            0

DRVSTATUS        X            Y              Z            Z2          E

sg_result             0            0              0            0            0

stst                      *            *              *            *            *

olb

ola

s2gb

s2ga

otpw

ot

157C

150C

143C

120C

s2vsa

s2vsb

Driver registers:

                             X              0x00:00:00:00    Bad response!

                             Y              0x00:00:00:00    Bad response!

                             Z              0x00:00:00:00    Bad response!

                             Z2              0x00:00:00:00    Bad response!

                             E              0x00:00:00:00    Bad response!

Testing X connection… Error: All LOW

Testing Y connection… Error: All LOW

Testing Z connection… Error: All LOW

Testing Z2 connection… Error: All LOW

Testing E connection… Error: All LOW

//action:notification TMC CONNECTION ERROR

ok P15 B3

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

I was getting the same issue/error code, but for my Y2 axis:

TMC2208 or TMC2209 on Y2 requires Y2_HARDWARE_SERIAL or Y2_SERIAL_(RX|TX)_PIN

I’m running Marlin 2.0, on an MKS Gen L V2.1 with TMC2209 (BigTreeTech v1.2) drivers. I have X, Y, Y2 (Running on E1 driver) and E0 for a custom scientific instrument (that is not a 3D printer, but it uses the same firmware and G-Code to move about so it is all the same). I initially tried to get this all going on the MKS Gen L V1, however, it only has UART for 4 Drivers (see the video by Teaching Tech). You can not get 5 drivers controlled by UART moving on this V1.0 board. For this reason, I moved over to the MKS Gen L V2.1. If this V1 board is all you have, I guess you could leave one driver as an A4988 or DRV8825 and accept the loss of the upgrade to the TMC2209 for one axis. This was the firmware that won’t ask for Serial Pins, which is where most of this issue comes from.

SOLUTION:

The above solution by ‘Jiří Maier’ mostly fixed my problem. There are a few things to note and modify though:

In configuration.h, #define EXTRUDERS 1 defines the number of extruders. This is important here I think (I’m 85% on this). This value will push the ‘extruder’ down onto the next available stepper driver, which will be E0. Therefore I moved my Y2 driver to E1 as E0 was ‘occupied’ by the extruder.

In configuration.h, make sure the DRIVER_TYPE axes are all set correctly to the number of drivers you actually have. For example, I am using a driver for X, Y, Z, Y2, and an extra one E0 (for pumping liquids), so 5 total. Here, Y2 will replace the E1 driver, so E1 is commented out. Therefore, all used drivers have the TMC2209 commented in here. Everything else should be commented out.

Screen shot of Marlin 2.0 Firmware, in Configuration.h section. Search for 'X_DRIVER_TYPE'

After this then you can assign the pins as mentioned by Jiří Maier.

In the pins_MKS_GEN_L_V21 file I changed all starts of the code for E1_SERIAL_TX_PIN to Y2_SERIAL_TX_PIN, like below:

#ifndef Y2_SERIAL_TX_PIN                           
  #define Y2_SERIAL_TX_PIN                    20    
#endif
#ifndef Y2_SERIAL_RX_PIN                    
  #define Y2_SERIAL_RX_PIN                    12    
#endif

Similarly, in the pins_RAMPS file I changed the E1_STEP_PIN to Y2_STEP_PIN and so on, see the image below.

#define Y2_STEP_PIN                           36                          
#define Y2_DIR_PIN                            34    
#define Y2_ENABLE_PIN                         30    
#ifndef Y2_CS_PIN                   
  #define Y2_CS_PIN                           44

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

When building with the default values in stm32h7.ini for platform and platform-packages, the resulting build has UART issues with at least TMC2208, TMC2209 and EZ2209 stepper drivers. Updating to use more current platform and platform-packages resolve those issues.

This was a day one issue for me regardless of the version of Marlin I was building (2.0.x and 2.1.x). Hardware tested was a BTT SKR 3 EZ with EZ2209 as well as TMC2208 v3.0 stepper sticks on an Ender 3 Max (not that it matters).

After doing testing, everything is operating as expected and the MCU is no longer reporting TMC connection errors.

There is very likely a better way to do this, but my successful build that resolved the TMC CONNECTION ERRORS was using the values in STM32h7.ini show below.

...
#
# BigTreeTech SKR V3.0 / V3.0 EZ (STM32H743VIT6 ARM Cortex-M7)
#
[env:STM32H743Vx_btt]
extends                     = stm32_variant
#platform                    = ststm32@~14.1.0
platform                    = ststm32@~15.4.1
#platform_packages           = framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/main.zip
platform_packages           = framework-arduinoststm32@~4.20200.220530
board                       = marlin_STM32H743Vx
board_build.offset          = 0x20000
board_upload.offset_address = 0x08020000
build_flags                 = ${stm32_variant.build_flags}
                            -DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9
                            -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
                            -DPIN_SERIAL4_RX=PA_1 -DPIN_SERIAL4_TX=PA_0
                            -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
                            -DTIMER_SERVO=TIM5 -DTIMER_TONE=TIM2
                            -DSTEP_TIMER_IRQ_PRIO=0
                            -DD_CACHE_DISABLED
upload_protocol             = cmsis-dap
debug_tool                  = cmsis-dap

Bug Timeline

This has happened from every build I have attempted to compile for this board.

Expected behavior

Firmware would build and operate normally with error free UART communications to the stepper drivers.

Actual behavior

Before making the changes, the MCU would report TMC CONNECTION ERROR message to the display, and M122 command would show ALL LOW errors that would jump around from stepper to stepper. Stepper drivers with errors were also not properly configures as expected for a stepper driver the MCU is not reliably able to communicate with. Output from M122 command is shown below:

M122
		X	Y	Z	Z2	E
Address		0	0	0	0	0
Enabled		true	false	false	false	false
Set current	560	560	560	560	600
RMS current	994	550	550	994	581
MAX current	1402	776	776	1402	819
Run current	17/31	17/31	17/31	17/31	18/31
Hold current	8/31	8/31	8/31	8/31	9/31
CS actual	0/31	8/31	8/31	0/31	9/31
PWM scale					
vsense		0=.325	1=.18	1=.18	0=.325	1=.18
stealthChop	false	true	true	false	true
msteps		256	16	16	256	16
interp		false	true	true	false	true
tstep		0	max	max	0	max
PWM thresh.					
[mm/s]						
OT prewarn	false	false	false	false	false
triggered
 OTP		false	false	false	false	false
pwm scale sum	0	10	10	0	11
pwm scale auto	0	0	0	0	0
pwm offset auto	0	36	0	0	36
pwm grad auto	0	14	14	0	14
off time	0	4	4	0	4
blank time	24	24	24	16	24
hysteresis
 -end		-3	2	2	-3	2
 -start		1	1	1	1	1
Stallguard thrs	0	0	0	0	0
uStep count	0	40	40	0	40
DRVSTATUS	X	Y	Z	Z2	E
sg_result	0	0	0	0	0
stst		*		*	*	
olb						
ola						
s2gb						
s2ga						
otpw						
ot						
157C						
150C						
143C						
120C						
s2vsa						
s2vsb						
Driver registers:
		X	0x00:00:00:00	 Bad response!
		Y	0xC0:08:00:00
		Z	0xC0:08:00:00
		Z2	0x00:00:00:00	 Bad response!
		E	0xC0:09:00:00


Testing X connection... Error: All LOW
Testing Y connection... OK
Testing Z connection... OK
Testing Z2 connection... Error: All LOW
Testing E connection... OK
ok


M122
		X	Y	Z	Z2	E
Address		0	0	0	0	0
Enabled		false	false	false	false	false
Set current	560	560	560	560	600
RMS current	994	550	550	994	581
MAX current	1402	776	776	1402	819
Run current	17/31	17/31	17/31	17/31	18/31
Hold current	8/31	8/31	8/31	8/31	9/31
CS actual	0/31	8/31	8/31	0/31	9/31
PWM scale					
vsense		0=.325	1=.18	1=.18	0=.325	1=.18
stealthChop	false	true	true	false	true
msteps		16	16	16	256	16
interp		false	true	true	false	true
tstep		0	max	0	0	max
PWM thresh.					
[mm/s]						
OT prewarn	false	false	false	false	false
triggered
 OTP		false	false	false	false	false
pwm scale sum	0	10	10	0	11
pwm scale auto	0	0	0	0	0
pwm offset auto	36	36	36	0	36
pwm grad auto	0	14	14	0	14
off time	0	4	4	0	4
blank time	16	24	24	16	24
hysteresis
 -end		-3	2	2	-3	2
 -start		1	1	1	1	1
Stallguard thrs	0	0	0	0	0
uStep count	0	40	40	0	40
DRVSTATUS	X	Y	Z	Z2	E
sg_result	0	0	0	0	0
stst		*			*	
olb						
ola						
s2gb						
s2ga						
otpw						
ot						
157C						
150C						
143C						
120C						
s2vsa						
s2vsb						
Driver registers:
		X	0x00:00:00:00	 Bad response!
		Y	0xC0:08:00:00
		Z	0xC0:08:00:00
		Z2	0x00:00:00:00	 Bad response!
		E	0xC0:09:00:00


Testing X connection... Error: All LOW
Testing Y connection... OK
Testing Z connection... Error: All LOW
Testing Z2 connection... Error: All LOW
Testing E connection... OK
ok

Steps to Reproduce

  1. Build Marlin with unmodified stm32h7.ini file
  2. Define either TMC2208 or TMC2209 *_DRIVER_TYPE in Configuration.h
  3. Build in VSC/PIO/ABM
  4. Flash firmware.bin to printer and TMC CONNECTION ERROR is displayed on the LCD with M122 showing ALL LOW and misconfigured drivers.

Version of Marlin Firmware

2.0.x and 2.1.x

Printer model

Ender 3 Max

Electronics

SKR 3 EZ motherboard with EZ2209 or TMC2208 v3.0 BTT stepper drivers

Add-ons

Unlikely to be involved, but the printer is also configured with a CRTouch, TFT35 E3 display, BIGTREETECH ESP8266 WiFi Transceiver Module (ESP12S),

Bed Leveling

UBL Bilinear mesh

Your Slicer

Cura

Host Software

OctoPrint

Don’t forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

Enabling or disabling other features had not effect on the UART communication errors with the stepper drivers. I attempted builds that just configured the board, and stepper drivers and it still resulted in issued. The attached configurations enable all the features I wanted and produced errors with the default stm32h7.ini, but the errors were resolved with when I modified the file as noted above.

Configurations:
Configurations.zip

There was also discussion of this issue on BTT github:
bigtreetech/SKR-3#13

Понравилась статья? Поделить с друзьями:
  • Tmac runtime error
  • Tm5 crash thread error handler
  • Tls negotiation failed with error certunknown
  • Tls negotiation failed with error algorithmmismatch
  • Tls handshake failed openvpn ошибка