Y axis skipping after many hours printing



  • Hi,

    I asked in the E3D Bigbox forum as well but no answer there yet. I know many of the reasons I can experience skipping but like to hear other opinions as well.

    The one thing that throws me of here is I can print several good prints ranging from 30 min - 5 hours with no issues and then I get the skipping typically 8 hours out in a longer one. This could of course just be a coincidence and maybe I just got a loose wire somewhere.

    The Y motor is normally just luke warm at touch. I have never been around to check when the skips happened.

    Copied from my other post:

    I had 1A limit when I first experienced this. But since it happened after 10 hours and I have some Y noise I rather turned it down to 700mA. Still got noise when it moves fast. But I have some successful prints with 700mA thats between 5 and 10 hours so I'm not sure if ramping the limit to e.g. 1.2A will help. At 700mA the stepper is luke warm.

    I have not re-commisioned anything in the Y-X after laying the printer on the side and back when upgrading to Duet Wifi.

    Please see photos here: https://forum.e3d-online.com/index.php?threads/y-axis-skipping.2679/

    Any suggestions where to start on this?


  • administrators

    Here are a few possibilities:

    • pulley not tight on stepper motor shaft
    • nozzle has hit a blob in the print and the motor current isn't sufficient to provide enough force to overcome it
    • Y acceleration set too high (M201 command)
    • Y travel speed set too high (M203 command) for the motor inductance and supply voltage you are using, see https://duet3d.com/wiki/Choosing_stepper_motors#How_to_work_out_the_power_supply_voltage_you_need to see whether motor torque will be maintained at the maximum speed you have configured
    • bad connection in the Y motor wiring
    • power brownout. You can run M122 after there have been missed steps to see if there have been any under-voltage events.

    One reason that shouldn't apply to the Duet WiFi is an overheating driver, but to check this you can run M122 and look at the driver status, to check that there is no over-temperature warning or error reported.



  • Awesome David! Thanks, this gives my very much more to work with.

    It's such an annoying issue.



  • Decided to reprint a sagging fan shroud even it still should not hit anything but now it happened much earlier in the print. Maybe after 1 - 3 hours.

    There is 1 under volt event. Can this be it?
    [c]Supply voltage: min 1.4, current 24.9, max 25.2, under voltage events: 1, over voltage events: 0[/c]

    I also lowered the acceleration from 1000 to 500 in Y. I printet in my slowest preset so I'm pretty sure the speed is not an issue but I will lower it next print anyways.

    I tried to hold the Y motor pulley when pulling the Y carriage back and forwards but can not provoke any slippage.

    Output of M201, M122 and M203:

    08:14:23M203
    Maximum feedrates: X: 6000.0, Y: 6000.0, Z: 720.0, U: 720.0, E: 3000.0:3000.0
    08:13:03M122
    === Diagnostics ===
    Used output buffers: 1 of 32 (6 max)
    === Platform ===
    Static ram used: 20320
    Dynamic ram used: 73120
    Recycled dynamic ram: 768
    Stack ram used: 3280 current, 8340 maximum
    Never used ram: 28524
    Last reset 94:42:01 ago, cause: software
    Last software reset code 0x0003, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Spinning module during software reset: GCodes, available RAM 28524 bytes (slot 0)
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 110.1ms
    MCU temperature: min 26.3, current 28.7, max 40.0
    Supply voltage: min 1.4, current 24.9, max 25.2, under voltage events: 1, over voltage events: 0
    Expansion motor(s) stall indication: no
    Driver 0: stalled standstill
    Driver 1: standstill
    Driver 2: standstill
    Driver 3: stalled standstill
    Driver 4: standstill
    Driver 5: standstill
    Driver 6: standstill
    Driver 7: standstill
    Driver 8: standstill
    Driver 9: standstill
    Date/time: 2017-05-14 08:13:01
    Slowest main loop (seconds): 0.125000; fastest: 0.000000
    === Move ===
    MaxReps: 5, StepErrors: 0, MaxWait: 539519ms, Underruns: 0, 0
    Scheduled moves: 158907, completed moves: 158907
    Bed compensation in use: mesh
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    Probe change coordinates:
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.4
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is ready with "M122" in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    Code queue is empty.
    === Network ===
    WiFiServer is running
    SPI underruns 0, overruns 0
    === Webserver ===
    HTTP sessions: 1 of 8
    08:12:55M201
    Accelerations: X: 1000.0, Y: 500.0, Z: 500.0, U: 500.0, E: 1000.0:1000.0
    
    

  • administrators

    Yes. An under voltage event means that the power input dropped below about 10V, at which point the stepper drivers shut down. It was probably caused by a power brownout, but check that the VIN terminal block screws are tight anyway.



  • Could it be caused by ATX power not on. As it reports about 1.5V before I execute M80.



  • Hmm, that was not it. Earlier today I had a 2 hours print that whent perfect and now its been printing 4 hours and gone complete bonkers on Y.

    No under voltage events.

    Next test will be significantly lower max speed.

    Paused print and now did a M122:

    19:40:28M122
    === Diagnostics ===
    Used output buffers: 1 of 32 (12 max)
    === Platform ===
    Static ram used: 20320
    Dynamic ram used: 73120
    Recycled dynamic ram: 768
    Stack ram used: 968 current, 8340 maximum
    Never used ram: 28524
    Last reset 11:03:26 ago, cause: software
    Last software reset code 0x0003, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Spinning module during software reset: GCodes, available RAM 32444 bytes (slot 3)
    Error status: 2
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 27.6, current 29.9, max 34.0
    Supply voltage: min 22.9, current 24.8, max 25.2, under voltage events: 0, over voltage events: 0
    Expansion motor(s) stall indication: yes
    Driver 0: standstill
    Driver 1: stalled standstill
    Driver 2: stalled standstill
    Driver 3: stalled standstill
    Driver 4: standstill
    Driver 5: stalled standstill
    Driver 6: standstill
    Driver 7: standstill
    Driver 8: standstill
    Driver 9: standstill
    Date/time: 2017-05-14 19:40:24
    Slowest main loop (seconds): 0.005859; fastest: 0.000000
    === Move ===
    MaxReps: 4, StepErrors: 135, MaxWait: 2753ms, Underruns: 0, 0
    Scheduled moves: 37083, completed moves: 37083
    Bed compensation in use: mesh
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    Probe change coordinates:
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    Code queue is empty.
    === Network ===
    WiFiServer is running
    SPI underruns 0, overruns 0
    === Webserver ===
    HTTP sessions: 1 of 8
    
    

  • administrators

    The "Step errors: 135" is a problem, although there were no step errors in your previous M122 report. Are you running firmware 1.18.1 ? If not, please upgrade. If you are, please share your config.g file.



  • Yes, Firmware Version: 1.18.1 (2017-04-09)

    Do you prefer config files and large logs like this or rather external pastebin?

    My config.g:

    ; Config for strips BigBox Dual
    
    ; Communication and general
    M111 S0                             	; Debug off
    M550 BigBox                         	; Machine name and Netbios name (can be anything you like)
    M551 tippex00                       	; Machine password (used for FTP)
    M540 P0xBE:0xEF:0xDE:0xAD:0x83:0xAE 	; new generated MAC
    M552 S1                             	; Enable WiFi. Disabled for setup and testing. Enable once set up on your network.
    M555 P2                           	; Set output to look like Marlin
    M575 P1 B57600 S1			; Comms parameters for PanelDue
    G21                                 	; Work in millimetres
    G90                                	; Send absolute coordinates...
    M83                                 	; ...but relative extruder moves
    
    ; Motor remapping for dual Z
    M584 X0 Y1 Z2:5 U5 E3:4
    
    ; Axis and motor configuration
    M569 P0 S0				; X,  Drive 0 goes reverse
    M569 P1 S0				; Y,  Drive 1 goes reverse
    M569 P2 S0				; Z0, Drive 2 goes reverse
    M569 P3 S1				; E0, Drive 3 goes reverse
    M569 P4 S1				; E1, Drive 4 goes reverse
    M569 P5 S0				; Z1, Drive 4 goes reverse
    
    M350 X16   Y16   Z16:16     U16   E16:16 I1	; Set 16x microstepping with interpolation
    M92  X160  Y360  Z1600:1600 U1600 E400.8:400.8	; SET AXIS STEPS/MM
    M906 X700  Y700  Z700:700   U700  E400:400 I60	; Set motor currents (mA) and increase idle current to 60%
    M201 X1000 Y500 Z500:500   U500  E1000		; Accelerations (mm/s^2)
    M203 X6000 Y6000 Z720:720   U720  E3000:3000	; Maximum speeds (mm/min)
    M566 X600  Y600  Z30:30     U30   E120:120	; (jerk) Maximum instant speed changes mm/minute
    M84   S30                               	; Reduce current to all steppers after 300 seconds of inactivity on all axes.
    
    ; Endstops
    M574 X1 Y1 Z2 U2 S1			; set endstop configuration (all endstops at high end, active high)
    
    ; Z-Probe Configuration
    M558 P1 X0 Y0 Z1 H3 F200 T5000           ; Escher3D infrared Z-probe, used for homing Z axis, set dive height H=3mm, probe speed F=200mm/min, travel speed T=5000mm/min                       
    G31 P500 Z1.98 ; Pnnn Trigger value, Znnn Trigger Z height
    G31 X31.7 Y15.3
    
    ; Set printer limits
    M208 X320 Y250 Z300                    ; set axis maxima (adjust to suit your machine)
    M208 X0 Y0 Z0 S1                    ; set axis minimum (adjust to make X=0 and Y=0 the edge of the bed)
    
    ; Thermistors
    M305 P0 T100000 B4300 R4700 	; First generation (2016) E3D Varipower bed uses a Semitec 104GT2
    M305 P1 X200                  ; PT100 Tool 0 (left) , RTD1, channel 200
    M305 P2 X201                  ; PT100 Tool 1 (right), RTD2, channel 201
    
    M570 S360  H0  P5  T10                   ; E3D Varipower heated bed with Clever3D PEI/Al bed, takes take 5:30 to reach 130 celsius.
    M570 S180  H1  P5  T10                   ; Left  extruder (T0)
    M570 S180  H2  p5  T10                   ; Right extruder (T1)
    
    ; *** Set Maximum Heater Temperatures
    M143 H0 S120                             	; Maximum temperature - Heated bed
    M143 H1 S300                             	; Maximum temperature - Left  extruder
    M143 H2 S300                            	; Maximum temperature - Right extruder
    M140 S0 												; *** Set initial bed temperature (to get rid of the -273C reading)
    
    ; Tools
    M563 P0 D0 H1 F3    ; Define tool 0, uses extruder 0,heater 1 and fan 3
    G10 P0 X0 Y0 Z0     ; Set tool 0 axis offsets
    G10 P0 R0 S0        ; Set initial tool 0 active and standby temperatures to 0C
    
    M563 P1 D1 H2 F3    ; Define tool 1, uses extruder 1,heater 2 and fan 3 as well
    G10 P1 X0 Y0 Z0     ; Set tool 1 axis offsets
    G10 P1 R0 S0        ; Set initial tool 1 active and standby temperatures to 0C
    
    ; *** Pressure Advance                   ; Compensates for elasticity of extrusion system
                                             ; extrusion_speed = requested_extrusion_speed + (S * current_extruder_acceleration)
                                             ; The more the system can lag, the greater the compensation required
                                             ; Typically S = 0.05 for a direct extruder
                                             ;           S = 0.10 for a Bowden with a 400 mm tube
    M572  D0 S0.05                           ; Set pressure advance coefficient for tool 0 (Left  extruder)
    M572  D1 S0.05                           ; Set pressure advance coefficient for tool 1 (Right extruder)
    
    ; *** Assign Fan Channels
    ; Extruder cooler fans / heatsink fans
    M106 P0 T40 H1                           ; Trigger hotend 1 (left) fan at 40 C  (P1 is PWM Fan 1 on the Duet WiFi)
    M106 P1 T40 H2                           ; Trigger hotend 2 (right)fan at 40 C  (P2 is PWM Fan 2 on the Duet WiFi)
                                             ; Control the hot-end fans thermostatically in bang-bang mode.
                                             ; E3D recommends turning the hotend fans on at 40 celsius.
    
    ; Part coling fans / nozzle fans
    M106  P3 F10                             ; Part cooling fan (P0 is PWM Fan 0 on the Duet WiFi)
    M106  P4 F10                             ; Some found this blower style fan's speed could not be reduced much
                                             ; without it stopping. Doing as Tim Elmore suggested and lowering
                                             ; the PWM frequency from 250 to 10 Hz per.
    
    ; Enclosure fans
    M106 P6 I1 S80 ; Electronics fan
    M106 P7 I1 S50 ; Exhaust fan
    
    ; LEDs
    M307 H7 A-1 C-1 D-1 			; Disable heater 6 on Duex5
    ;M42 P7 S0.9				; Enable 90% light on heater 6 output
    
    ; *** Load bed height map and activate bed compensation
    G29 S1                                   ; Load the height map from the last time you used G29 to probe the bed.
                                             ; The default height map file is /sys/heightmap.csv.
                                             ; Comment this out if you are not using automated mesh leveling.
                                             ;
    M376 H0                                  ; Taper off bed compensation taper
                                             ; Hnnn Height (mm) over which to taper off the bed compensation
                                             ; Setting H0 leaves compensation always on
    
    ; *** Compensate for out of square axes  ; Assuming you printed a cube with side lengths given by S parameter
                                             ; Measure the distance by which the printed
    M556 S100 X0 Y0 Z0                       ; Snnn size of test article
                                             ; Xnnn is how far the printed X-axis is from being perpendicular to the printed Y-axis
                                                    This is positive if the angle between the printed X and Y is greater than 90
                                             ; Ynnn is how far the printed Y-axis is from being perpendicular to the printed Z-axis
                                                    This is positive if the angle between the printed Y and Z is greater than 90
                                             ; Znnn is how far the printed Z-axis is from being perpendicular to the printed X-axis
                                                    This is positive if the angle between the printed Z and X is greater than 90
    
    ; *** Select the left hotend as the default active tool
    T0					; select first hot end
    
    ; Load mesh
    G29 S1
    
    

    I really miss attachments in this forum.



  • i am a newbie so be forewarned but i found a slicer setting that helped my Y issues. apparently the print head would crash into high spots on the print high spots were cause by a setting for infill where it meets the edge of print (print settings \ advanced \ overlap ) it was pretty scary on taller narrow parts. as the extra amount built up the part would literally be taller in spots and the head would violently drag and extruder would even sometimes skip because of it.



  • Curious to what that setting is and I can not rule that possibility out completely. On the latest print where it is really bad I have no visible curling on the edges.

    Photos of latest print. I need to mention that this one is really bad. Much worse than previous ones so it might be something else going on here:
    https://goo.gl/photos/fRM8zmAQkztvbgT78



  • Yes, that's a very bad case of layer shifting. The usual culprit is the print head catching on some part of the print that has been over extruded and caused a "blob". This can cause the motor to skip steps, or the pulley to slip if it isn't tight, or if you use glass the glass can shift in it's clips. In extreme cases, the entire print gets knocked off the bed.



  • Hmm..

    This is getting weirder. I just printet two cubes with honeycomb fill and 60mm long on Y at higher speed than I normally use.

    Two short prints and no problems. Really annoying having to test with long running prints!



  • Printing a pink pangolin body as it seems I can not provoke the slip in any other way than long prints.

    Been printing a bit over 1 hour now and have step errors but no visible problem with print:
    MaxReps: 5, StepErrors: 396, MaxWait: 328350ms, Underruns: 0, 0

    So StepErrors might not be an issue?


  • administrators

    I'm wondering whether the step errors may be from the extruder control rather than from the axes. If you enable Move debug (M111 P4 S1) and connect a USB host then it will generate a short report whenever a step error is detected.



  • Thanks, I'll try that.

    My Pangolin print finished in 5-7 hours without any failures. Both annoyed and happy at the same time.

    And now I need to start going over all wiring. And I need to make a mark on the Y rod and pulley so I can see if is slips. And on the belt as well to eliminate mechanical failure.



  • After printing fine for a month now it started acting up again. Just started a long print with the debug on on the same gcode that failed last time now. Not sure what I'm hoping for really.



  • Does it juts act up on one particular file? I'm still thinking it's the print head catching on a "blob".



  • Hmm, just had en slight skew on Y axis and I paused then stopped print.

    there are a bunch of lines like this,

    2017-06-28 19:32:10,261 - Recv: DM0 ERR: dir=F steps=782 next=741 rev=762 interval=10314398 sstcda=74840 acmadtcdts=9606 tstcdapdsc=361687 2dtstc2diva=83482472448

    I have put it on Dropbox here: https://dl.dropboxusercontent.com/u/513954/serial.log


  • administrators

    Thanks for providing that log. I'll look at it in more detail tomorrow and run the moves through the simulator, but for now I can see that the step errors all relate to the first extruder drive (DM0). So they have not affected Y movement, just caused a small amount of under-extrusion.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.