Welcome! Log In Create A New Profile

Advanced

Solving CPU overheating problem

Posted by tenbaht 
Solving CPU overheating problem
August 23, 2013 05:33AM
After tidying up the wiring I had a strange CPU overheating problem with my printer electronics. The problem turned out to be a general one that is not related to a specific CPU or electronics board. Since others might be having the same problem, I thought that I would share the solution here.

In a nutshell: If your CPU tends to overheat when printing, consider using thinner(!) wires for the endstops or add small resistors in series to the endstop connection.

The symptoms:
I am using my mega1284P-based Melzi-Version (Ulule-campaign still active, please see link in signature) on a Prusa Mendel i2 bootstrap. Everything was working fine, and the motors were moving smoothly. But right after starting a print the CPU suddenly got really hot (about 65°C) and never cooled down again. Even after stopping the print or pressing the reset button the CPU temperature stayed high.

I found that the overheating was linked to the mechanical endstops. Trigger one of the endstops briefly (even by hand) and the CPU responds immediately by starting to heat up. The only thing that cleared the problem and brought the CPU temperature back down to normal was a brief power disconnect.

Solution:
The endstop wires form a parasitic inductivity that generates a negative voltage spike on the endstop inputs when the NC switches are triggered. This pulse causes a latchup condition in the CPU which can only be cleared by a power disconnect. However, adding some additional series resistance dampens the parasitic oscillator formed by the wiring and avoids the voltage peak completely.

The parasitic oscillating circuit can be dampened by simply adding a small resistor in series with the switch (10 ohm to 1k is fine). In some cases even the increased wire resistance of a thinner wire for the endstop connection might be enough. My endstops are wired with 0.2mm² (or AWG24) wire, which is much thicker than necessary and has too low a resistance to dampen the oscillation.


-----------

3D printer electronics
Campaign on Ulule.com for MaKrPanel with graphical LCD and improved Melzi controller board

improved Melzi controller board
Panel with graphical LCD
Re: Solving CPU overheating problem
August 23, 2013 10:34AM
The Melzi has 10uF caps on the limit switch inputs. Must have been a massive spike to get past those and latch up the CPU. Plus nobody else has ever reported this and most reprap electronics doesn't even have the caps. I think there must be something else wrong.


[www.hydraraptor.blogspot.com]
Re: Solving CPU overheating problem
August 25, 2013 03:38AM
My wiring on the printer is a little untypical. It is done with unusual thick wires and they are very close to (sometimes even attached to) the iron metal rods and I did twist them with each other. I guess that this contributes to the effect. With thin flat-cable type wiring it does not happen (on both, my board and the mega8 on breadboard). So most people will not suffer from this effect.

I was able to reproduce the exact same problem with just a plain ATmega8 on a breadboard connected to only a 10k resistor, a 4.7uF capacitor and my endstop wiring, without any specific firmware. This made me think of it as a general physical effect. We have a high-impedance input connected to a low-impedance resonant oscillation.

Changing the size of the capacitor does not help. It only influences the frequency of the resonance, not so much the amplitude. To smoothen out the input signal a lowpass filter is needed. Adding a small series resistor does both at the same time: It dampens out the resonance completely and forms an effective RC input filter.

Attached is a LTspice simulation file which matches my oscilloscope findings pretty well: The voltage step excites a damped oscillation, the negative maximum of the first curve is around -1.5V to -2V. This is surprisingly high, as the build-in undervoltage diodes in the CPU should cut this to approx. -0.7V.


-----------

3D printer electronics
Campaign on Ulule.com for MaKrPanel with graphical LCD and improved Melzi controller board

improved Melzi controller board
Panel with graphical LCD
Attachments:
open | download - latchup.asc (1.3 KB)
Sorry, only registered users may post in this forum.

Click here to login