# Hotend heating issue : Taz4 + e3d V6

**URL:** <https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293>\
**Category:** LulzBot TAZ\
**Created:** [October 4, 2015, 9:16pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293 "2015-10-04T21:16:32Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 4, 2015, 9:16pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/1 "2015-10-04T21:16:32Z")

</div>

I’ve been noticing recently that my hot end (e3dv6) on my taz 4 is having a really hard time keeping the temp up. Things like fast extrusion and fan turning on literally sap the heat away, and while printing I’ll watch the temp slowly drop down.

This is strange because it will heat up to target temps, and if I slow things down or turn off fan it starts climbing back up to target temp.  
It’s almost like the heater is not strong enough to overcome heat dissipation in normal use…

The funny thing is, when I run PID autotune the reported temp shoots up 2-3 times faster, just like it did when I first installed it. However once I set PID and try a normal warmup, it’s back to it’s slow, lethargic warm up speeds and performance.

What gives?  
It CAN heat up fast enough, but something seems to be limiting it during normal use? Any ideas?

* * *

Things I’ve tried:

- Setting PID to various things, running autotune
- setting thermistor to 5 in firmware
- setting max PID to 255 in firmware for higher current

I’m using this thermistor:  
[http://www.amazon.com/gp/product/B00THZJIY8?psc=1&redirect=true&ref\_=oh\_aui\_detailpage\_o00\_s00](http://www.amazon.com/gp/product/B00THZJIY8?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00)

and the hotend heating cartridge is 24v

Thanks!!

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 5, 2015, 2:54am UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/2 "2015-10-05T02:54:56Z")

</div>

Another piece of information to add to the pile:

When I run PID autotune, voltage readout going to extruder heater block is 24v solid.  
During regular heatup it rapidly fluctuates between 4-9 volts?

Is this significant?

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 6, 2015, 9:10pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/3 "2015-10-06T21:10:51Z")

</div>

I ended up sorting this out - ended up being a firmware fix entirely.

I had been setting PID\_MAX to a higher number  
but I had not been setting BANG\_MAX to a higher value as well.  
Apparently these are used in conjunction somehow, but BANG\_MAX did the trick.

For reference, in case anyone else is looking to setup the taz4 with the e3d v6 hot end here’s a condensed list of changes and settings to be aware of:

Hardware changes:

