TMC2208 Spreadcycle woes

So I just hooked up some TMC2208 stepper drivers to my GRBL based ZenXY. It was functioning really quiet like but was skipping steps here and there due to the stealthchop. I wanted to run my table a little faster, but increasing the Vref didn’t even make any difference. So after reading the mode select docs I decided to switch it over to spreadcycle so that I could get the full torque out of my motors, and maybe it wouldn’t be that much louder. Anyway, I pulled out my USB to UART and followed the directions for the switch, It took and I verified it, but now I think I’ve shot myself in the foot because when I use the ScriptComm tool to set all the settings, once I remove power and slot them into my controller board, the motors don’t enable. When I hook it back up to the programmer and reconnect with ScriptComm, the TOFF value is back to 0, which is motors disabled. So, I guess these values aren’t static in spreadcycle and I now cannot use these drivers in legacy mode, or am I just missing something? I’ve searched all over and can’t find anything specifically stating when switching modes it kills the legacy usability. And this was a one way switch with no going back.

Any info pointing either way would put my mind at ease. TIA

Huh. I didn’t realize you could do that. On the spi drivers I’ve used, the configuration is with these little solder pads on the bottom.

One person who might be able to help is teemalut, who wrote the integration of tmc in Marlin and maintains the tmc library for arduino. You might be able to find them on the Marlin discord.

Short of that, I think you’ve got to go reading the datasheet. Hopefully it won’t come to that, but many datasheets are well written.

Heh, I just figured it out. Yeah, you do have to solder the pads to access the UART programming feature though. I missed a step when programming the OTP. Really excellent video HERE on configuring the TMC2208 in “standalone” mode. I missed the part where you set the 1.1 Byte/Bit setting (permanently sets the TOFF setting) after setting the 2.7 setting (permanently setting the spreadcycle mode). This is basically legacy spreadcycle instead of legacy stealthchop. Now that being said, I wouldn’t recommend it. I see/hear no noticeable difference in noise now as opposed to the DRV8825s. At least in this application. :poop:

1 Like

And actually, I swapped them into one of my 3D printers, I think they are now louder. Like they have been reverted to 1/16 step with no interpolation. At least I only ruined 2 out of 5 :sweat_smile: Put the DRV8825s back in. Now I’m sure most of my problem is I’m using high volt, low torque motors. So there’s that. :thinking:

I don’t run my table very fast. But I use a 2axis board from bart dring that uses grbl_esp32 and tmc 2130s. It talks to them via spi, but I honestly haven’t dove deep to see how much control the software gives you. But it is a neat solution.