Skip to main content

Site Navigation

Your Account

Choose Language

Need help troubleshooting your BoXZY 3D Print Head? You're in the right place!

25 Questions View all

Offset Layers During Printing

OK after sorting out my heated bed installation and wiring issues with the extruder requiring a new ATMega, I am moving onto other challenges. Each time I have test printed, my BoXZY initially is printing fine then part way through the print, skips over in X or Y or both and continues on - it is like it loses where home is. At first I thought it was due to my laptop going to sleep interrupting the print - on more than one occasion it paused and I woke the laptop up and it continued. I figured maybe some glitch occurred during that unintended interruption. Now I disabled sleeping on my laptop and it is still having this skip over problem. I suspect noise of some kind. I am just curious if anyone else is seeing this behavior and what has cured it. The linked photo shows the latest attempt still stuck on the bed and previous attempts in my hand.

http://www-eng.lbl.gov/~jrosborn/BoXZY/o...

Also note in case you think it is relevant, this is a MacBook Pro running Windows 7 on top of VMWare Fusion. And yes I am using a USB cable with ferrite chokes on both ends.

Answer this question I have this problem too

Is this a good question?

Score 1

Comments:

Add me to the list. I have added filters to the mains and ferrites to the the USB cable.

by

Add a comment

3 Answers

Most Helpful Answer

Donna seems to have found the answer - the EEPROM settings are wrong.

