Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Nozzle can't fall to 60°C

    Scheduled Pinned Locked Moved
    General Discussion
    5
    20
    1.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JuLundefined
      JuL
      last edited by

      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.22

      config.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

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @JuL
        last edited by deckingman

        @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

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 2
        • adavidmundefined
          adavidm
          last edited by

          @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

          1 Reply Last reply Reply Quote 0
          • JuLundefined
            JuL
            last edited by

            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

            tjb1undefined 1 Reply Last reply Reply Quote 0
            • adavidmundefined
              adavidm
              last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • JuLundefined
                JuL
                last edited by

                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 😉

                deckingmanundefined 1 Reply Last reply Reply Quote 0
                • tjb1undefined
                  tjb1 @JuL
                  last edited by

                  @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 noisy

                  Why 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?

                  JuLundefined 1 Reply Last reply Reply Quote 0
                  • JuLundefined
                    JuL @tjb1
                    last edited by

                    @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

                    tjb1undefined 1 Reply Last reply Reply Quote 0
                    • tjb1undefined
                      tjb1 @JuL
                      last edited by tjb1

                      @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 with M106 P0 S0.0 I0 F500 H1 T60

                      JuLundefined 1 Reply Last reply Reply Quote 0
                      • JuLundefined
                        JuL @tjb1
                        last edited by

                        @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

                        tjb1undefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @JuL
                          last edited by

                          @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.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 0
                          • tjb1undefined
                            tjb1 @JuL
                            last edited by tjb1

                            @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 regulate

                            I'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.

                            1 Reply Last reply Reply Quote 0
                            • JuLundefined
                              JuL
                              last edited by JuL

                              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 ?

                              tjb1undefined 1 Reply Last reply Reply Quote 0
                              • tjb1undefined
                                tjb1 @JuL
                                last edited by tjb1

                                @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 place M106 P0 S0.0 I0 F500 H1 T60 and the fan will stay on until 60C is reached.

                                1 Reply Last reply Reply Quote 0
                                • JuLundefined
                                  JuL
                                  last edited by

                                  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

                                  tjb1undefined 1 Reply Last reply Reply Quote 0
                                  • tjb1undefined
                                    tjb1 @JuL
                                    last edited by tjb1

                                    @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 off

                                    You can use M81 S1 per https://duet3d.dozuki.com/Wiki/GCode#Section_M81_ATX_Power_Off or if you aren't using M81 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*
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • JuLundefined
                                      JuL
                                      last edited by

                                      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

                                      tjb1undefined 1 Reply Last reply Reply Quote 0
                                      • Phaedruxundefined
                                        Phaedrux Moderator
                                        last edited by

                                        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.
                                        

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • tjb1undefined
                                          tjb1 @JuL
                                          last edited by

                                          @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 can

                                          Why do you have the G4 S300 and M116?

                                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                          • Phaedruxundefined
                                            Phaedrux Moderator @tjb1
                                            last edited by

                                            @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.

                                            Z-Bot CoreXY Build | Thingiverse Profile

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA