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

    Temperature setpoint problem

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    6
    1.2k
    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.
    • adri84djundefined
      adri84dj
      last edited by

      Good morning to all,

      Is there any configuration in the firmware for the preheating of the bed and the hotend?

      Currently my bed temperature setpoint is 80 ° C, and the hotend 240 ° C.

      When the bed temperature is 78 ° C gives permission to heat the hotend, and when the hotend temperature is 238 ° C, printing begins.

      I want it to not take the next step until it reaches the set temperatures.

      Before when I used MKS Sbase 1.3 / MKS Base2 1.2 this did not happen, so I understand that it may be something from the firmware.

      I am using Duet Ehtrenet with1.18.1, but I have also tested it with 1.19beta8 and the same thing happened.

      a greeting

      1 Reply Last reply Reply Quote 0
      • DjDemonDundefined
        DjDemonD
        last edited by

        I think its a slicer function, by default the bed heats first (open the gcode file and have a look how your slicer sends the heating commands). If you place heating commands in your start gcode then the slicer does not automatically add them before. Enabling you to control things as you want.

        So this is the start of a gcode with no temperature commands in my start gcode in slic3r

        ;..........................
        ................................
        M107
        M190 S85 ; set bed temperature and wait for it to be reached
        M104 S245 ; set temperature
        
        ; Filament gcode
        
        M109 S245 ; set temperature and wait for it to be reached
        G21 ; set units to millimeters
        G90 ; use absolute coordinates
        M83 ; use relative distances for extrusion
        G1 E-1.00000 F3000.00000
        

        If I run this (im using beta9 but I don't think it makes any difference) then the bed starts heating first.

        However If I add
        M104 S245
        M190 S85

        to my start gcode in slic3r I get the following gcode :

        M107
        M104 S245
        M190 S85
        
        ; Filament gcode
        
        G21 ; set units to millimeters
        G90 ; use absolute coordinates
        M83 ; use relative distances for extrusion
        G1 E-1.00000 F3000.00000
        G1 Z0.500 F7200.000
        

        When I run this it heats the bed and extruder at the same time. However since the heat extruder command is M104 (which doesnt wait until heating is complete this needs to have an M109 after the M190, so that the nozzle reaches set temp before printing begins. This wouldnt normally be a problem if your bed is slow to heat up but my bed heats faster than my nozzle.

        So in start gcode put

        M104 Sx ;heat hotend don't wait
        M190 Sx ;heat bed
        M109 Sx ;heat hotend and wait for temp to stabilise

        x being whatever temps you want/need. And then whatever other functions, like homing/probing you need.

        Simon. Precision Piezo Z-Probe Technology
        www.precisionpiezo.co.uk
        PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          RRF treats the set temperature as having been reached when it is within 2.5C of the target temperature. Waiting for it to be reached exactly would be a bad idea, because if the PID settings are tuned for undershoot then the set temperature would in principle take an infinite amount of time to be reached.

          What are you doing that is so critical that you need the bed temperature to be closer than 2C?

          Some users like to add a delay after the bed is up to temperature, not because they want it to get closer than 2C but to allow the heat to permeate through a layer of glass on top of the bed heater. This can be done by providing your own commands to set the temperatures in the slicer start gcode script, and adding a G4 Pnnn command to pause after the M190 command.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • adri84djundefined
            adri84dj
            last edited by

            OK,

            I will try to add the code G4 Pxxxx.

            I just saw that P is for milliseconds S is for seconds.

            Could you use G4 S120, to indicate that you wait 2 minutes?

            Thanks and greetings

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              Yes, G4 S120 will wait for 2 minutes.

              I've checked what Marlin does. By default it first waits until the temperature is within 1C of the target, then it starts a timer and checks that the temperature remains within 3C of target for 10 seconds. This seems rather complicated to me and I presume it is intended to allow for noisy temperature readings. These 3 figures can be changed in Configuration.h but I've never seen any suggestion to change them on the RepRap forum.

              Anyway, I am inclined to change RRF to consider that a heater is up to temperature when it is within 1C of target instead of within 2.5C. The only issue I can see with this is if you use a temperature sensor with a resolution worse than 2C at a temperature that you might want to use as a setpoint. What do other users think? I could make this figure configurable, but I suspect that would be overkill.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • DjDemonDundefined
                DjDemonD
                last edited by

                I always presumed the firmware moved on to the next gcode as this was some sort of look ahead function given that at 2.5 deg C below the set heater temp, it was heading in that direction, so might as well save time and move on to the next command.

                Ignore my message above, I got the wrong end of the stick.

                Simon. Precision Piezo Z-Probe Technology
                www.precisionpiezo.co.uk
                PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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