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

TMC2130 Temp Error instantly #11129

Closed tomsour1s closed 6 years ago

tomsour1s commented 6 years ago

Hey guys,

i am helpless. I am using TMC2130 from Watterott. When I start the printer I get instantly a temp error. What I have: -TMC2130 X,Y,Z -> for testing only on X ATM -MKS GEN 1.4 -Marlin 1.1.8/2.0

What I did : -Check the connections multiple times -Replaced the TMC2130 against new ones -Replaced all cables -Switched the pins on the board -Used Marlin 1.1.8 and 2.0 -Set the current to -> 200 -> for testing -> same Issue -turned off/on //#define STOP_ON_ERROR -turned off/on //#define CURRENT_STEP_DOWN 50 // [mA]

Debug:

SENDING:M122
        X
Enabled     false
Set current 200
RMS current 183
MAX current 258
Run current 5/31
Hold current    2/31
CS actual       31/31
PWM scale       255
vsense      1=.18
stealthChop true
msteps      0
tstep       4294967295
pwm
threshold       0
[mm/s]      -
OT prewarn  true
OT prewarn has
been triggered  true
off time        15
blank time  54
hysteresis
-end        12
-start      8
Stallguard thrs 0
DRVSTATUS   X
stallguard      X
sg_result       1023
fsactive        X
stst        X
olb     X
ola     X
s2gb        X
s2ga        X
otpw        X
ot      X
Driver registers:   X = 0xFF:FF:FF:FF
00:00: X driver overtemperature warning! (200mA)
00:00: X driver overtemperature warning! (200mA)
00:00: X driver overtemperature warning! (200mA)

Config 2.0.zip 1.1.8.zip

Soldering:

bildschirmfoto 2018-06-27 um 21 39 24

Maybe someone can help me. Thanks

teemuatlut commented 6 years ago

Please see this first: http://marlinfw.org/docs/hardware/tmc_drivers.html#troubleshooting

tomsour1s commented 6 years ago

Thank you teemuatlut, I spend 10h of dubbing with this Site and I read a bunch of your comments o on git. But i found no Solution...

alexxy commented 6 years ago

Seems similar to last comments about tmc2660 #8138

crzcrz commented 6 years ago

Have you scraped off the solder mask from the thermal vias before installing the heatsink on the stepstick? Did you try measuring how hot the drivers get? You may need a fan blowing on the driver heatsinks as well.

teemuatlut commented 6 years ago

That's not the issue as the driver is not actually overheating. The response (0xFFFFFFFF) Marlin got from the driver was invalid and Marlin reacted with the information it had. I think I'll be adding some sanity checking as this seems like a frequent phenomenon.

Have you tried getting the examples working first? Perhaps try with Software SPI.

crzcrz commented 6 years ago

My bad, I did not pay much attention to the log and missed the invalid response.

teemuatlut commented 6 years ago

Always nice to see people trying to help each other as then I don't have to tackle every support request myself. The invalid response should become much more user friendly in the future when I get some PRs rolling.

Ludy87 commented 6 years ago

have you remove all bridge under your tmc's?

porcinus commented 6 years ago

I had similar troubles when I connected TMC spi to hardware spi in my RADDS (sharred with sdcard). After moving to software spi, no more problems but in my case I was not able to use whatever pins I wanted, for exemple max endstop pins didn't work. I also had to flip sdi and sdo wiring (maybe a mistake at start)

mbuc commented 6 years ago

I had this issue as well. After using a logic analyzer I found that the chip select pin didn't have any activity on it. After changing it in firmware to use an available pin it worked.

porcinus commented 6 years ago

What version of the drivers do you use Tomsouris? Driver that come with header solder to use spi don't need any desolder but when you buy the one with all header on the bottom, you need to remove the bridge as Ludy87 say

tomsour1s commented 6 years ago

@porcinus I have the "orginal" ones from Watterot. These ones have the correct soldering.

@mbuc @porcinus I will try that! Thanks

govido commented 6 years ago

Hi, I hope you configured the chip select of the driver correctly and put a extra cable for the stepper on the ramps. Your drawing isn't showing the chip select wires. I had similar issues with spi/cs problems. I recommend the old breadboard and jumper wire debugging method. If that also fails test software spi (especially if using SD card)

tomsour1s commented 6 years ago

@govido Yes the cable is plugged in :P. ATM I am trying to debug it with the "old" method. I am not sure how to setup the software SPI -> are there any usefull links for that?

govido commented 6 years ago

OSoftware spi is pretty easy in the current bugfix build. You define software spi in advanced conf and in the pins ramps file are the software spi pins pre-configured. Just uncomment and if needed change pin numbers.

