PT100 sensor on Duet2 sporadically hunting for target temp
-
Board: Duet 2 Ethernet (2Ethernet)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2 (2021-01-05)I recently changed to the E3D PT100 sensor and Daughterboard. The temps seem to be correct for the hotend but it has a hard time staying on temp. It seems to hunt around the target temp with a variance of about 0.1 - 0.9C even after a PID tune. I am also getting heater faults during prints because it is not staying on temp.
I don't believe this is a faulty connection as the temps are very close to what they are supposed to be. But I am wondering if I don't have all my parameters correct.
What are the appropriate M307 commands to be using with this configuration?
Does anything else look out of place?
Here are my config.g Settings
; Heaters M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"spi.cs1" A"HotEnd" Y"rtd-max31865" F60 ; S1 PT100 sensor in the first position of Duet 2 daughter board connector, Mains freq=60Hz M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S290 ; set temperature limit for heater 1 to 285C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M501 ; automatic loading of the config-override file is enabled
Here is my config_override.g
; config-override.g file generated in response to M500 at 2021-02-28 09:56 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R0.301 C421.451:421.451 D2.49 S1.00 V24.3 B0 M307 H1 R1.798 C234.645:234.645 D5.81 S1.00 V24.4 B0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 M486 S-1
Latest AutoTune output:
2/28/2021, 9:47:12 AM Auto tuning heater 1 completed after 3 idle and 5 tuning cycles in 395 seconds. This heater needs the following M307 command: M307 H1 R1.798 C234.6 D5.81 S1.00 V24.4 Send M500 to save this command in config-override.g
-
post a picture of the graph when you are getting a heater fault
-
Right now I am just trying to get the printer to sit on 210C so I can do a manual bed level. The system just keeps going over and below the target temp and not stabilizing. (see video link above at the bottom of the post).
It is almost as if the additional accuracy of this sensor is causing me all the problems. The fidelity of the sensor keeps my macros from running since it is constantly trying to hit the exact target temp.
-
that fluctuation of +/- .5 degree is normal
-
My macros don't seem to progress. They are stuck waiting for target temp to be reached. Do I need to specify a tolerance somewhere?
I am also still getting heater faults when printing. I will try to capture that data if I can ever get my bed leveling macro to run.
-
post the macro
-
It isn't any one macro. It is all of them.
As an example:
M291 P"Preheating the bed to 60 and nozzle to 210 for accurate probing" T0 M104 S210 ; Set nozzle to 210 and release M190 S60 ; Set bed to 60 and wait M109 S210 ; Set nozzle to 210 and wait
As just one example, the macro I am running now can never get past the M109 command as it doesn't seem to think that hotend has landed on 210C event though it is +/1 one degree.
-
@mitch
that should finish.whats the next command?
-
It doesn't get past it in any of my macros. It just sits and hunts for temp there.
I have print statements, tones, you name it. It never gets past setting temp in the macros.
example from the video:
; Preheat to probing temps ; M291 P"Preheating the bed to 60 and nozzle to 210 for accurate probing" T0 M104 S210 ; Set nozzle to 210 and release M190 S60 ; Set bed to 60 and wait M109 S210 ; Set nozzle to 210 and wait ; Tone to get user attention ; M400 ; Clear movement buffer so tones play reliably M300 S666 P500 G4 P501 M300 S1111 P300 G4 P301 ; Move nozzle to center of bed at Z10 and drop to Z1 ; M291 P"Nozzle will now move to center of bed and move close to the bed" T0 M98 P/macros/general/1_Center_Nozzle ;P move to bed center ; Reset z to 8 to allow jogging up to touch bed to nozzle ; G92 Z8 ; Dialog to allow user to job z to touch nozzle to bed gently and then move Z down 10 ; M291 P"Carefully Jog the Z Axis until the bed and nozzle are touching and click OK" R"Setting Z=0" Z1 S3 G92 Z0 ; set z = 0
-
@mitch said in PT100 sensor on Duet2 sporadically hunting for target temp:
I am also getting heater faults during prints because it is not staying on temp.
please post the exact message you are getting.
did you use a special M570 command?
-
I apologize. Let me be more clear.
I believe I have two heater related issues.
-
It seems to not progress in my macros because it is hunting to hit target temp even thought it is within 2.5C
-
I have sporadic heater faults during prints. I need to capture more data on this to troubleshoot it. I have just returned to prints to find the print paused and a heater fault.
Special M570 command?
-
-
-
@Veti Thanks,
Nope, no M570 defined in config.g or config_override.g files.
-
but it does get past the M109 when you print something?
-
Yes it does.
I commented out the Tone generation and I saw this particular macro get to about line 79 and then it just drops out. Again, I think I have a few issues going on here so the troubleshooting is a bit confusing. I am trying to rule some variables out.
; Helps guide leveling the bed mechanically, and calibrate the ZProbe trigger height before running a grid bed compensation routine.. ; ; Preamble to tell the user to prepare the printer before continuing ; ;M291 P"Before proceeding make sure the printer is mechanically sound and properly functioning." R"Prepare printer for leveling routine" S3 ; User must click OK ;M291 P"ZProbe should be configured and working. Clear the print bed of any obstacles or debris." R"Prepare printer for leveling routine" S3 ; User must click OK ;M291 P"This routine will take about 10-20 minutes and heat both the bed and nozzle." R"Prepare printer for leveling routine" S3 ; User must click OK ;M291 P"You will need a piece of paper. Filament will be unloaded." R"Prepare printer for leveling routine" S3 ; User must click OK ;M291 P"Make sure you have successful Gcodes logged to the console before proceeding." R"WARNING" S3 ; User must click OK or cancel ;M291 P"Make a note of your M558 Z value and backup current heightmap before proceeding." R"WARNING" S3 ; User must click OK or cancel M929 S1 ; start logging ; Clear compensation map and Zprobe trigger height ; M291 P"Grid bed compensation map will be disabled. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel. M561 ; Disable any current bed compensation G29 S2 ; Clear mesh bed compensation perameters G31 Z0 ; Reset zprobe trigger height ; Heat up bed and nozzle to PLA temps in prep for filament removal and probing ; M291 P"Bed and nozzle will preheat and home all axis." R"Preheat and Home" S3 T0 ; User must click OK or cancel M104 S130 ; Set nozzle to 130 and release M140 S55 ; Set bed to 55 and release ; home all axis ; G28 XY G28 Z ; Home all axis G90 ; Absolute positioning T0 ; Activate first tool ; Set lower speeds for Z homing and lower Z motor current ; M566 Z10 ; Set maximum instantaneous speed changes (mm/min) (Jerk) M203 Z400 ; Set maximum speeds (mm/min) M201 Z100 ; Set maximum accelerations (mm/s^2) M913 Z40 ; Drop motor current to prevent damage in case of head crash ; Move nozzle forward for filament removal ; ;M291 P"Moving nozzle to the front for filament removal and cleaning." T0 ;G1 X50 Y5 Z100 ; Moves print head to front left and drops the bed down for easy access ;M109 S130 ; Set nozzle to 130 and wait ; Tone to get user attention ; ;M400 ; Clear movement buffer so tones play reliably ;M300 S666 P500 ;G4 P501 ;M300 S1111 P300 ;G4 P301 ; Unload filament and clean nozzle ; ;M291 P"Unload filament if loaded and clean nozzle, then press OK to continue" R"Unload Filament" S3 T0 ; User must click OK or cancel M702 ; Unload Filament ; Preheat to probing temps ; M291 P"Preheating the bed to 60 and nozzle to 210 for accurate probing" T0 M104 S210 ; Set nozzle to 210 and release M190 S60 ; Set bed to 60 and wait M109 S210 ; Set nozzle to 210 and wait ; Tone to get user attention ; ;M400 ; Clear movement buffer so tones play reliably ;M300 S666 P500 ;G4 P501 ;M300 S1111 P300 ;G4 P301 ; Move nozzle to center of bed at Z10 and drop to Z1 ; M291 P"Nozzle will now move to center of bed and move close to the bed" T0 M98 P/macros/general/1_Center_Nozzle ;P move to bed center ; Reset z to 8 to allow jogging up to touch bed to nozzle ; G92 Z8 ; Dialog to allow user to job z to touch nozzle to bed gently and then move Z down 10 ; M291 P"Carefully Jog the Z Axis until the bed and nozzle are touching and click OK" R"Setting Z=0" Z1 S3 G92 Z0 ; set z = 0 ; Move nozzle to leveling points and prompt user to level bed at each ; M291 P"Nozzle will now move to the 4 leveling points twice." S1 T2 ; Move to leveling point 1 G1 Z2 ; move to z2 for travel G1 X26 Y25 F6000 ; Move to front left corner M400 M291 P"Adjust point 1 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 1" S2 Z1 ; Move to leveling point 2 G1 Z2 ; Move to Z2 for clearance G1 X195 Y195 F6000 ; Move to rear right corner M400 M291 P"Adjust point 2 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 2" S2 Z1 ; Move to leveling point 3 G1 Z2 ; Move to Z2 for clearance G1 X195 Y25 F6000 ; Move front right corner M400 M291 P"Adjust point 3 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 3" S2 Z1 ; Move to leveling point 4 G1 Z2 ; Move to Z2 for clearance G1 X26 Y195 F6000 ; Move rear left corner M400 M291 P"Adjust point 4 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 4" S2 Z1 ; Repeat to verify ; M291 P"The adjustment sequence will now repeat for fine adjustment." S1 T2 ; Move to leveling point 1 G1 Z2 ; move to z2 for travel G1 X26 Y25 F6000 ; Move to front left corner M400 M291 P"Adjust point 1 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 1" S2 Z1 ; Move to leveling point 2 G1 Z2 ; Move to Z2 for clearance G1 X195 Y195 F6000 ; Move to rear right corner M400 M291 P"Adjust point 2 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 2" S2 Z1 ; Move to leveling point 3 G1 Z2 ; Move to Z2 for clearance G1 X195 Y25 F6000 ; Move front right corner M400 M291 P"Adjust point 3 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 3" S2 Z1 ; Move to leveling point 4 G1 Z2 ; Move to Z2 for clearance G1 X26 Y195 F6000 ; Move rear left corner M400 M291 P"Adjust point 4 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension." R"Adjustment Point 4" S2 Z1 ; Move nozzle to center of bed at z10 ; M291 P"Nozzle will now move to center of bed to reset Z0" S3 G1 Z1 ; Drop bed for nozzle clearance ;G1 X112.5 Y112.5 Z2 F4000 ; Move to bed center M98 P/macros/general/1_Center_Nozzle ;P define the parameter and is not part of the name ; Reset z to 5 to allow jogging up to touch bed to nozzle ; G92 Z5 ; Dialog to allow user to jog z to touch nozzle to bed gently and then move Z down 10 ; M564 S0 ; To allow movement lower than where the firmware thinks Z=0 is. M291 P"Jog the Z Axis until the bed and nozzle are touching and click OK" R"Setting Z=0" Z1 S3 G92 Z0 ; Set z = 0 G1 Z1 ; Drop bed for nozzle clearance M291 P"The bed has been mechanically leveled and Z0 set." S2 ; Tone to get user attention ; M400 ; Clear movement buffer so tones play reliably M300 S666 P600 G4 P601 M300 S1511 P300 G4 P301 M291 P"Probing complete. Turning off heaters and homing axis." ; Turn off heaters ; M104 S0 ; Set nozzle to 0 and release M140 S0 ; Set bed to 0 and release G28 XY ; Home XY ; Set normal settings after stall detection probing ; M98 P/macros/general/Normal_Settings ;P define the parameter and is not part of the name ; Tone to get user attention M400 ; Clear movement buffer so tones play reliably M300 S666 P600 G4 P601 M300 S1511 P300 G4 P301 M291 P"Run Trigger Height Macro to determine trigger height" M929 S0 ; stop logging
-
@mitch said in PT100 sensor on Duet2 sporadically hunting for target temp:
M98 P/macros/general/1_Center_Nozzle
This is just acting really strange. I can put the lines into the console one by one starting at line 79 and it all works fine. But when I run the macro it just seems to get to around Line 79 and then just exit. No errors or warnings.
-
you don't have your macro in line 80 in ""
@mitch said in PT100 sensor on Duet2 sporadically hunting for target temp:
M98 P/macros/general/1_Center_Nozzle move to bed center
M98 P"/macros/general/1_Center_Nozzle"
-
After trying numerous times the macro just started running. Part way through I got the heater fault.
Log:
2021-02-28 10:59:51 [info] Event logging started at level debug 2021-02-28 10:59:51 [info] Running: Duet Ethernet 1.02 or later: 3.2 (2021-01-05) 2021-02-28 10:59:51 [info] M291: - WARNING - Grid bed compensation map will be disabled. Ok or Cancel? 2021-02-28 10:59:53 [info] M292: cancelled: false 2021-02-28 10:59:53 [info] M291: - Preheat and Home - Bed and nozzle will preheat and home all axis. 2021-02-28 10:59:54 [info] M292: cancelled: false 2021-02-28 11:00:15 [debug] {"beep_freq":666,"beep_length":500} 2021-02-28 11:00:16 [debug] {"beep_freq":1111,"beep_length":300} 2021-02-28 11:00:16 [info] M291: - [no title] - Preheating the bed to 60 and nozzle to 210 for accurate probing 2021-02-28 11:00:35 [info] M291: - [no title] - Nozzle will now move to center of bed and move close to the bed 2021-02-28 11:00:36 [info] M291: - Setting Z=0 - Carefully Jog the Z Axis until the bed and nozzle are touching and click OK 2021-02-28 11:01:16 [info] M292: cancelled: false 2021-02-28 11:01:16 [info] M291: - [no title] - Nozzle will now move to the 4 leveling points twice. 2021-02-28 11:01:18 [info] M291: - Adjustment Point 1 - Adjust point 1 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:03:00 [info] M292: cancelled: false 2021-02-28 11:03:03 [info] M291: - Adjustment Point 2 - Adjust point 2 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:04:05 [info] M292: cancelled: false 2021-02-28 11:04:07 [info] M291: - Adjustment Point 3 - Adjust point 3 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:04:45 [info] M292: cancelled: false 2021-02-28 11:04:48 [info] M291: - Adjustment Point 4 - Adjust point 4 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:05:36 [info] M292: cancelled: false 2021-02-28 11:05:36 [info] M291: - [no title] - The adjustment sequence will now repeat for fine adjustment. 2021-02-28 11:05:38 [info] M291: - Adjustment Point 1 - Adjust point 1 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:06:21 [info] M292: cancelled: false 2021-02-28 11:06:24 [info] M291: - Adjustment Point 2 - Adjust point 2 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:06:38 [info] M292: cancelled: false 2021-02-28 11:06:40 [info] M291: - Adjustment Point 3 - Adjust point 3 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:07:13 [info] M292: cancelled: false 2021-02-28 11:07:16 [info] M291: - Adjustment Point 4 - Adjust point 4 by using jog to lower nozzle to 0, then use the bed height knobs and a piece of paper to tweak tension. 2021-02-28 11:07:21 [warn] Error: Heater 1 fault: temperature excursion exceeded 15.0°C (target 210.0°C, actual 225.8°C) 2021-02-28 11:07:23 [info] M292: cancelled: false 2021-02-28 11:07:23 [info] M291: - [no title] - Nozzle will now move to center of bed to reset Z0 2021-02-28 11:07:30 [info] M292: cancelled: false 2021-02-28 11:07:32 [info] M291: - Setting Z=0 - Jog the Z Axis until the bed and nozzle are touching and click OK 2021-02-28 11:10:40 [info] M292: cancelled: false 2021-02-28 11:10:40 [info] M291: - [no title] - The bed has been mechanically leveled and Z0 set. 2021-02-28 11:11:01 [info] M292: cancelled: false 2021-02-28 11:11:01 [debug] {"beep_freq":666,"beep_length":600} 2021-02-28 11:11:02 [debug] {"beep_freq":1511,"beep_length":300} 2021-02-28 11:11:02 [info] M291: - [no title] - Probing complete. Turning off heaters and homing axis. 2021-02-28 11:11:17 [debug] {"beep_freq":666,"beep_length":600} 2021-02-28 11:11:17 [debug] {"beep_freq":1511,"beep_length":300} 2021-02-28 11:11:18 [info] M291: - [no title] - Run Trigger Height Macro to determine trigger height 2021-02-28 11:11:18 [info] Event logging stopped
-
@jay_s_uk Thanks,
I updated the file. Seems to still run the same. But I will make sure to find all the macros that have this command and add the quotes.
Just seems like sporadic behavior.
-
This may be a combination of some macro issues due to recent firmware updates as well as an intermittent connection near the hotend probe.
Thanks for the help. I am going to try to nail down the probe issue first to start to rule out some variables and make this easier to figure out.