MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.3k stars 19.25k forks source link

[2.0.x]TMC2208 UART won't start in stealthchop #12954

Closed jvdbrg closed 5 years ago

jvdbrg commented 5 years ago

The TMC2208 UART connected drivers won't start in stealtchop.

  1. Upload firmware
  2. Do a G28

Because I configured the drivers to operate in stealthchop until a certain threshold I would expect the drivers to run in stealtchop and not in spreadcycle.

Dre drivers however run in spreadcycle and make a terrible noise. They will run in Stealtchop by setting them in the LCD menu.

However when I store the parameters this setting doesn't seem to be stored.

Config files.zip

teemuatlut commented 5 years ago

How does the printer sound if you do a G1 X10 right after the reboot when the driver is supposed to be in stealthChop but is in spreadCycle instead?

Can you give the M122 V output before and after movement? You'll need TMC_DEBUG for this.

It'll help if you can give the debugging information at every step of the way.

jvdbrg commented 5 years ago

G1 X10 immediately sets the driver to spreadcycle.

The LCD also states the drivers aren't in stealthchop either until I toggle them on the LCD (this works great BTW even when the printer is running :) )

For the moment I use this in Octoprint but I don't think that should be the real solution:

M569 S1 XYE

M122 V before movement:

    X       Y       E   
GCONF       0x00:00:00:C4   0x00:00:00:C4   0x00:00:00:C4   
IHOLD_IRUN  0x00:0A:19:0C   0x00:0A:19:0C   0x00:0A:19:0C   
GSTAT       0x00:00:00:00   0x00:00:00:00   0x00:00:00:00   
IOIN        0x20:00:01:41   0x20:00:01:41   0x20:00:03:41   
TPOWERDOWN  0x00:00:00:80   0x00:00:00:80   0x00:00:00:80   
TSTEP       0x00:0F:FF:FF   0x00:0F:FF:FF   0x00:0F:FF:FF   
TPWMTHRS    0x00:00:00:4F   0x00:00:00:4F   0x00:00:00:3B   
TCOOLTHRS                           
THIGH                               
CHOPCONF    0x14:02:81:03   0x14:02:81:03   0x16:02:81:03   
COOLCONF                            
PWMCONF 0xC8:0D:0E:24   0xC8:0D:0E:24   0xC8:0D:0E:24   
PWM_SCALE   0x00:00:00:0E   0x00:00:00:0E   0x00:00:00:0E   
DRV_STATUS  0x80:0C:00:C0   0x80:0C:00:C0   0x80:0C:00:C0   
Testing X connection... OK
Testing Y connection... OK
Testing E connection... OK

M122 V after movement:

    X       Y       E   
GCONF       0x00:00:00:C4   0x00:00:00:C4   0x00:00:00:C4   
IHOLD_IRUN  0x00:0A:19:0C   0x00:0A:19:0C   0x00:0A:19:0C   
GSTAT       0x00:00:00:00   0x00:00:00:00   0x00:00:00:00   
IOIN        0x20:00:01:40   0x20:00:40:50   0x20:00:03:41   
TPOWERDOWN  0x00:00:00:80   0x00:00:00:80   0x00:00:00:80   
TSTEP       0x00:0F:FF:FF   0x00:0F:FF:FF   0x00:0F:FF:FF   
TPWMTHRS    0x00:00:00:4F   0x00:00:00:4F   0x00:00:00:3B   
TCOOLTHRS                           
THIGH                               
CHOPCONF    0x14:02:81:03   0x14:02:81:03   0x16:02:81:03   
COOLCONF                            
PWMCONF 0xC8:0D:0E:24   0xC8:0D:0E:24   0xC8:0D:0E:24   
PWM_SCALE   0x00:00:00:0E   0x00:00:00:0E   0x00:00:00:0E   
DRV_STATUS  0x80:0C:00:00   0x80:0C:00:C0   0x80:0C:00:C0   
Testing X connection... OK
Testing Y connection... OK
Testing E connection... OK

Please note: The E stepper is a different driver. So I think this is why some of the values are different.

teemuatlut commented 5 years ago

I can see from your GCONF output that the driver truly is in spreadCycle mode both before and after the movement. I'm guessing I missed something as I did most of my testing with TMC2130 where the logic is flipped compared to TMC2208. Thanks for letting me know and I'll be able to look into this more some time next week.

this works great BTW even when the printer is running :)

Good to hear!

boelle commented 5 years ago

@jvdbrg problem solved?

github-actions[bot] commented 4 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.