Notifications
Clear all

[Closed] TMC Driver Overtemp  

  RSS
Andrew Whittle
(@andrew-whittle)
Active Member
TMC Driver Overtemp

Hi There,

I am scared to even ask this because i am sure the answer is bad.

My MK3 has been working amazing and then i tried to make the wires in the control box a little cleaner as i plan putting a pi zero in. When i closed it up and turned it on, i heard a quick pop. I turned it right off and now when i power it on i get a message that says "TMC Driver Overtemp" right away.

How bad is it...? 🙁

Napsal : 06/01/2018 8:35 am
reid.b
(@reid-b)
Reputable Member
Re: TMC Driver Overtemp

You probably let the smoke out of a component. Open it back up, take a look, sniff around. Whatever popped might be evident...

Napsal : 06/01/2018 9:02 am
Andrew Whittle
(@andrew-whittle)
Active Member
Topic starter answered:
Re: TMC Driver Overtemp

Yeah, I have taken the board out but don't see anything obvious. Clearly hoping it is 1 of the fuses but they look ok (hard to tell). The obvious choice would be the caps but they all look fine. Would love to know from prusa which component might flag that message on the LCD. It powers up which I guess is the good news.

Napsal : 06/01/2018 9:15 am
Peter
(@peter-12)
Estimable Member
Re: TMC Driver Overtemp

The trinamic drivers include a temperature safety check. Specifically, your printer has triggered the overtemperature pre-warning flag. Either because it is too hot - the trigger for the error seems to be around 120 degrees - or because something is broken. In any case it seems to be a hardware error.

Check section 12.1 for details.

Napsal : 06/01/2018 11:17 am
Andrew Whittle
(@andrew-whittle)
Active Member
Topic starter answered:
Re: TMC Driver Overtemp

Thanks a lot for that link Zaz. It is super helpful. It looks like it is possible the issue was caught before it could do permanent damage according to the document. I will read it more and try following its debug steps.

Napsal : 06/01/2018 12:56 pm
Peter
(@peter-12)
Estimable Member
Re: TMC Driver Overtemp

I would also definitely advise you to contact Prusa support, if you haven't already. 🙂

Napsal : 06/01/2018 4:26 pm
Andrew Whittle
(@andrew-whittle)
Active Member
Topic starter answered:
Re: TMC Driver Overtemp

Ok, so i am doing some more debugging and connected up the serial monitor and found more info.

It has nothing to do with the Temp Error, it looks like the Z and E TMC2130s are returning status of 0xFF. This leads me to believe the chip is disabled because a pin is high when it should be low or low when it should be high. I am not an expert but if it were fried competely, i don't think i would get any status back from the I2C call. Correct? Is there a way to reset the driver or maybe is there a likely component or pin on the TMC2130 that i can trace to find the issue?

In the documentation it says the following, i don't know how to "disable and re-enable" the driver:

Once a short condition is safely detected, the corresponding driver bridge becomes switched off, and
the s2ga or s2gb flag becomes set. In order to restart the motor, the user must intervene by disabling
and re-enabling the driver.

I am already resigned to probably having to order a new board, I am just using this as a learning opportunity and hoping maybe i can save it.

2 = Z_TMC2130_CS
3 = E0_TMC2130_CS

Trying to write to them returns 0x0 or 0xFF

tmc2130_wr(2, 0x6C, 0x140300D3)=0x0
tmc2130_wr(2, 0x10, 0xF1919)=0x0
tmc2130_wr(2, 0x11, 0x0)=0xFF
tmc2130_wr(2, 0x0, 0x3180)=0xFF
tmc2130_wr(3, 0x6C, 0x120100D3)=0x0
tmc2130_wr(3, 0x10, 0xF1111)=0x0
tmc2130_wr(3, 0x11, 0x0)=0xFF
tmc2130_wr(3, 0x0, 0x3180)=0xFF

And calling DRV_STATUS it returns 0xFF for 2 and 3 (0 and 1 seem fine)
tmc2130_rd(0, 0x6F, 0x800D0000)=0x39
tmc2130_rd(1, 0x6F, 0x80140000)=0x39
tmc2130_rd(2, 0x6F, 0xFFFFFFFF)=0xFF
tmc2130_rd(3, 0x6F, 0xFFFFFFFF)=0xFF