- E3d V6 24v hotend kit
- Screw on M3 Stud Thermistor ([http://printedsolid.com/products/screw-on-m3-stud-thermistor](http://printedsolid.com/products/screw-on-m3-stud-thermistor))
- Higher wattage 24v heating element ([http://www.amazon.com/gp/product/B00NII1KOG?psc=1&redirect=true&ref\_=oh\_aui\_detailpage\_o00\_s00](http://www.amazon.com/gp/product/B00NII1KOG?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00))

I picked up the higher wattage elements because I thought mine was bad, but as it turns out they are stronger elements anyways.  
The color of the cloth wire covering will tell you if you have the higher wattage, or lower wattage heating element.  
Blue = lower, red = higher.

Firmware changes:  
#define TEMP\_SENSOR\_0 1 // normally set this to 5 if using the included thermistor, I used the screw on so I set to 1  
#define TEMP\_SENSOR\_1 1// normally set this to 5 if using the included thermistor, I used the screw on so I set to 1  
#define BANG\_MAX 245 //(max of 255 for 24v elements)  
#define PID\_MAX 245 //(max of 255 for 24v elements)

PID changes:  
I ran autotune and got these values, course you probably want to run it yourself but these could potentially get you started  
M301 P15.21 I0.98 D58.82

---

<div class="post-metadata">

**Author:** ![dkoukoul](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/dkoukoul/32/50_2.png) [@dkoukoul](https://forum.lulzbot.com/u/dkoukoul)\
**Post date:** [October 7, 2015, 8:49am UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/4 "2015-10-07T08:49:10Z")

</div>

Just for reference the values I used the following values  
#define BANG\_MAX 150  
#define PID\_MAX 155  
and  
#define PID\_INTEGRAL\_DRIVE\_MAX 220

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 7, 2015, 12:31pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/5 "2015-10-07T12:31:15Z")

</div>

Great thanks for the suggestions I’ll try these out.

My last post fixed the heating power but for some reason my heating temp likes to sit 4 degrees below target consistently during prints.

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 7, 2015, 12:35pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/6 "2015-10-07T12:35:43Z")

</div>

Also, what’s PID\_INTEGRAL\_DRIVE\_MAX 220 affect?  
Mine is currently set to the taz4 defaulf of 70

---

<div class="post-metadata">

**Author:** ![dkoukoul](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/dkoukoul/32/50_2.png) [@dkoukoul](https://forum.lulzbot.com/u/dkoukoul)\
**Post date:** [October 7, 2015, 12:42pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/7 "2015-10-07T12:42:01Z")

</div>

About the temperature… what temperatures are you trying to reach? do you have an air duct blowing air to the end of the nozzle? If you are still using the default duct that TAZ 4 came with then that’s probably the reason… because the air goes on the nozzle and not on the extruded plastic.  
About the PID\_INTEGRAL\_DRIVE\_MAX I can not say for certain… this is from [http://reprap.org/wiki/PID\_Tuning](http://reprap.org/wiki/PID_Tuning) :  
"In Marlin, the parameters that control and limit the PID controller can have more significant effects than the popular PID parameters. For example, PID\_MAX and PID\_FUNCTIONAL\_RANGE, and PID\_INTEGRAL\_DRIVE\_MAX can each have dramatic, unexpected effects on PID behavior. For instance, a too-large PID\_MAX on a high-power heater can make autotuning impossible; a too-small PID\_FUNCTIONAL\_RANGE can cause odd reset behavior; a too large PID\_FUNCTIONAL\_RANGE can guarantee overshoot; and a too-small PID\_INTEGRAL\_DRIVE\_MAX can cause droop. "

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 7, 2015, 1:39pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/8 "2015-10-07T13:39:15Z")

</div>

Some great info there, thanks!

I do have the taz4 fan duct still attached, but the temperature disparity is happening with the fan off.  
The funny thing is it has no problems reaching the temp, if I set the heater manually in pronterface to +5 degrees of whatever I want it reaches the lesser temp in no time.

I have a feeling this is related to the gradual voltage falloff as the heater reaches it’s target. perhaps the setting you mentioned may help this, I’ll try this out later today, have a big 12 hour print going atm that _hopefully_ doesn’t fail

---

<div class="post-metadata">

**Author:** ![voi9viper](https://avatars.discourse-cdn.com/v4/letter/v/ba8739/32.png) [@voi9viper](https://forum.lulzbot.com/u/voi9viper)\
**Post date:** [October 9, 2015, 6:48pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/9 "2015-10-09T18:48:38Z")

</div>

I’ll need to check the code for exact behavior, but max power is applied until the temp gets close to the target value, then the PID controller starts controlling and things slow down.

I took a peek, pid\_error is target\_temp - current\_temp\

if pid\_error \> pid\_functional\_range the power is set to BANG\_MAX  
if pid\_error \< functional range output is 0  
if pid\_error is within the range do all the PID math to get an output temp.

here is the code section:

#ifdef PIDTEMP  
pid\_input = current\_temperature[e];

#ifndef PID\_OPENLOOP  
pid\_error[e] = target\_temperature[e] - pid\_input;  
if(pid\_error[e] \> PID\_FUNCTIONAL\_RANGE) {  
pid\_output = BANG\_MAX;  
pid\_reset[e] = true;  
}  
else if(pid\_error[e] \< -PID\_FUNCTIONAL\_RANGE || target\_temperature[e] == 0) {  
pid\_output = 0;  
pid\_reset[e] = true;  
}  
else {  
if(pid\_reset[e] == true) {  
temp\_iState[e] = 0.0;  
pid\_reset[e] = false;  
}  
pTerm[e] = Kp \* pid\_error[e];  
temp\_iState[e] += pid\_error[e];  
temp\_iState[e] = constrain(temp\_iState[e], temp\_iState\_min[e], temp\_iState\_max[e]);  
iTerm[e] = Ki \* temp\_iState[e];

//K1 defined in Configuration.h in the PID settings  
#define K2 (1.0-K1)  
dTerm[e] = (Kd \* (pid\_input - temp\_dState[e]))\*K2 + (K1 \* dTerm[e]);  
pid\_output = constrain(pTerm[e] + iTerm[e] - dTerm[e], 0, PID\_MAX);  
}  
temp\_dState[e] = pid\_input;  
#else  
pid\_output = constrain(target\_temperature[e], 0, PID\_MAX);  
#endif //PID\_OPENLOOP  
  
  
I think playing with the K1 term , and/or changing the functional range could get your heating speed up a little. If I read this correctly lower K1. If you set K1 above 1 you’ll never reach the target temp. Ask me how I know that.

---

<div class="post-metadata">

**Author:** ![Enviral\_Designs](https://avatars.discourse-cdn.com/v4/letter/e/e9c0ed/32.png) [@Enviral\_Designs](https://forum.lulzbot.com/u/Enviral_Designs)\
**Post date:** [October 15, 2015, 7:39pm UTC](https://forum.lulzbot.com/t/hotend-heating-issue-taz4-e3d-v6/2293/10 "2015-10-15T19:39:11Z")

</div>

Just posting back here to update :  
**dkoukoul** your advice about setting PID\_INTEGRAL\_DRIVE\_MAX 220 worked perfectly.

Now not only does my not end heat up fast but it plateaus correctly and settles right at the intended temperature +/-.1 degrees.

Another problem my setup has provided for me now that I have a big fat 1mm nozzle on my e3d. Due to this certain speeds that are actually quite low, are too fast for the filament to heat and melt adequately. I get blobs and even jams if slic3r is set to too high a speed for any section of the print.

I ordered the e3d volcano which has a vertical heat block and more room to preheat filament as it feeds so I should be able to increase speeds closer to normal after that.

Something to beware of if you switch to a larger diameter nozzle : Just because your thermistor is reading a certain temp doesn’t mean the filament coming out is getting that hot if it is moving through too fast!

Thanks again!  
Lucas
