Y axis skipping after many hours printing

  • 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:

    === 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:

  • 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.

  • Thanks,

    you can actually simulate whats in the serial logs?

    Here is the gcode file as well: https://dl.dropboxusercontent.com/u/513954/pad_mount_final_x_fast.gcode

    Don't know if you can see this in the serial logs. On the web control I set speed to 50% before layer 1 and increased to 100% soon after layer 1 was finished. The Y shift looks to be in one of the last layers before I stopped print.

  • administrators

    I just spent the afternoon tracking this down. There was a bug in the pressure advance calculation, which was causing the calculation to schedule too many steps if the move had a lot more acceleration than deceleration. A check in the step timing function found that the extra steps didn't make sense, so they were thrown away. Net result was no difference in the actual motion, just some step errors logged because the check failed. I've fixed this in firmware 1.19beta8.

  • You are talking about extrusion now? Or Y-movement as well?

    Can 1.19beta8 fix my Y shift issues?

  • @strips:

    …...............Can 1.19beta8 fix my Y shift issues?

    No. (because it's a mechanical issue, not firmware).

  • @strips:

    You are talking about extrusion now? Or Y-movement as well?

    Can 1.19beta8 fix my Y shift issues?

    It sounds like he's fixed the StepErrors number, which was incorrectly reporting step errors that weren't actually occurring.

Log in to reply