Temperature Probe

I am running Ramps 1.4 with Dual End Stop software.

I am trying to read out a temperature on the LCD or using the M105 command. I figured that it may be as simple as connecting a suitable NTC thermistor to the T0 terminals of the board and assigning probe type:

#define TEMP_SENSOR_0 30

But it didn’t work (LCD still reporting 0degrees on the “hot end”)

So I tried using the software dummy instead to check if thermistor is working ok

#define TEMP_SENSOR_0 998

But still no change in the temperature read out

…has something been turned off in the MarlinBuilder Firmware that I am overlooking? Maybe a pin assignment?

That should only work if EXTRUDERS=1. Maybe there is another way to get a case temperature or plug it into the bed section?

OK that would explain it and since we are using all drivers to facilitate Dual End Stop it would not be sensible to turn on Extruders=1.

Bed Temp or Chamber Temp could be worth investigating (although I don’t think the later will display temp on screen looking at some of the commentary on Github)

2 Likes

Continuing to play with this and enabled the dummy software temp probe as below for debugging
#define TEMP_SENSOR_BED 998

But getting complier error

sketch\src\lcd\menu\menu_temperature.cpp: In function 'void do_preheat_end_m()':

sketch\src\lcd\menu\menu_temperature.cpp:96:29: error: '_preheat_end' was not declared in this scope

   void do_preheat_end_m() { _preheat_end(editable.int8, 0); }

                             ^~~~~~~~~~~~

sketch\src\lcd\menu\menu_temperature.cpp:96:29: note: suggested alternative: '_preheat_bed'

   void do_preheat_end_m() { _preheat_end(editable.int8, 0); }

                             ^~~~~~~~~~~~

                             _preheat_bed

I have run a search for all references of “bed” to see if there is a similar parameter to Extruders=1 to turn back on bed temperature functionalities but nothing jumps out. Strange also as board is BOARD_RAMPS_14_EFB (Extruder Fan Board)

Any thoughts? Where there any changes made to the firmware to turn off the bed?
Cant help but think there is a better way to enable an auxiliary temperature read out.

I don’t see anything about disabling a heated bed in the cnc config, or about enabling it in the mp3dp configs.

Seems to be referencing part of the menu_temperature.cpp as below but I can’t see any mention of HAS_HEATED_BED or HEATED_BED in configs

#if PREHEAT_COUNT

  #if HAS_TEMP_HOTEND
    inline void _preheat_end(const uint8_t m, const uint8_t e) { thermalManager.lcd_preheat(e, m, -1); }
    #if HAS_HEATED_BED
      inline void _preheat_both(const uint8_t m, const uint8_t e) { thermalManager.lcd_preheat(e, m, m); }
    #endif
  #endif
  #if HAS_HEATED_BED
    inline void _preheat_bed(const uint8_t m) { thermalManager.lcd_preheat(-1, -1, m); }
  #endif

It is in Conditionals_post.h. It looks like it is enabled with HEATER_BED. That is defined in the pins file.

Just how did you find that!!??

Still digesting what it means but seems like TEMP_SENSOR_BED cannot be -4,-3,-1 everything else should be ok.

Tried a compile with #define TEMP_SENSOR_BED 1000…still a sad face :frowning:

Suspect I am out of my c+ depth

I used grep.

There are a few set thermistor tables and they each have a number. 10 is not double 5. 10 is just one kind and 5 is another. In my experience, the most common are 11, or 5.

Disappointingly I had to admit defeat on this. Was consuming too much time and going in circles for the small benefit I was likely to achieve.
I knocked up a quick and dirty temperature probe using a spare NodeMCU (awesome little board), a thermistor and Blynk.

Amazing how much a little air across those driver heat sinks brings the temperature down almost to ambient.

Will just leave my 12V controller fun running and not work about them.

Just need to keep an eye on the stepper temperatures (keep them below the PLA bendy phase!) as my workshop heats up in the summer now :wink: