Notifications
Clear all

MINTEMP  

  RSS
holmes4
(@holmes4)
Estimable Member
MINTEMP

I often get MINTEMP errors (not MINTEMP BED) when I first switch on my MK3S. I have a Mosquito hotend with the Slice high-temp thermistor and have modified the firmware to use their thermistor table.  The display often reads 16C or a bit below when I power on, as I have the printer in a cool basement.

I have changed HEATER_0_MINTEMP from the default 15 to 10, but it makes no difference. I've tried searching the sources to see what is actually being tested, but find it confusing.

There is:

#define MINTEMP_MINAMBIENT 25
#define MINTEMP_MINAMBIENT_RAW 978

but this seems to relate to a thermistor in the EINSY. I find if I run a hot air gun for a bit to the hotend, the temperature rises a bit and the condition clears.

What definition in the firmware controls this behavior?

Posted : 17/07/2019 12:25 am
cwbullet
(@cwbullet)
Member
RE: MINTEMP

I had the error then my thermister (hotend) had a short.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 17/07/2019 11:28 pm
JoanTabb
(@joantabb)
Veteran Member Moderator
RE: MINTEMP

a shorted thermistor normally causes a MaxTemp event

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK

Posted : 18/07/2019 9:41 pm
holmes4
(@holmes4)
Estimable Member
Topic starter answered:
RE: MINTEMP

The thermistor is working fine. It just (correctly) reads a temperature low enough that the firmware complains. I'm asking which #define in the firmware adjusts the threshold, since it doesn't seem to be HEATER_0_MINTEMP.

Posted : 18/07/2019 9:52 pm
cwbullet
(@cwbullet)
Member
RE: MINTEMP

Odd.  Is this the Mosquito thermister or Prusa?  

--------------------
Chuck H
3D Printer Review Blog

Posted : 18/07/2019 10:08 pm
A.Dorn
(@a-dorn)
Eminent Member
RE: MINTEMP
Posted by: holmes4

The thermistor is working fine. It just (correctly) reads a temperature low enough that the firmware complains. I'm asking which #define in the firmware adjusts the threshold, since it doesn't seem to be HEATER_0_MINTEMP.

