By   September 29, 2020

Boring preamble

It took forever for my 3D printer to reach temperate and then the bed heater just stopped working. Not sure what happened.  So friend Derwyn gave me a spare Prusa magnetic heated bed.  This was a terrific gift!

Bad: it’s 24v and the rest of my printer is 12v.

Good: I had a 24v 60A DC power supply!

Good: I had a Creality CR10s v2 controller that has both 12v and 24vdc inputs.

Bad: my extruder heater was 12v, fans were 12v, etc.  I don’t have a spring steel sheet.

Good: those items are cheap on Amazon.

Anyway, to make along preamble shorter, I changed everything all at once except some acrylic and some bolts.   I also decided Klipper was worth a try because Marlin is a disgusting mess of nearly incomprehensible twisty #ifdef’s and my printer was a mashup of several different printers.  Let me tell you, Klipper is a breath of fresh air and worthy of a different blog post.

Meat of this article

I was having trouble getting the PID on the extruder to settle on a temperature.   Especially the high temperatures (230+):

PID can't settle this down

 

It took forever for prints to start because Klipper could not get the printer to the proper temperature.

I accidentally stumbled upon this Hackaday post which is a link to this fellow who helpfully outlines the process to change a capacitor to better filter power on the CR10s v2.0 board that I have.  Could that be the problem?

So first I decided to check the current state of things.

Power with Extruder running.

Power with Extruder and Bed heater running

 

Here’s the best part.  Normally, Octoprint turns on the bed heater first, and when that comes up to temperature, it turns on the extruder heater.  However, I turned on the extruder first and set it to 260C.  Then I turned on the bed heater.  The two photos above show that.  Here’s what happened on Octoprint:

Note how Klipper was able to use PID to get the temperature under control until I turned on the bed heater

 

Look how the poor power filtering was affecting the ADC measurements for the Extruder heater?  The NTC 100k (B3950) thermistors only read 380ohms (approx) at 240C.  That means a difference of only a few ohms at high temperatures has a big affect on temperature.  So voltage swings will dramatically affect ADC measurements, causing havoc with PID!

I didn’t feel like waiting for Digikey and paying the shipping so I used a 220uf electrolytic capacitor instead.  Ugly as fuck but much better.