Hot End Temps Fluctuating
In the process of dialing in my slicer settings, I got concerned that my hot end temps were wonky. I decided to run a fresh autotune on the hot end; M303 H1 S200 P1.00.
The autotune ran without issue and I saved the values to the override.config file via M500.
Now the hot end temp seems to be fluctuating a lot more than it used to. The temp chart line for the hot end (I'm 90% sure) used to be a nice straight line with fluctuations of only about 1/2 a degree or so. Now it seems to be fluctuating a full 2 degrees or a little more.
I've ran through the autotune a couple more times, always starting from room temp.
M307 values: M307 H1 A256.1 C203.9 D3.6 S0.60 B0
Martin_S last edited by
I had a similar issue once. It started like this and after a few weeks it got worse.
Check out this thread:
…Yes, I did all the fixes together, so I can't tell what actually corrected the issue.
Best of luck.
EDIT: It was a Rambo board.
Try increasing the M307 D parameter. An increase of between 30 and 100% should fix it. Don't go too high, or responsiveness will suffer.
Without any auto-tune, my hotend is very stable; it just have a little over-shoot at startup. I then tried to run auto-tune, and then, I had such oscillations. So I run default params.
But I'm wondering something… When we start-up the heater, the fan is usually off, so the hotend heats up fast. But during prints, the fan is on! So, how do we manage that with auto-tune? Should we run it with the fan on, or fan off? This may require a clever procedure, starting without fan, then adjust params with fan...
Autotune should be run with the heatsink cooling fan on. Are you controlling it thermostatically? if so it should come on anyway during the autotune routine. If you are controlling it another way then turn it on before autotuning.
Dougal1957 last edited by
I suspect the OP is talking about print cooling fan rather than hotend fan in which case I would suggest that the design of the fan duct is not optimal if it is cooling the nozzle
yeah fair enough - if its contributing to hotend cooling then probably should be run during autotune - although its not necessarily on all the time in actual use. even better would be to sort the cooling duct out.
I was talking about print fan
It is designed so it blows right at the output of the nozzle, because when you print small parts, you need it to be that way. If it blows far from the nozzle, it does not help on small parts, where the nozzle does not move more than a few mm…
see what results you get autotuning with the print fan on then.
deckingman last edited by
…...........or try a silicone sock over the nozzle.
I already have one…
deckingman last edited by
Ah OK. That usually helps. Regardless of how the fan duct is arranged, air will always be deflected onto the nozzle by the bed or the part itself. I guess doing the autotuning with the fan on as Tony suggested is your only option then.
When I get time I intend to change the tuning algorithm to calibrate the extruder heater(s) with the print cooling fan both off and on. Meanwhile, I recommend tuning with the fan off. If you tune with the fan on, the gain value will come out too low and you will get overshoot when heating up.
I see. Well, as said, it works very well for my config with the default params…
Can I increase the S value in M307 after the PID has been done? I ask b/c even running the PID tune with a PWM value of one, it goes back to .6
I am wondering if this is part of the issue?
If the maximum PWM goes back to 0.6 then you must have another M307 command somewhere that is overriding the one from auto tuning. Are you copying the new M307 values into config.g after auto tuning, or are you running M500 to save them? If you are running M500, do you have a M501 command near the end of config.g to invoke config-override,g?
Yes, I have M307 in my config-override, and M501 at the end of my config.g.
I am saving the M303 results via M500.
; Configuration file for Rostock Max v2
; Communication and general
M111 S0 ; Debug off
M550 PRoMax ; Machine name and Netbios name (can be anything you like)
M551 ********* ; Machine password (used for FTP)
;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
;*** Networking - Enable for both WiFi and Ethernet boards.
M552 S1 ; Turn network on
;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network
;M552 P192.168.1.14 ; (0 = DHCP)
;M554 P192.168.1.255 ; Gateway
;M553 P255.255.255.0 ; Netmask
M555 P2 ; Set output to look like Marlin
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
; Disable Fan 1 thermostatic mode (actually, I've enabled it here)
M106 P1 T50 S255 H1 ; Set hotend heatsink FAN1 thermostatic control at 50°C
; Axis and motor configuration
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 (extruder) goes forwards
M569 P4 S1 ; Drive 4 goes forwards
M574 X2 Y2 Z2 S1 ; set endstop configuration (all endstops at high end, active high)
;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
M665 R140 L290.8 B198.25 H380 ; set delta radius, diagonal rod length, printable radius and homed height
M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them
M350 X16 Y16 Z16 E16:16 I1 ; Set 16x microstepping with interpolation
M92 X80 Y80 Z80 ; Set axis steps/mm
M906 X1000 Y1000 Z1000 E500 I60 ; Set motor currents (mA) and increase idle current to 60%
M201 X3000 Y3000 Z3000 E9000 ; Accelerations (mm/s^2)
M203 X20000 Y20000 Z20000 E15000 ; Maximum speeds (mm/min)
M566 X2000 Y2000 Z2000 E1000 ; Maximum instant speed changes mm/minute
M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 T100000 B4725 R4700 C0.0000000706 H0 L0 ; Put your own H and/or L values here to set first nozzle thermistor ADC correction
;M305 P2 T100000 B3974 R4700 H0 L0 ; Put your own H and/or L values here to set 2nd nozzle thermistor ADC correction
M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds
; Adjustments for J-heads used as dummy heaters on test rig
;M307 H0 A250 C140 D5.5 B1
;M307 H1 A250 C140 D5.5 B0
;M307 H2 A250 C140 D5.5 B0
;M106 P1 S-1 ; disable thermostatic mode for fan 1
; Tool definitions
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
;*** If you have a single-nozzle build, comment the next 2 lines
;M563 P1 D1 H2 ; Define tool 1
;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
M92 E93.33:93.33 ; Set extruder steps per mm
; Z probe and compensation definition
;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
M558 P4 X0 Y0 Z0 H2 ; Z probe is a switch and is not used for homing any axes
G31 X0 Y0 Z-.12 ; Set the zprobe height and threshold (put your own values here)
;*** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0 ; Axis compensation here
M208 S1 Z0 ; set minimum Z
T0 ; select first hot end
;M572 D0 S0.15 ; enable pressure advance
M501 ; load override-config.g
; This is a system-generated file - do not edit
; Delta parameters
M665 L290.800 R143.822 H377.945 B198.2 X-0.336 Y-0.480 Z0.000
M666 X-0.222 Y0.269 Z-0.047 A0.00 B0.00
; Heater model parameters
M307 H0 A72.4 C453.5 D16.0 S1.00 B0
M307 H1 A256.1 C203.9 D6.0 S0.60 B0
M307 H2 A250.0 C140.0 D5.5 S1.00 B0
M307 H3 A340.0 C140.0 D5.5 S1.00 B0
M307 H4 A340.0 C140.0 D5.5 S1.00 B0
M307 H5 A340.0 C140.0 D5.5 S1.00 B0
M307 H6 A340.0 C140.0 D5.5 S1.00 B0
M307 H7 A340.0 C140.0 D5.5 S1.00 B0
; Z probe parameters
G31 T1 P500 X0.0 Y0.0 Z0.70
G31 T3 P500 X0.0 Y0.0 Z0.70
G31 T4 P500 X0.0 Y0.0 Z-0.13
Your config-override.g has S0.6 in the M307 command for heater 1. So you had a PWM limit of 0.6 last time you saved the parameters with M500.