I haven't looked deeply into this, but I'm also curious about how it all works. I once printed at 8°C ambient - and it worked. There is a HEATER_MINTEMP_DELAY to give the printer a bit of time to heat up before the checking starts. Once with the MMU I saw a Mintemp-Error after a finished print at 15°C ambient - (I still don't understand why).

Also in temperature.cpp there is this:

// Wait for temperature measurement to settle
_delay(250);

#ifdef HEATER_0_MINTEMP
minttemp[0] = HEATER_0_MINTEMP;
while(analog2temp(minttemp_raw[0], 0) < HEATER_0_MINTEMP) {
#if HEATER_0_RAW_LO_TEMP < HEATER_0_RAW_HI_TEMP
minttemp_raw[0] += OVERSAMPLENR;
#else
minttemp_raw[0] -= OVERSAMPLENR;
#endif

hj

So there is also a HEATER_0_RAW_LO_TEMP and a HEATER_0_RAW_HI_TEMP. It's also possible that this delay(250) here doesn't fit for every sensor.

Also there are 8 files where HEATER_0_MINTEMP is defined. The easiest error to fix would be to have picked the wrong one.

Posted : 19/07/2019 6:54 am
cwbullet
(@cwbullet)
Member
RE: MINTEMP
Posted by: charles.h13

Odd.  Is this the Mosquito thermister or Prusa?  

Crap, reading is fundamental.  I completely missed a whole sentence.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 19/07/2019 10:18 am
holmes4
(@holmes4)
Estimable Member
Topic starter answered:
RE: MINTEMP
Posted by: andreas.d10

Also there are 8 files where HEATER_0_MINTEMP is defined. The easiest error to fix would be to have picked the wrong one.

All of them are in the variants folder - you choose one of them to be Configuration_prusa.h. 

The code in temperature.cpp:

#ifdef HEATER_0_MINTEMP
minttemp[0] = HEATER_0_MINTEMP;
while(analog2temp(minttemp_raw[0], 0) < HEATER_0_MINTEMP) {
#if HEATER_0_RAW_LO_TEMP < HEATER_0_RAW_HI_TEMP
  minttemp_raw[0] += OVERSAMPLENR;
#else
  minttemp_raw[0] -= OVERSAMPLENR;
#endif

adjusts minttemp_raw from its initial value (16383 from thermistortables.h) until it is approximately what the ADC value corresponding to HEATER_0_MINTEMP is. OVERSAMPLENR is 16 (from thermistortables.h).

void check_min_temp_heater0()
{
//heater
#if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
if (current_temperature_raw[0] >= minttemp_raw[0]) {
#else
if (current_temperature_raw[0] <= minttemp_raw[0]) {
#endif
menu_set_serious_error(SERIOUS_ERR_MINTEMP_HEATER);
min_temp_error(0);
} else if( menu_is_serious_error(SERIOUS_ERR_MINTEMP_HEATER) ) {
// no recovery, just force the user to restart the printer
// which is a safer variant than just continuing printing
// The automaton also checks for hysteresis - the temperature must have reached a few degrees above the MINTEMP, before
// we shall signalize, that MINTEMP has been fixed
// Code notice: normally the alert_automaton instance would have been placed here
// as static alert_automaton_mintemp alert_automaton_hotend, but
// due to stupid compiler that takes 16 more bytes.
alert_automaton_hotend.step(current_temperature[0], minttemp[0] + TEMP_HYSTERESIS);
}
}

I think I now have a clue as to what's going on. For the Slice thermistor, the "bottom" of the table looks like this:

{ 1015*OVERSAMPLENR , 20 },
{ 1018*OVERSAMPLENR , 10 },
{ 1020*OVERSAMPLENR , 0 } //safety

 

analog2temp does this:

 for (i=1; i<heater_ttbllen_map[e]; i++)
{
if (PGM_RD_W((*tt)[i][0]) > raw)
{
celsius = PGM_RD_W((*tt)[i-1][1]) +
(raw - PGM_RD_W((*tt)[i-1][0])) *
(float)(PGM_RD_W((*tt)[i][1]) - PGM_RD_W((*tt)[i-1][1])) /
(float)(PGM_RD_W((*tt)[i][0]) - PGM_RD_W((*tt)[i-1][0]));
break;
}
}

It is interpolating between two table entries to calculate the Celsius temperature. A possible issue is that for my table, the difference between 20 and 10 is small, and perhaps the interpolation is coming out wrong. (Nevertheless, the display says 16 but I get MINTEMP with the value set at 10?) I am going to play with this code and see if I can get to the bottom of it. I'm actually dubious of the table entries at the bottom, as I am getting readings a bit lower than the actual room temp at startup. Maybe I'll fiddle with the values until I get something that looks good. I won't fuss with the higher temp values, as I have no indication they are wrong.

Posted : 19/07/2019 2:00 pm
holmes4
(@holmes4)
Estimable Member
Topic starter answered:
RE: MINTEMP

I ended up tweaking the bottom entries in the thermistor table and now it reads close to the actual room temperature - and no more MINTEMP. 

Posted : 20/07/2019 12:31 am
gorillamotors
(@gorillamotors)
Trusted Member
RE: MINTEMP
Posted by: @holmes4

I ended up tweaking the bottom entries in the thermistor table and now it reads close to the actual room temperature - and no more MINTEMP. 

What changes did you actually make to the thermistor table??

Posted : 28/01/2021 3:20 pm
cwbullet
(@cwbullet)
Member
RE: MINTEMP

I am going to switch my Mosquito printer to the Mosquito plus Bondtech to prevent the need to edit termistor tables.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 28/01/2021 3:26 pm
gorillamotors
(@gorillamotors)
Trusted Member
RE: MINTEMP
Posted by: @cwbullet

I am going to switch my Mosquito printer to the Mosquito plus Bondtech to prevent the need to edit termistor tables.  

I just finally upgraded my Prusa MK3S to the Bondtech and Mosquito Magnum (450C thermistor and 50W heater). I had to edit the firmware myself as the Bondtech firmware they sent me di not work. I am still getting mintemp errors at startup. I am still trying to fix that!!

Posted : 28/01/2021 3:43 pm
gorillamotors
(@gorillamotors)
Trusted Member
RE: MINTEMP

I just talked to Greg at Slice Engineering and they are now selling PT1000 thermistors. He said he likes them better than the 450C thermistors they sell.

Posted : 28/01/2021 5:07 pm
cwbullet
(@cwbullet)
Member
RE: MINTEMP

@gorillamotors

The firmware is posted on the website and updated to 3.93.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 28/01/2021 5:14 pm
cwbullet
(@cwbullet)
Member
RE: MINTEMP

@gorillamotors

I do not see them on their website.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 28/01/2021 5:18 pm
cwbullet
(@cwbullet)
Member
RE: MINTEMP
Posted by: @cwbullet

@gorillamotors

I do not see them on their website.  

Never mind, I found it.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 28/01/2021 5:23 pm
Share: