Heater Temperature Excursion



  • @Phaedrux Config files below.

    Regarding wiring issue... it could be, I do understand that wiring issues can be tricky to replicate, but for the record I did try to heat up the extruder and jiggle the wires to see if I can create any noise, and no dice.

    Config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Jul 19 2020 22:30:32 GMT+0300 (Israel Daylight Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Goliath"                                ; set printer name
    M665 R172.66 L511.07 B150 H329.8                 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0                                  ; put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S0                                     ; physical drive 0 goes backwards
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S0                                     ; physical drive 2 goes backwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3                               ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X100.00 Y100.00 Z100.00 E137.82            ; set steps per mm (E is 430 for bondtech, 137.82 for creality)
    M566 X600.00 Y600.00 Z600.00 E1200.00          ; set maximum instantaneous speed changes (mm/min) (was [x,y,z]=1200)
    M203 X9000.00 Y9000.00 Z9000.00 E1200.00       ; set maximum speeds (mm/min) (was [x,y,z]=18000)
    M201 X500.00 Y500.00 Z500.00 E1000.00       ; set accelerations (mm/s^2) (was [x,y,z]=1000)
    M906 X1000 Y1000 Z1000 E1500 I30                ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                                     ; set minimum Z
    
    ; Endstops
    M574 X2 S1 P"!xstop"                           ; configure active-high endstop for high end on X via pin !xstop
    M574 Y2 S1 P"!ystop"                           ; configure active-high endstop for high end on Y via pin !ystop
    M574 Z2 S1 P"!zstop"                           ; configure active-high endstop for high end on Z via pin !zstop
    
    ; Z-Probe
    M558 P5 C"!zprobe.in" H5 F250 T6000 ;A3 S0.01   ; set Z probe type to switch and the dive height + speeds (was 120mm/sec)
    G31 P500 X30.31 Y17.5 Z2.44                    ; set Z probe trigger value, offset and trigger height (z probe is at a circle with radius 35mm from extruder)
    M557 R160 S20									;Set probing radius to 160mm with a probe spacing of 20mm
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.060000e-8 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    M143 H0 S135                                   ; set temperature limit for heater 0 to 135C
    
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.060000e-8  ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    
    M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.060000e-8  ; configure sensor 2 as thermistor on pin e1temp (chamber thermistor)
    
    
    ; Fans
    M950 F0 C"fan0" Q100                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 X1 H1 T45                            ; set fan H1 (was 0.25) value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 S"Extruder0" D0 H1 F0                  ; 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
    
    ; Lighting
    M950 P0 C"e1heat"							   ; create output port 0 attached to heater 1\
    M42 P0 S0.1									; Turn on Case light 10%
    
    
    ; Load Custom settings
    M501
    

    Config-override.g

    ; config-override.g file generated in response to M500 at 2020-10-08 22:54
    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L511.070:511.070:511.070 R173.652 H337.845 B160.0 X0.728 Y1.338 Z0.000
    M666 X-1.091 Y-0.667 Z1.759 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A340.0 C200.0 D5.5 S1.00 V0.0 B1
    M307 H1 A561.3 C290.3 D4.1 S1.00 V24.0 B0
    ; Workplace coordinates
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00
    

  • Moderator

    @Leav said in Heater Temperature Excursion:

    I did try to heat up the extruder and jiggle the wires to see if I can create any noise, and no dice.

    Is this a direct drive extruder setup? As in, do the motor wires run along with the heater and thermistor and fan wiring?



  • @Phaedrux
    it looks like a delta.

    please post a picture of the printer



  • @Phaedrux @Veti

    Here's the beast I call Goliath, a labor of blood, sweat and love

    I've added some annotations to help understand how the wiring is handled. generally I tried to avoid putting sensor wires next to potentially noisy power wires, where possible.

    67a72a04-018f-4d56-9169-78f2d3020140-image.png



  • @Phaedrux said in Heater Temperature Excursion:

    When do you see stutters in motion?

    Forgot to answer this. Usually during long sweeping curves I will see the printer pause for a fraction of a second and continue.

    I thought perhaps the CPU is getting overloaded...


  • Moderator

    When you notice it doing that check the m122 for hiccups. Though that's usually only when using microsteps higher than 16 which you are not. Curves with small segments could do it. What slicer do you use? s3d has been known to do that.

    Low e jerk and pressure advance could be another possibility.

    Do you use mesh compensation? Low z jerk can sometimes cause stutters in xy but you've got a delta so all jerk is the same on xyz so I don't think that's what's going on here.



  • @Phaedrux said in Heater Temperature Excursion:

    When you notice it doing that check the m122 for hiccups. Though that's usually only when using microsteps higher than 16 which you are not. Curves with small segments could do it. What slicer do you use? s3d has been known to do that.

    I use PrusaSlicer, will do the M122 when I notice the hiccups.

    Low e jerk and pressure advance could be another possibility.

    Interesting, I don't use pressure advance but I can see why the low E jerk could cause that.

    Do you use mesh compensation? Low z jerk can sometimes cause stutters in xy but you've got a delta so all jerk is the same on xyz so I don't think that's what's going on here.

    Yes I'm definitely a mesh user. I see how that could cause issues for cartesian users, but I agree probably unrelated for me on a delta.


    If I may re-ask the question from a few posts ago: what do you make of the "slowest loop" statistic? Is that not concerning?


  • Moderator

    Unsure of the slowest loop stat. @dc42 would have to comment.



  • I hope this isn't bad form, but it seems this question slipped by so I'm tagging @dc42 again...


  • Moderator

    @Leav said in Heater Temperature Excursion:

    I hope this isn't bad form, but it seems this question slipped by so I'm tagging @dc42 again...

    No that's fine. Keeps us from forgetting. Thanks for giving it a couple days. 🙂



  • Still chasing this, and I've worked on a few things since I last posted:

    • New Thermistor (cartridge style, to rule out issues with wires shorting in the heater block)
    • New heater cartridge
    • Successfully replaced wifi module with esp-07s - Signal went from ~-70dbm to ~-55dbm

    Started a five hour print, temperature graph was smooth, minus a few blips which seemed to indicate that the heating process gets "stuck" (??) either in "on" or "off" mode for a second, and the then recovers:
    f

    I let it be, thinking this is a minor issue, but after a few hours the excursion hit again:
    0_1602928899694_b902a9d3-d006-42fc-bc08-13c0bb2a39db-image.png

    I was able to resume the print (thanks for such a robust recovery mechanism!), and there was still a bit of noise:
    0_1602928983744_6a637a56-df79-4c05-a21a-3429a690da57-image.png

    But now it is very smooth (minor blip still shows up):
    0_1602929007450_1671d0a7-8aee-468c-ba4e-19724f7608b3-image.png

    Does anyone have any clue what could cause this? I feel like this is some sort of random behavior that gets introduced and suddenly vanishes, making debugging very frustrating...

    Here is a copy of the M122 response after the recovery:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later
    Board ID: 0JD0M-9K662-MGPSS-6J1FD-3S46N-TVU6Y
    Used output buffers: 3 of 24 (11 max)
    === RTOS ===
    Static ram: 27980
    Dynamic ram: 93124 of which 48 recycled
    Exception stack ram used: 576
    Never used ram: 9344
    Tasks: NETWORK(ready,268) HEAT(blocked,792) MAIN(running,1732) IDLE(ready,80)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 04:52:37 ago, cause: power up
    Last software reset at 2020-10-16 16:27, reason: User, spinning module GCodes, available RAM 9376 bytes (slot 0)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
    Error status: 0
    MCU temperature: min 22.3, current 36.8, max 43.8
    Supply voltage: min 23.7, current 24.0, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, SG min/max 42/430
    Driver 1: ok, SG min/max 78/423
    Driver 2: ok, SG min/max 0/416
    Driver 3: ok, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 2020-10-17 12:48:30
    Cache data hit count 4294967295
    Slowest loop: 275.25ms; fastest: 0.12ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 2.9ms, write time 63.4ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 161, MinFreeDm: 137, MaxWait: 455270ms
    Bed compensation in use: mesh, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 215624, completed moves: 215603, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: 3
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.4
    === GCodes ===
    Segments left: 1
    Movement lock held by null
    HTTP is idle in state(s) 0
    Telnet is idle in state(s) 0
    File is doing "G1 X-5.074 Y-103.468 E29.61163" 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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 275.44ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address 48:3f:da:45:74:de
    WiFi Vcc 3.38, reset reason Unknown
    WiFi flash size 4194304, free heap 24504
    WiFi IP address 192.168.1.6
    WiFi signal strength -55dBm, reconnections 0, sleep mode modem
    Socket states: 4 0 0 0 0 0 0 0
    


  • Given that on both the negative and positive small excursion you show, the leading edge is 'instantaneous', followed by a real ramp to compensate, it looks like a thermistor issue. The actual temperature cannot change that fast. After a sudden change in the thermistor+wiring resistance, the heater initiates a real ramp + overshoot to compensate. There has to be a loose connection in the thermistor wiring somewhere, I think.



  • @mendenmh

    This has been suggested before, but I'm willing to give it a try again.
    I'll expose the electronics bay and jiggle everything around while holding at ~250c.
    Will report back.



  • Embarrassed / Happy to say that I found a loose connection deep in the mines of moria electronics bay.

    Below is the result of wiggling that cable... That cable is very much static during the print, but I guess the vibrations/heat expansion was enough to cause issues?

    Lesson of the day: don't use bare wire in screw terminals! (not even "just temporarily to see if it works!")

    Thanks all for bearing with me during my somewhat crazy tangents.

    2020-10-19 21_14_36-Goliath.png


Log in to reply