Same when it is trying to write
tmc2130_wr(0, 0x6C, 0x10000)=0x39
tmc2130_wr(1, 0x6C, 0x10000)=0x39
tmc2130_wr(2, 0x6C, 0x10000)=0xFF
tmc2130_wr(3, 0x6C, 0x10000)=0xFF

Napsal : 06/01/2018 10:28 pm
Peter
(@peter-12)
Estimable Member
Re: TMC Driver Overtemp

Cool. I think you disable/enable the stepper by setting "TOFF" to zero/nonzero respectively. Look at the chopper configuration table on page 35 in the specsheet.
So


tmc2130_wr(2, 0x6C, 0x10000);
tmc2130_wr(2, 0x6C, 0x10003); // or whatever is correct for initialization

should do it. If that is the problem. It probably isn't.

Napsal : 07/01/2018 12:28 am
Peter
(@peter-12)
Estimable Member
Re: TMC Driver Overtemp

The return values seems to be SPI status. Only the 4 lsb mean anything: standstill, stallguard active, driver error, reset occured. It says the last two can be cleared by reading gstat, but I'm not sure if that really works for driver error. what does gstat (0x01) say if you read it?

To read the actual values from tmc2130_rd you need to send a pointer into the third parameter. The function will write the result into that parameter, and just return the spi status.

like this:

uint32_t data = 0;
uint8_t spi = tmc2130_rd(3,0x6f,&data);

printf("drv_status is 0x%08x\n", data);
printf("spi status is 0x%01x\n", spi);

Or I suppose not printf, but whatever debugging function you're using to read the values.
EDIT: Disregard that, I realised you're using the serial monitor. The serial monitor outputs correct values obviously.

Napsal : 07/01/2018 12:42 am
Andrew Whittle
(@andrew-whittle)
Active Member
Topic starter answered:
Re: TMC Driver Overtemp

Yeah, I read that too. Isn't that what the command below does.

tmc2130_wr(3, 0x6C, 0x10000)=0xFF

The other 0x6C command turns them on so I thought that counted as a cycle. I could try doing them both back to back I guess.

Napsal : 07/01/2018 5:28 pm
Peter
(@peter-12)
Estimable Member
Re: TMC Driver Overtemp

No you're right, the steppers are most likely broken. The reads being all ones are a dead giveaway. Are there any adresses you can read that doesnt just return 0xFFFFFFFF with 0xFF as spi status?

Also just power cycling the 3d printer should also count as enable/disable, right?

Napsal : 07/01/2018 7:59 pm
keith.m10
(@keith-m10)
Eminent Member
Re: TMC Driver Overtemp

The drivers are usually programmed in serial order, so the first (Z) is probably dead.

Napsal : 07/01/2018 8:32 pm
keo.b
(@keo-b)
Active Member
Re: TMC Driver Overtemp

Had this happen to me, I think it's probably when you were fiddling with the wires. For me I was playing with the y axis during a print. I tried homing and noticed that the Y was chugging. I opened it up pulled out the y cable, and one of the pins was a little loose, pushed it back in and everything was working fine again. I'd recommend checking your pins are all the way in their housing.

Napsal : 12/01/2018 10:19 pm
Andrew Whittle
(@andrew-whittle)
Active Member
Topic starter answered:
Re: TMC Driver Overtemp

Thanks for the tip. If you saw my comment on page 1, I unplugged everything (even LCD) and booted up with console. It fails to initiate 2 TMC2130s. So can't be a loose wire.

Napsal : 13/01/2018 11:30 pm
Dan Royer
(@dan-royer)
Active Member
Re: TMC Driver Overtemp

Hi!

I got this message today for the first time, mid print.

Rebooted and things seemed fine for a while. Came back later and a large blob of pla had formed around the nozzle. Oops?

Not sure what I should do. The warning appears after ~20 minutes of printing. This machine has been operating fine (and I have not fiddled with it) since it was assembled uh.. November 2017?

I’ll try checking the pins are still well seated.

My instagram and youtube.

Napsal : 24/07/2018 8:58 am
Smudo
(@smudo)
Active Member
Re: TMC Driver Overtemp

I got that message 3 times now. Dont belive that it has something to do with the wirering because mutiple prints between these errors have been fine, even much larger prints.

Napsal : 08/10/2018 1:55 pm
Share: