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

Extruder heating tuner failed to reach set temp

Scheduled Pinned Locked Moved
Tuning and tweaking
3
7
209
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.
  • undefined
    SamKudarauskas
    last edited by 20 Mar 2024, 23:19

    I am in the process of testing and tuning my Hemra V6 hotend from E3D on my custom core xy tool changer 3d printer. I've connected the hot end and its respective thermistor but I am unable to tune it successfully. I have been following this guide: https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_tuning but the steps in recommends to resolve the M303 command failing have not been working for me. I have not touched the P value (its at max) and I have tried many values for the D (dead time value). With default values the hot end doesn't even reach 150C before it auto cancels the tuning with the error that it failed to hit the specifies temp. I've increased the D value all the way up to 80 and that only made the hotend get to barely above 150C before it again failed. (the max temp of my hotend is 300C)

    Here is the entirety of my config.g file:

    ; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3 on Fri Mar 15 2024 11:41:50 GMT-0400 (Eastern Daylight Time)
    ; General
    M550 P"Duet 3" ; set hostname
    ; Accessories
    M575 P1 S0 B57600 ; configure PanelDue support
    ; Network
    M552 P0.0.0.0 S1 ; configure Ethernet adapter
    M586 P0 S1 ; configure HTTP
    ; Smart Drivers
    M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis)
    M915 P0.0 S1 ; set StallGuard threshold
    M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
    M915 P0.1 S1 ; set StallGuard threshold
    M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis)
    M915 P0.2 S1 ; set StallGuard threshold
    M569 P0.4 S1 D2 ; driver 0.4 goes forwards (U axis)
    M569 P0.5 S1 D2 ; driver 0.5 goes forwards (extruder 0)
    ; Motor Idle Current Reduction
    M906 I10 ; set motor current idle factor
    M84 S10 ; set motor current idle timeout
    ; Axes
    M584 X0.0 Y0.1 Z0.2 U0.4 ; set axis mapping
    M350 U16 I0 ; configure microstepping without interpolation
    M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
    M906 X900 Y900 Z900 U0 ; set axis driver currents
    M92 X160 Y160 Z400 U80 ; configure steps per mm
    M208 X0:300 Y0:300 Z0:300 U0:200 ; set minimum and maximum axis limits
    M566 X900 Y900 Z12 U900 ; set maximum instantaneous speed changes (mm/min)
    M203 X9000 Y9000 Z180 U6000 ; set maximum speeds (mm/min)
    M201 X600 Y600 Z20 U5 ; set accelerations (mm/s^2)
    ; Extruders
    M584 E0.5 ; set extruder mapping
    M350 E16 I1 ; configure microstepping with interpolation
    M906 E900 ; set extruder driver currents
    M92 E420 ; configure steps per mm
    M566 E120 ; set maximum instantaneous speed changes (mm/min)
    M203 E3600 ; set maximum speeds (mm/min)
    M201 E250 ; set accelerations (mm/s^2)
    ; Kinematics
    M669 K1 ; configure CoreXYU kinematics
    ; Probes
    M558 K0 P9 C"io2.in" H5 F120 T6000 ; configure BLTouch probe via slot #0
    G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height
    M950 S0 C"io2.out" ; create servo #0 for BLtouch
    ; Endstops
    M574 X1 S3 ; configure X axis endstop
    M574 Y1 S3 ; configure Y axis endstop
    M574 Z1 S2 ; configure Z axis endstop
    M574 U0 ; configure U axis endstop
    M915 X Y R0 F0 H400; manually added for sensorless homing
    ; Mesh Bed Compensation
    M557 X25:175 Y25:175 S40:40 ; define grid for mesh bed compensation
    ; Sensors
    M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0
    M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1
    ; Heaters
    M950 H0 C"out0" T0 ; create heater #0
    M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0
    M307 H0 R2.43 D5.5 E1.35 K0.56 B1 ; configure model of heater #0
    M950 H1 C"out1" T1 ; create heater #1
    M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1
    M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1
    ; Heated beds
    M140 P0 H0 ; configure heated bed #0
    ; Fans
    M950 F0 C"out3" ; create fan #0
    M106 P0 S0 L0 X1 B0.1 ; configure fan #0
    M950 F1 C"out4" ; create fan #1
    M106 P1 S0 B0.1 H1 T45 ; configure fan #1
    ; Tools
    M563 P0 D0 H1 F0 ; create tool #0
    M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C

    Note that I currently only have my alpha and beta motors plugged in along with my hotend and thermistor so many other firmware values are default and have not been tuned yet.

    Please let me know what suggestions you might have for values to change and/ or things to test. Thank you for your help.

    Sam

    1 Reply Last reply Reply Quote 0
    • undefined
      SamKudarauskas
      last edited by 21 Mar 2024, 13:08

      Update: I tried running M303 H1 S125 (because it has reliably hit 125C) and it returned:

      Warning: heater behaviour was not consistent during tuning
      Auto tuning heater 1 completed after 3 idle and 25 tuning cycles in 1450 seconds. This heater needs the following M307 command:
      M307 H1 R1.491 K0.895:0.000 D5.05 E1.35 S1.00 B0 V24.1
      Edit the M307 H1 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.

      Do these values look reasonable? Is it likely that I have a faulty heater due to the fact that it can not hit anywhere near its max temp of 300C?

      I also tried preheating the nozzle using the web interface and this time the nozzle hit 170C. It continued to still go up after this point but it was taking almost a minute to go up one degree C.

      undefined 1 Reply Last reply 21 Mar 2024, 13:46 Reply Quote 0
      • undefined
        droftarts administrators @SamKudarauskas
        last edited by 21 Mar 2024, 13:46

        @SamKudarauskas I'd say if the heater is struggling to get past 170C, there's something wrong with the heater cartridge. I assume you're running it on 24V? If possible, use a multimeter to check the resistance of the heater. E3D heaters are usually either 12V or 24V, and either 30W or 40W, so:
        12V 40W = 3.6 ohms
        12V 30W = 4.8ohms
        24V 40W = 14.4ohms
        24V 30W = 19.2 ohms

        Running a 12V heater cartridge at 24V would give a dangerously fast heating rate, so I doubt that's the problem. Running a 24V heater at 12V would severely limit the power output, and how hot it could get.

        If the heater cartridge gives a sensible resistance, check the wiring for poor connections.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        undefined 1 Reply Last reply 21 Mar 2024, 15:13 Reply Quote 0
        • undefined
          SamKudarauskas @droftarts
          last edited by SamKudarauskas 21 Mar 2024, 15:13

          @droftarts Thank you for your help. It is the 24V 30W heater cartridge. I measured 19.7 ohms (so I presume it is fine?). Is it possible that I am only sending it 12V instead of 24V? If so, how could I check this and fix it?

          I inspected the wires and all the connections appear fine to me.

          Sam

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 22 Mar 2024, 06:17

            Can you send M122 in the gcode console and report the results here? It will show the input voltage.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 22 Mar 2024, 13:15 Reply Quote 0
            • undefined
              SamKudarauskas @Phaedrux
              last edited by SamKudarauskas 22 Mar 2024, 13:15

              @Phaedrux Here is the results from M122

              M122
              === Diagnostics ===
              RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3 (2024-01-24 17:58:49) running on Duet 3 MB6HC v1.02 or later (standalone mode)
              Board ID: 08DJM-9P63L-DJ3S0-7J1FJ-3SN6P-TSMZA
              Used output buffers: 3 of 40 (18 max)
              === RTOS ===
              Static ram: 155184
              Dynamic ram: 120916 of which 732 recycled
              Never used RAM 69160, free system stack 214 words
              Tasks: NETWORK(1,ready,40.3%,148) ETHERNET(5,nWait 7,0.2%,565) HEAT(3,nWait 1,0.0%,341) Move(4,nWait 6,0.0%,336) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,338) TMC(4,nWait 6,8.6%,56) MAIN(1,running,49.8%,103) IDLE(0,ready,1.1%,30), total 100.0%
              Owned mutexes:
              === Platform ===
              Last reset 00:00:09 ago, cause: software
              Last software reset at 2024-03-22 09:13, reason: User, Gcodes spinning, available RAM 66304, slot 1
              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
              Error status: 0x00
              Aux0 errors 0,0,0
              MCU temperature: min 32.2, current 32.7, max 32.7
              Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
              12V rail voltage: min 12.1, current 12.2, max 12.3, under voltage events: 0
              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
              Events: 0 queued, 0 completed
              Driver 0: standstill, SG min n/a, mspos 8, reads 51073, writes 19 timeouts 0
              Driver 1: standstill, SG min n/a, mspos 8, reads 51074, writes 19 timeouts 0
              Driver 2: standstill, SG min n/a, mspos 8, reads 51076, writes 17 timeouts 0
              Driver 3: standstill, SG min n/a, mspos 8, reads 51082, writes 11 timeouts 0
              Driver 4: standstill, SG min n/a, mspos 8, reads 51077, writes 16 timeouts 0
              Driver 5: standstill, SG min n/a, mspos 8, reads 51077, writes 16 timeouts 0
              Date/time: 2024-03-22 09:13:52
              Slowest loop: 3.99ms; fastest: 0.07ms
              === Storage ===
              Free file entries: 20
              SD card 0 detected, interface speed: 25.0MBytes/sec
              SD card longest read time 3.5ms, write time 0.0ms, max retries 0
              === Move ===
              DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00
              no step interrupt scheduled
              Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
              === DDARing 0 ===
              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === DDARing 1 ===
              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === Heat ===
              Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
              === GCodes ===
              Movement locks held by null, null
              HTTP is idle in state(s) 0
              Telnet is idle in state(s) 0
              File is idle in state(s) 0
              USB is idle in state(s) 0
              Aux is idle in state(s) 0
              Trigger is idle in state(s) 0
              Queue is idle in state(s) 0
              LCD is idle in state(s) 0
              SBC is idle in state(s) 0
              Daemon is idle in state(s) 0
              Aux2 is idle in state(s) 0
              Autopause is idle in state(s) 0
              File2 is idle in state(s) 0
              Queue2 is idle in state(s) 0
              Q0 segments left 0, axes/extruders owned 0x0000000
              Code queue 0 is empty
              Q1 segments left 0, axes/extruders owned 0x0000000
              Code queue 1 is empty
              === CAN ===
              Messages queued 83, received 0, lost 0, errs 44130, boc 0
              Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 47/0/0
              Tx timeouts 0,0,46,0,0,35 last cancelled message type 30 dest 127
              === Network ===
              Slowest loop: 5.46ms; fastest: 0.03ms
              Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
              HTTP sessions: 1 of 8
              = Ethernet =
              Interface state: active
              Error counts: 0 0 0 1 0 0
              Socket states: 5 2 2 2 2 0 0 0
              === WiFi ===
              Interface state: disabled
              Module is disabled
              Failed messages: pending 0, notrdy 0, noresp 0
              Socket states: 0 0 0 0 0 0 0 0
              === Multicast handler ===
              Responder is inactive, messages received 0, responses 0

              I also tried a out2 instead of out1 and it didn't change anything.

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 23 Mar 2024, 01:06

                Is your hotend assembled correctly? Perhaps the hot block is making contact with the headsink.

                Z-Bot CoreXY Build | Thingiverse Profile

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