Hot End Temps Fluctuating
-
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.
-
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.
-
…...........or try a silicone sock over the nozzle.
-
I already have one…
-
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.
-
Config.g:
; 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 ; NetmaskM555 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; Thermistors
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 correctionM570 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; Fans
;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 hereM208 S1 Z0 ; set minimum Z
T0 ; select first hot end
;M572 D0 S0.15 ; enable pressure advance
M501 ; load override-config.g
-
Override:
; 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.
-
I understand that, but maybe I'm confused. Is the PWM limit also adjusted by the Autotuning results?
I just ran: M303 H1 S200 P1.00 and Here are the results:
M307 H1
Heater 1 model: gain 277.6, time constant 192.4, dead time 4.0, max PWM 0.70, mode: PID
Computed PID parameters for setpoint change: P30.6, I0.159, D86.6
Computed PID parameters for load change: P30.6, I2.521, D86.6That PWM of 0.70 is what was in my config-override before I started the autotune.
-
Thanks, looks like I need to update the firmware to carry the P factor from M303 over to the M307 parameters.
EDIT: I just checked the code. When tuning it uses the lower of the existing max PWM and the value you specified in the M303 command. I'll change that. For now, send M307 H1 S1 before you run M303.
-
Thanks, looks like I need to update the firmware to carry the P factor from M303 over to the M307 parameters.
EDIT: I just checked the code. When tuning it uses the lower of the existing max PWM and the value you specified in the M303 command. I'll change that. For now, send M307 H1 S1 before you run M303.
Thanks David,
I will give that a try before the next autotune. It is running a print right now. Do you think that could be part of my fluctuating temps? Its kinda what I am thinking, and is the path I'm following for now.
Thanks again!
-
I'm marking this as solved, as I believe that was the issue David. Thanks!