which temperature reading is correct?

Topics around mechanical design, controller and electronics. Mods & hacks welcome.
User avatar
walshlg
Posts: 1274
Joined: Wed Mar 23, 2016 12:01 pm

which temperature reading is correct?

Postby walshlg » Tue Sep 05, 2017 2:33 pm

just curious, when I set temp of the extruder in home screen and it reaches temperature, I then go over to the load screen the temperature is a few degrees C out and I have to wait until it gets in range. Which temperature reading is "correct"? The print seems to start when the readout on the home screen is in range.

User avatar
Vicky@Raise3D
Posts: 2248
Joined: Fri Mar 25, 2016 3:54 am

Re: which temperature reading is correct?

Postby Vicky@Raise3D » Wed Sep 06, 2017 7:20 am

Double confirm, do you mean that the temperature has already reached to target and become stable at main page.
And if you didn't stop heating, directly moved to loading page, and the loading temperature is the same as the target temperature you set before, but only a few seconds for page changing, the current temperature dropped a lot compared with the current temperature on main page?

User avatar
walshlg
Posts: 1274
Joined: Wed Mar 23, 2016 12:01 pm

Re: which temperature reading is correct?

Postby walshlg » Wed Sep 06, 2017 3:50 pm

when It just reaches 250C on the home temperature screen, I go right to load and it'll say 245 and take a minute to get to 250. Its all working fine, so I am not too concerned, it just seems odd that the temperature readings are "lagging" on the load screen. THis has happened repeatedly and for the life of me I can't figure it out, must be something in software since when it does get up to load temperature, flipping back to the home screen shows the same temperature.

Jetguy
Posts: 1607
Joined: Tue Mar 22, 2016 1:40 am

Re: which temperature reading is correct?

Postby Jetguy » Thu Sep 07, 2017 4:13 am

https://github.com/Raise3D/Marlin-Raise ... tion_adv.h

//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
//The maximum buffered steps/sec of the extruder motor are called "se".
//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
// you exit the value by any M109 without F*
// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
#define AUTOTEMP
#ifdef AUTOTEMP
#define AUTOTEMP_OLDWEIGHT 0.98
#endif


Hint, what does the load script do?
Answer, #1 it sends a M109 to set the extrusion temp first. THEN ONLY after that stable target is reached does it allow the "Load or Unload" make the motor spin command button active.
https://github.com/Raise3D/Marlin-Raise ... n_main.cpp
// M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
// Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
// IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F

So the problem is we are flying a bit blind as users of this system and this is why I made this request to the touch screen update to put scripts and action files in a format where we the user can see what is happening. I have a specially modified Raise 3D motion board that I attached some wires to be able to "sniff" the serial communications from the USB to serial conversion. This allows you to use a pair of FTDI cables to take that TTL serial signal and observe and capture the transmit from the LCD front panel and see the replies back from Marlin to the LCD. Again, some of the above is just research on the code involved, and some knowns from basic scripting of actions knowing gcode, but the big unknown will be the "what does LCD front panel send" and what does Marlin reply with?

Also- why I pointed out that code related to M109- 98% of 250 is 245!!!!
So, definitely the pointer is- M109 is sent as expected. That is a perfectly normal thing you would do to set the temp and ensure it is stabilized. #define AUTOTEMP_OLDWEIGHT 0.98 means that when M109 is invoked, the math wants to ENSURE the hotend is stabilized for a time period rather than just a single read of target and actual match- let's go. How they are doing that, you may not like- but right there it is in code and in the one thing we can change- the open source marlin code and just flash a new custom firmware.

Jetguy
Posts: 1607
Joined: Tue Mar 22, 2016 1:40 am

Re: which temperature reading is correct?

Postby Jetguy » Thu Sep 07, 2017 4:28 am

Again, we are back at this 2 board system.
We have some insight and can see the open source code and debug the Marlin side of this.
We have to play the guessing game and do mods like I have done just to be able to sniff the closed source code running on the front panel LCD.

In this case, we have some unique interaction. What I don't know at this exact second is what command is sent when you preheat an extruder temp. I think that command script is taking the variable and sending M104 - Set extruder target temp (again, always use the source code as a reference to better understand what exact commands Marlin accepts https://github.com/Raise3D/Marlin-Raise ... n_main.cpp Where this gets hairy is that when you use the load or unload menu, that is another script of multiple gcodes in sequence and interaction with the Marlin firmware. So again, I could be absolutely wrong but if you are already at temp (previous M104 or maybe even a previous M109) and then send a new M109 we have questions like does it send M109 S250 or M109 R250? Is Marlin invoking the code snipped I pointed out and when the M105 is sent by the front panel to request temps- the reported temp is this 98% factor of the last couple of readings??

And, let's just go ahead and rub it in. We are STILL on Marlin 1.1.1 as official firmware. This has a NUMBER of known issues.
#1 Stepper timeout of 60 seconds can ruin a pause!!!
#2 No heater decoupled safety code turned on- see thermal runaway warning threads
#3 Known reporting delay of heated bed temps during a starting print job cycle- may be related to this M109 thing or something else
#4 now this M109 thing on typical preheat and then use load filament menu or start a print- same thing- the extruder temps looks like it dropped but likely did not actually drop.
#5 needs the new firmware code to invoke the triggered pause (filament detection).

Just saying, everytime I see some new user request some slicer feature- I think the focus on the HARDWARE and thus firmware should be the priority to fix these LONG OUTSTANDING problems and features that trump 90% of these user's requests. Especially the safety aspect!!!

User avatar
walshlg
Posts: 1274
Joined: Wed Mar 23, 2016 12:01 pm

Re: which temperature reading is correct?

Postby walshlg » Mon Sep 11, 2017 3:16 am

Thanks, that safety bug is very disturbing. The behavior I observed seems to fit the firmware, interesting, thanks for the insights.


Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 5 guests