Edit: I just doublechecked: You can set everything directly in the configuration adv file. Just under the Tmc2130 section set the miso, mosi and clk pins that are set to - 1. If these are not defined there the pins ramps file will get used if I remember correctly. Hope this helps

tomsour1s commented 6 years ago

@govido tryed it with SW SPI (standard PINS) dont work. Now i got: Driver registers: X = 0x00:00:00:00 Thats not better as FFFFFFFF

tomsour1s commented 6 years ago

@teemuatlut I unterstand that X = 0x00:00:00:00 and FFFFFFFF are communcation errors, but is there any difference between these erros?

porcinus commented 6 years ago

@tomsouris Does your SD card work? If you, just to test, something you can do is to comment SDSUPPORT in Configuration.h, rewire SPI to pins shown on your diagram. Don't miss to roll back modification made in configuration adv file about software SPI. If it still doesn't work, you maybe have a CS pin trouble as Mbuc and Govido suggest

tomsour1s commented 6 years ago

@porcinus I will try that quick and send you a report.

govido commented 6 years ago

Some problems I ran into with Tmc2130 myself: Powering on is important to initialize the drivers correctly, otherwise they won't turn a bit. That means 1. Everything off 2. Printer Voltage on (12 or 24V power supply) then 3. the arduino. That means unplugging it from USB or extra power plug. I made the mistake reflashing the mega several times without turning everything off and on. The tmc need motor voltage first, then the arduino. Another thing that made me crazy was a false production ramps. The ms1 ms2 and ms3 headers weren't cut on the board traces. That meant even if no jumpers were connected all pins were connected to ground. Because I soldered my spi connections under the ramps board, communication was never possible until I desoldered the board ms1-3 pins and cut the traces. Maybe a photo could give us a hint what's wrong with your solution. I am using fystec (1x) and watterott (3x) drivers btw.

tomsour1s commented 6 years ago

I dowloaded a fresh/naked version of Marlin 1.1.8

Changes made:

1.

#define MOTHERBOARD BOARD_MKS_13

2.

//#define SDSUPPORT

3.

#define HAVE_TMC2130

#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)

  // CHOOSE YOUR MOTORS HERE, THIS IS MANDATORY
  #define X_IS_TMC2130
  //#define X2_IS_TMC2130
  #define Y_IS_TMC2130
  //#define Y2_IS_TMC2130
  #define Z_IS_TMC2130

  #define MONITOR_DRIVER_STATUS

  #if ENABLED(MONITOR_DRIVER_STATUS)
    //#define CURRENT_STEP_DOWN     50  // [mA]
    #define REPORT_CURRENT_CHANGE
    //#define STOP_ON_ERROR
  #endif

4.

#define TMC_DEBUG

The rest is standard -> no PINS changed No LCD configured or PlugIn

For better pictured I unplugged everything. img_5331 img_4744 img_7034

bildschirmfoto 2018-06-28 um 19 13 05
Ludy87 commented 6 years ago

really stupid without heat sink! 😂😂

tomsour1s commented 6 years ago

for what should I put a heatsink on the drivers when they dont work? They dont even get warm because they dont work. What a brilliant usefull comment.

MikeLud commented 6 years ago

@tomsouris

Below is how I have my MKS Gen L wired up, it should work for your board, make sure you make the change in note 2 MKS_Gen-L_TMC2130_SPI_Sensor-less_Homing_Wiring_Diagram (1).pdf

tomsour1s commented 6 years ago

Okay I will give that a try.

teemuatlut commented 6 years ago

https://github.com/teemuatlut/TMC2130Stepper/issues/28 Perhaps that discussion can be of help. I don't have any MKS boards myself.

MikeLud commented 6 years ago

@tomsouris I am wondering how you made out, did you resolve your issues?

mbuc commented 6 years ago

@MikeLud I believe I have mine wired in the exact same way (though on a RAMPS 1.4) and it's working well.

tomsour1s commented 6 years ago

I had 2 days of very intense testing. Nothing worked. I now ordered a new MKS. I will test this tomorrow and let you know

tomsour1s commented 6 years ago

Okay, problem solved. It was the Board. I ordered the exact same one, same configuration now it is working. Thanks to all and sorry.

bildschirmfoto 2018-07-05 um 17 40 47
daverdfw commented 6 years ago

Okay, problem solved. It was the Board. I ordered the exact same one, same configuration now it is working. Thanks to all and sorry.

bildschirmfoto 2018-07-05 um 17 40 47

I am having the exact same issues! I just ordered a replacement MKS Gen L board. Could only ever get SW SPI to work. No HW using the FYSTEC and Watterott boards.

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.