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

    Heater Feedforward doesn't appear to have any effect?

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    feedforward 3.4.6
    4
    7
    305
    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.
    • curieosundefined
      curieos
      last edited by

      I'm running 3.4.6, and I'm trying to tune heater feedforward. I believe I am enabling it correctly, I have T0 selected, I send M309 SX.XX, wait for the heater to stabilize, then command an extruder move. We are using 1.75mm filament with a 0.6mm nozzle, and in testing we have been able to get 20mm3/s+, which I believe is around 8-9mm/s for linear extruder movement.

      Initially, I was using the dashboard to command 10mm/s linear extruder movement, but after it consistently dipped to the same temp I dropped the feedrate to 5mm/s linear, thinking it was just our hotend that is unable to keep up. The problem persisted though, as the temperature consistently drops to the same value (0.7C below the set point over 100mm@5mm/s). According to the docs, the value for S should be between 0 and 1 if I'm reading it correctly. I tried values starting at 0.1 all the way up to 1.

      I even tried values above 1 (which did not throw an error, which confused me, since I did not expect it to allow values over 1), all the way up to 100. I even checked the output of M309 to make sure the >1 values were set, and they were. Is this intentional? Am I misinterpreting the documentation?

      I'm fairly certain the heaters are powerful enough to at least affect the minimum temp, they are two 50 watt slice engineering heaters, and the firmware warns about the max temp at full power on startup.

      She/Her
      I work at a local 3D printing shop.
      Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

      Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux marked this topic as a question
      • Phaedruxundefined
        Phaedrux Moderator @curieos
        last edited by Phaedrux

        @curieos said in Heater Feedforward doesn't appear to have any effect?:

        they are two 50 watt slice engineering heaters

        Is that on a single tool, or one heater per tool?

        https://docs.duet3d.com/User_manual/Reference/Gcodes#m309-set-or-report-heater-feedforward

        Z-Bot CoreXY Build | Thingiverse Profile

        curieosundefined 1 Reply Last reply Reply Quote 0
        • curieosundefined
          curieos @Phaedrux
          last edited by

          @Phaedrux it's two heaters per tool, though they are connected in parallel (to the same output), so in this configuration, for T0, I only need one coefficient.

          She/Her
          I work at a local 3D printing shop.
          Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

          1 Reply Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe
            last edited by

            I wonder how the feedforward should work, when you only send an extrusion command via console?
            My understanding is, that it's part of the gcode planner and acts before the actual feed happens.
            IMHO that's not possible with a single command from the console?

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

              @curieos the effectiveness of heater feedforward will depend on how closely the heater is coupled to the nozzle and thermistor.

              If you don't enable heater feedforward, how soon after you start extruding does the heater temperature drop, and how far does it drop?

              Please share your config.g file.

              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

              curieosundefined 2 Replies Last reply Reply Quote 0
              • curieosundefined
                curieos @dc42
                last edited by curieos

                @dc42 I'm not sure of a great way to time how long it takes to drop, but it feels like it takes the same amount of time to drop with or without. It drops 0.7C with or without feedforward when the hotend is at 200C with 100mm@5mm/s. We have volcano length diamondbacks in Takoto HE20s. The temp sensor is closely coupled with the nozzle, and the two heaters straddle them.

                Here are the relevant parts of the config:

                M308 S1 P"20.temp0" Y"pt1000"		; sensor 1 (toolboard)
                M950 H1 C"20.out0" T1			; create heater 1 and map sensor 1 (toolboard)
                M307 H1 B0 S0.80			; disable bang-bang mode for heater  and set PWM limit
                M143 H1 S320				; set temperature limit for heater 1 to 320C
                
                M308 S2 P"21.temp0" Y"pt1000"		; sensor 2 (toolboard)
                M950 H2 C"21.out0" T2			; create heater 2 and map sensor 2 (toolboard)
                M307 H2 B0 S0.80			; disable bang-bang mode for heater  and set PWM limit
                M143 H2 S320				; set temperature limit for heater 2 to 320C
                
                ; Fans
                M950 F0 C"20.out2" Q500			; create fan 0 on pin 1.out6 and set its frequency
                M106 P0 H1 T45				; set fan 0 value. Thermostatic control is turned on
                M950 F1 C"21.out2" Q500			; create fan 1 on pin 1.out7 and set its frequency
                M106 P1 H2 T45				; set fan 1 value. Thermostatic control is turned on
                M950 F2 C"0.out0" Q25000		; (BERDAIR) create fan 2 on pin 0.out0 and set its frequency 
                M106 P2 C"Airpump primary" S0 H-1	; (BERDAIR) set fan 2 name and value. Thermostatic control is turned off
                M950 F3 C"0.out1" Q25000		; (BERDAIR) create fan 3 on pin 0.out1 and set its frequency
                M106 P3 C"Airpump secondary" S0 H-1	; (BERDAIR) set fan 3 name and value. Thermostatic control is turned off
                
                ; Tools
                M563 P0 D0 H1 F2 S"Left"		; define tool 0
                G10 P0 X0 Y0 Z0				; set tool 0 axis offsets
                M568 P0 R0 S0				; set initial tool 0 active and standby temperatures to 0C
                M591 D0 P3 C"20.io1.in" S1		; extruder 0 filament monitor
                
                M563 P1 D1 X3 H2 F3 S"Right"		; define tool 1
                G10 P1 U-0.6 Y0.3 Z0			; set tool 1 axis offsets
                M568 P1 R0 S0				; set initial tool 1 active and standby temperatures to 0C
                M591 D1 P3 C"21.io1.in" S1 		; extruder 1 filament monitor
                

                And the parameters saved to config override:

                M307 H1 R4.462 K0.544:0.030 D4.44 E1.35 S0.80 B0 V26.4
                M307 H2 R4.176 K0.478:0.112 D4.35 E1.35 S0.80 B0 V26.2
                

                edit: My guess at how long it takes to drop is roughly 10-12 seconds, given it takes about half of the extrusion time to drop fully. It's also fairly sluggish to recover until the extrusion stops. If you need a better estimate than this, I can time it with a stop watch on my phone, I'm just not sure if that will be very accurate for comparison since, again, it feels about the same with or without.

                She/Her
                I work at a local 3D printing shop.
                Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

                1 Reply Last reply Reply Quote 0
                • curieosundefined
                  curieos @dc42
                  last edited by

                  @dc42 Does feedforward only work in job files? Should I expect it to work in macros or via the interface buttons?

                  She/Her
                  I work at a local 3D printing shop.
                  Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

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