Y axis skipping after many hours printing
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?
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
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
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?
; 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.
FrankNPrinter last edited by
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.
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?
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
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.
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.
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?
…...............Can 1.19beta8 fix my Y shift issues?
No. (because it's a mechanical issue, not firmware).
elmoret last edited by
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.