Nozzle can't fall to 60°C
-
Hi,
My printer works well but, I'm trying, with no luck, to keep my nozzle fan on until it falls to 60°C at the end of a print. Unfortunetly, if I put M109 R60 at the gcode's end, the printer never arrive to this value but keeps regulate around 62°C (so my gcode never stop). Am I missing somthing?
Firmware, software:
Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
Firmware Electronics: Duet WiFi 1.02 or later
Firmware Version: 2.01(RTOS) (2018-07-26b2)
WiFi Server Version: 1.21
Web Interface Version: 1.22config.g
; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Mon Aug 06 2018 16:00:33 GMT+0200; General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 P**** ; Set machine name
M587 S"" P"" ; Configure access point. You can delete this line once connected
M552 S1 P"****" ; Enable network
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S0 ; Drive 1 goes forwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S0 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z400 E95.73 ; Set steps per mm
M566 X600 Y600 Z100 E200 ; Set maximum instantaneous speed changes (mm/min)
M203 X12000 Y12000 Z1800 E4500 ; Set maximum speeds (mm/min)
M201 X600 Y600 Z150 E300 ; Set accelerations (mm/s^2)
M906 X2400 Y2400 Z2000 E2000 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S180 ; Set idle timeout; Pressure Advance
M572 D0 S0.05; Axis Limits
M208 X-51 Y-25 Z0 S1 ; Set axis minima
M208 X220 Y220 Z280 S0 ; Set axis maxima; Endstops
M574 X1 Y1 S1 ; Set active high endstops; Z-Probe
M574 Z1 S2 ; Set endstops controlled by probe
M558 P1 H5 F120 T9600 B1 ; Set Z probe type to unmodulated and the dive height + speeds
G31 P500 X32 Y5 Z2.40 ; Set Z probe trigger value, offset and trigger height
M557 X20:200 Y20:200 S90 ; Define mesh grid; Heaters
M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S90 ; Set temperature limit for heater 0 to 90C
M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S270 ; Set temperature limit for heater 1 to 270C; Fans
M106 P0 S0.0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S0.8 I0 F500 H-1 ; extruder fan
M106 P2 S0.7 I0 F500 H-1 ; board fan; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Automatic saving after power loss is not enabled
; Custom settings are not configured
-
@jul The best way to do it is simply enable thermostatic mode, then you don't need any commands to the gcode file. Assuming fan 1 is the fan you want to control and you want it to switch with haete 1 which is the normal hot end heater, then use this in your config.g instead of what you have now.
M106 P1 S0.8 I0 F500 H1 T60
For a more detailed explanation look here https://duet3d.dozuki.com/Wiki/GCode#Section_M106_Fan_On
-
@jul said in Nozzle can't fall to 60°C:
M109 R60
From the Wiki:
M109: Set Extruder Temperature and Wait
You are telling the Duet to set the temperature to 60 degrees and then do nothing, which sounds like exactly what is happening.
You probably want Thermostatic fan control, part of M106
Looking at your config, you have this option disabled with H-1:
M106 P1 S0.8 I0 F500 H-1 ; extruder fan
as an example, try:
M106 P1 S0.8 I0 F500 H1 T60
and put
M104 S0
in your end gcode. When the temperature drops below 60C, the fan should switch off.
adavidm
-
Thanks for helping, but I'm using this on P0 (nozzle) wich I can't use thermostaticaly.
P1 (extruder) is always on and could be in thermostatic mode, but is not noisy -
I don't understand what you are trying to do. If you don't want to use thermostatic control what about:
M109 R40 ; To get the temperature below your threshold M106 P0 S0; To switch P0 off.
Does that help? Sorry if i'm not understanding your use case.
-
The problem is that it wil never arrive at 40°C (as at 60°C). It will go around but upper than 40°C (like 42-43°C) so M106 P0 S0 will never be done.
Basically, I've got:
P0 wich blow on my nozzle,
P1 on the E3D heatsink
P2 on motherboard.What I want to do at the end of a print is:
Have P1 (e3d heatsink) blowing permanently at 80% (works)
Have P0 (nozzle) keeping blow on the nozzle until it reach 60°C
Have P2 (motherboard) blowing permanently at 70% (works)PS: my english is maybe poor, so don't hesitate to ask again if it's not clear
-
@jul said in Nozzle can't fall to 60°C:
Thanks for helping, but I'm using this on P0 (nozzle) wich I can't use thermostaticaly.
P1 (extruder) is always on and could be in thermostatic mode, but is not noisyWhy can you not use thermostatic mode on P0? I don't see anything in the documentation other than they recommend it on P1 due to it being activated on Duet restart by default.
Are you using it to cool the print and don't want it running all the time?
-
@tjb1 said in Nozzle can't fall to 60°C:
Are you using it to cool the print and don't want it running all the time?
Exactly
-
@jul said in Nozzle can't fall to 60°C:
@tjb1 said in Nozzle can't fall to 60°C:
Are you using it to cool the print and don't want it running all the time?
Exactly
Try turning thermostatic off in the start g-code of your slicer using
M106 P0 S0.0 I0 F500 H-1
which should allow it to be controlled like a normal print fan and then in the ending g-code when you want the fan to stay on until 60C turn it into a thermostatic fan withM106 P0 S0.0 I0 F500 H1 T60
-
@tjb1 Idon't want to modify P1, it works well.
I want P0 to wait until the cold temperature is achieved.
I did that before with Marlin firmware on ramps, and it worked a charmed.
With Marlin, I did M104 S0 followed by M109 R60 and it didn't regulate, just wait as hotend were stop.
The duet firmware doesn't seem to work that way with M109 R60, it regulate -
@jul said in Nozzle can't fall to 60°C:
The problem is that it wil never arrive at 40°C (as at 60°C). It will go around but upper than 40°C (like 42-43°C) so M106 P0 S0 will never be done.
Basically, I've got:
P0 wich blow on my nozzle,
P1 on the E3D heatsink
P2 on motherboard.What I want to do at the end of a print is:
Have P1 (e3d heatsink) blowing permanently at 80% (works)
Have P0 (nozzle) keeping blow on the nozzle until it reach 60°C
Have P2 (motherboard) blowing permanently at 70% (works)PS: my english is maybe poor, so don't hesitate to ask again if it's not clear
That's no problem. You can set any fan to monitor any heater.
So M106 P0 H1 T60 will use fan 0 monitoring heater1 (which is the hot end) and turn on at 60 deg C.
Then M106 P1 H1 T80 will use fan 1 but also monitoring heater1 and turning it on when it reaches 80 deg C.I haven't tried it but it should work.
-
@jul said in Nozzle can't fall to 60°C:
@tjb1 Idon't want to modify P1, it works well.
I want P0 to wait until the cold temperature is achieved.
I did that before with Marlin firmware on ramps, and it worked a charmed.
With Marlin, I did M104 S0 followed by M109 R60 and it didn't regulate, just wait as hotend were stop.
The duet firmware doesn't seem to work that way with M109 R60, it regulateI'm sorry, I didn't edit the commands to reflect the correct pin. Change the P1 to P0. If you use the command to change P0 to a thermostatically controlled fan at the end of the print, it will leave the fan on until it reaches 60C and then shut the fan off but it's not a blocking code and the g-code will terminate.
-
Just for be clear:
P0 (wich I want to wait until asked temperature) is the fan wich blow on my print, so I want to manage speed on the slicer, not themostatic.
But I can maybe put your command in my slicer's end script after M104 S0 ? -
@jul said in Nozzle can't fall to 60°C:
Just for be clear:
P0 (wich I want to wait until asked temperature) is the fan wich blow on my print, so I want to manage speed on the slicer, not themostatic.
But I can maybe put your command in my slicer's end script after M104 S0 ?Yes if you place
M106 P0 S0.0 I0 F500 H-1
in the starting g-code (this is needed in the starting g-code to reset the fan to g-code control if you don't reset Duet between prints) it should allow that fan to be controlled with g-code like a normal print fan then when you reach the end (ending g-code) you should be able to placeM106 P0 S0.0 I0 F500 H1 T60
and the fan will stay on until 60C is reached. -
ok for my fan, I will give it a try.
Is there a way to do something when the fan shutdown? I want my printer to blow until 60°C is reached then turn the printer off -
@jul said in Nozzle can't fall to 60°C:
ok for my fan, I will give it a try.
Is there a way to do something when the fan shutdown? I want my printer to blow until 60°C is reached then turn the printer offYou can use
M81 S1
per https://duet3d.dozuki.com/Wiki/GCode#Section_M81_ATX_Power_Off or if you aren't usingM81
I assume something like the following would work as well?M106 P0 S0.0 I0 F500 H1 T60 ;Change fan P0 to thermostatic control with 60C target G10 P0 R60 S60 ;Set tool 0 to 60C Standby/Active temperature M116 ;Wait for temperature G10 P0 R0 S0 ;Set tool 0 heaters off - needs confirmed *Command to shutdown here*
-
M106 P0 S1.0 L1.0 I0 F500 H1 T60 works well for keeping my fan alive until temperature reached
Thx
As I don't already have my relay, I can't test the M81 command. I'll test as soon as I can -
I think you may have found what you needed already, but here's what I do at the end of my prints to cool the nozzle and the print with the part cooling fan.
; stop.g ; called when M0 (Stop) is run (e.g. when a print from SD card is cancelled) ; Also called by slicer end gcode by M0 ; M400 ; Finish move queue M104 S0 ; Extruder heater off M140 S0 ; Bed heater off M106 S255 ; Fan at 100 to cool nozzle and bed G91 ; Relative positioning M220 S100 ; Set speed factor back to 100% in case it was changed M221 S100 ; Set extrusion factor back to 100% in case it was changed G1 E-2 ; Retract filament 2mm G1 X5 Y5 ; Wipe nozzle G1 Z5 ; raise nozzle 5mm from printed part G90 ; Absolute positioning M104 S35 ; Set hot end low and wait G4 S300 ; Wait 5 minutes M116 ; wait for temp to drop M106 S0 ; Fan off M104 S0 ; extruder heater off M140 S0 ; Bed heater off G28 X Y ; Home X and Y G28 X Y ; Home it again, Sam. M290 R0 S0 ; clear babystepping M84 ; Steppers off M98 P"ZSpeedsNormal.g" ; Load normal z speed settings again.
-
@jul said in Nozzle can't fall to 60°C:
M106 P0 S1.0 L1.0 I0 F500 H1 T60 works well for keeping my fan alive until temperature reached
Thx
As I don't already have my relay, I can't test the M81 command. I'll test as soon as I canWhy do you have the G4 S300 and M116?
-
@tjb1 because I want to wait at least 5 minutes with the fan on to cool the part and bed. Depending on the print temp the hotend may have cooled off by then or not.