(I'm publishing this to a number of places to get verification)

UNINTENDED X AND Y OFFSET/SLIPPAGE

Summary of Donna's fix -

"I've now concluded my issue is the acceleration values for the X/Y axis. They are set to 100mm/s on the BoXZY, which is apparently too high when doing really tight circles with 100% infill.

The acceleration values can be set in the EEPROM using the M205 and M206 commands or the M201 and M202 commands with M500 to do an EEPROM write-back. See:

https://www.repetier.com/documentation/r...

Also, on my previous comment regarding setting of the steps-per-mm in Configuration.h, that only changes the init values. To change them on an existing setup, use the EEPROM M205/M206 commands.

ADDITIONAL INFO AND SETTINGS

Yep! That was it! I've been printing all day cranking out some parts in Nylon 230 and haven't had a single hickup since I changed the acceleration settings.

One part in particular (a 3/8" to 5/16" reducing hose barb) I couldn't print at all with the old settings -- every single time it would fail when it hit the middle section of it. Sometimes on the X-axis and sometimes on the Y-axis.

Since the change, I turned out 5 of them back-to-back without any issues whatsoever. (I printed them separately because of adhesion issues with the nylon when trying to gang-print them together on the same raft). I then did two similar parts after that without any issues. And another one is finishing as I type.

A bit of research online and I found several discussions on setting "acceleration and jerk". Acceleration changes fix missed steps with the stepper and jerk fixes ringing and blobbing issues.

I set both the "acceleration" and "travel acceleration" for both axis to 80mm/s (original was 100mm/s). Problem solved!

************

And here's my exact setting changes. You can dump the list in the printer to check your current settings by sending code "M205":

EPR:3 51 80.000 X-axis acceleration [mm/s^2]

EPR:3 55 80.000 Y-axis acceleration [mm/s^2]

EPR:3 63 80.000 X-axis travel acceleration [mm/s^2]

EPR:3 67 80.000 Y-axis travel acceleration [mm/s^2]

(originally the above read 100.000 for each).

Set them with:

M206 T3 P51 X80.000

M206 T3 P55 X80.000

M206 T3 P63 X80.000

M206 T3 P67 X80.000

I issued a "M500" after that to make certain it had done an EEPROM write-back. But I'm not sure that is explicitly needed with the M206 command. You can verify settings using M205 after resetting/reconnecting.

Just be careful with the number after the "P" or you'll step on another setting."

*******************

Was this answer helpful?

Score 1

Comments:

Interesting. My settings are even higher for travel acceleration:

09:33:11.296 : EPR:3 51 100.000 X-axis acceleration [mm/s^2]

09:33:11.301 : EPR:3 55 100.000 Y-axis acceleration [mm/s^2]

09:33:11.307 : EPR:3 63 150.000 X-axis travel acceleration [mm/s^2]

09:33:11.312 : EPR:3 67 150.000 Y-axis travel acceleration [mm/s^2]

I will try these changes and report back.

-- James

by

No joy, still getting skips on the same part. I haven't measured it yet (still printing), but looks like -X 10mm or so.

by

It was about-X 6.25mm. Unfortunately toning these acceleration values did not solve the problem for me.

by

Argh. Okay. Thanks for letting us know! :-(

by

Add a comment

Try to reduce your max speed in the firmware by about 10 mm/sec. Adding the heated bed has likely reduced the threshold for the processor to keep a clean pulse going to the steppers. Basically if the heaters click on at the wrong time it may become overbooked. The team is working on a firmware update that will automatically vary speeds and acceleration based on available processing power (it's a big ambitious update). This way all the variables can be raised to their actual limits, which are much higher. As it is, you can overbook the system if you attempt to run too high of resolution at too high a speed even without a heated bed. At 0.2mm resolution during printing without a heated bed you're safe in almost every scenario (except when other issues exist). Anytime you attempt higher resolutions you must reduce the speed proportionately to remove the chances for error that cause mechanical skipping. The reason the skipping happens at very similar points will almost always be due to that point being the portion of the print where the load on the processor is at its highest. Acceleration and XY jerk can also be adjusted interchangeably with speed to solve the same potential issues. Rectilinear infill reduces the chances of such a thing happening as well. It requires much fewer moves that use extreme XY jerk and acceleration.

Was this answer helpful?

Score 0

Comments:

Out of curiosity, what constitutes a "clean pulse"? I was wondering if the problem is related to the pulse train from the controller, or somehow the driver board is having an issue. If the pulses are too fast, I could imagine the stepper not being able to keep up with it. The thing that is odd about this is the size of the skips. At least with my job, it is speeding up and slowing down a lot (Hilbert Curve infill), so even if the pulses get too fast, I would expect them to quickly drop to a low enough value that the motors would catch on again. Skips ought to be small. This seems different, like the motor fails to deliver the required torque and once it stalls, cannot respond to ANY pulses until it shakes itself "closer" to where it needs to be? Just a theory...

by

I believe it specifically starts with the main processor. There should be a much higher limit for the driver itself. The processor can be actuating 3 axes, filament drive, fan PWM, and heater PWM nearly simultaneously in real time. By clean pulse I mean one with sharp corners and a quick, steady rise and fall. No tapering or noise; to put it simply. I think you're dead on about the big missed steps. It's not about how many steps were actually missed originally, but about the speed of the steps required to get moving again. It cannot "catch up" until the step speed is in tune with the direction and speed of the mass. That's what its all about. It will miss the step to begin with because it missed a pulse and tries to continue as if it hadn't. If this happens during an acceleration or jerk move the speed of the pulses will become out of tune with the machines own inertia. It will continue to skip until they match again or the speed is slow enough it has the torque to overcome the difference.

by

Add a comment

It would be really interesting to see what the pulse train looks like coming from the controller. If the pulses are not clean (they are noisy or not square), I can imagine the drivers not responding sometimes. It would be smart if the controller would automatically slow down in situations where it is unable to deliver clean pulses.

Was this answer helpful?

Score 0

Comments:

I recorded a movie of it happening. It is not clear what happens - you cannot hear a groan for example. It is aligned on one layer, then in the middle of the Hilbert Curve infill, it apparently loses it, because by the next layer it is offset. I trimmed down the video to one minute and include titles:

http://www-eng.lbl.gov/~jrosborn/BoXZY/B...

by

Add a comment

Add your answer

James Osborn will be eternally grateful.
View Statistics:

Past 24 Hours: 0

Past 7 Days: 6

Past 30 Days: 24

All Time: 632