Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
kinginnovator

Back Lash compensation needed!!

Recommended Posts

Hello everyone, first time here. Got my Ultimaker running perfectly just one minor bug to work out. My parts in the (y) direction are coming out too short. All round objects are slightly oval. Triple checked all belts, pulleys, motors, shafts, tensions, etc etc all is tight and sound. Is there a way to adjust backlash in the y?? I'm using skeinpypy and printrun...

Thank you!!

Share this post


Link to post
Share on other sites

Checked, tried to go up and down with the pot but no change. I need to adjust the motor speeds another way to compensate for the problem. Any other ideas? Do you recommend a better program with other settings? I can always try skeinforge again. Let me know if you have any other ideas. All I know is there is a direct relationship going on between the x and y. It doesn't matter if the part is large or small. The difference between the parts is averaging around .6mm difference. For example if I have a 12mm diameter ring to build and a 12mm wide square one measurement for either would be 12.2mm in x while y would be 11.6mm, an average difference between x and y 6mm. Very strange here. I've build 50 parts so far with a very precise average on this. Tried tensioning the builts in different ways but absolutely no change.

ST

Share this post


Link to post
Share on other sites
Checked, tried to go up and down with the pot but no change. I need to adjust the motor speeds another way to compensate for the problem. Any other ideas? Do you recommend a better program with other settings? I can always try skeinforge again. Let me know if you have any other ideas. All I know is there is a direct relationship going on between the x and y. It doesn't matter if the part is large or small. The difference between the parts is averaging around .6mm difference. For example if I have a 12mm diameter ring to build and a 12mm wide square one measurement for either would be 12.2mm in x while y would be 11.6mm, an average difference between x and y 6mm. Very strange here. I've build 50 parts so far with a very precise average on this. Tried tensioning the builts in different ways but absolutely no change.

ST

Gooday King

The trim pots adjust the maximum current that the stepper motor can draw. You need to change the Steps per mm for your X and Y in the frimware.

This is done by sending a M92 command either in your GCode header when you go to print.

M92 X78.74 Y78.74

or permanently set it in firmware by issuing

M500 stores current settings,

M501 retreives the data from EEPROM (also automatically done after a reset)

M502 reverts to the 'factory defaults' You'll need to send an M500 if you want to store this in EEPROM.

so from RepG or Printrun etc.

send M501 to view what they are currently

print something 100mm X 100mm

say your Y setting is currently 80 and your print is 90mm in Y direction

your new Y would need to be 80 * 100 / 90 = 88.889

So you would send

M92 Y88.889

M500

do the same for x and it should be all good

You can also use Daid's Build-me-Marlin to input your X and Y and update your firmware in one hit (It's the way I do it)

Share this post


Link to post
Share on other sites

Owen,

thanks for hints on calibrating the X,Y values.

I would wanna give it a try on my machine, too.

But of course need my actual values.

Your tip was "send M501 to view what they are currently".

I have sent M501 in printrun and it won't show me any information about the actual EEPROM values.

What went wrong? Any initial command to be sent for retrieving the data?

Thanks for any hint and cheers,

almi

Share this post


Link to post
Share on other sites

I also tried to retrieve the EEPROM parameters in RepG (By sending an M501 command via GCODE dummy file) and got following:

"Couldn't show onboard paramters, driver doesn't implement onboard parameters"

Now I am using the Marlin Build 3 from Bernhard Kubicek.

What driver do you use?

sending: N4 T0 M105 *71

[22] received: ok t:51.27, raw:105 b:0.00

[22] sending: N5 M501 *2

[22] received: ok

[22] sending: N6 M108 S0 *79

[22] received: ok

[22] Scheduling machine state change event: READY

[22] Machine state changed to BUILDING

[22] Yes, I have a Realtime Control feature.

[22] Sending machine state change event: BUILDING

[22] Machine state changed to READY

[22] Supports RC

[22] Couldn't show onboard parameters: [driver doesn't implement onboard parameters]

[22] Yes, I have a Realtime Control feature.

[22] Supports RC

[22] Sending machine state change event: READY

[22] Done building.

Share this post


Link to post
Share on other sites

Hi almi

not sure how you're doing it in RepG but all you have to do is click in the white part

press Control+a

type M501

click on the build button

in the black window you should get something like this

[14] Machine stop called.

[14] Building...

[14] Estimating build time...

[14] Estimated build time is:

[14] Beginning build.

[14] echo:using default settings:

[14] echo:steps per unit:

[14] echo: m92 x79.06 y79.04 z533.33 e14.00

[14] echo:maximum feedrates (mm/s):

[14] echo: m203 x400.00 y400.00 z9.00 e150.00

[14] echo:maximum acceleration (mm/s2):

[14] echo: m201 x15000 y15000 z150 e200000

[14] Yes, I have a Realtime Control feature.

[14] Supports RC

[14] echo:acceleration: s=acceleration, t=retract acceleration

[14] echo: m204 s3000.00 t3000.00

[14] echo:advanced variables: s=min feedrate (mm/s), t=min travel feedrate (mm/s), b=minimum segment time (ms), x=maximum xy jerk (mm/s), z=maximum z jerk (mm/s)

[14] echo: m205 s0.00 t0.00 b20000 x20.00 z0.40 e5.00

[14] echo:pid settings:

[14] echo: m301 p22.20 i1.25 d99.00

[14] Yes, I have a Realtime Control feature.

[14] Supports RC

[14] Done building.

note: the return values are only to 2 decimal places of accuracy

Share this post


Link to post
Share on other sites

Thanks Owen.

I now solved the issue. The M501 command only works with the Marlin firmware.

In my case, for what reason ever I thought I had Marlin on, but actually it was a Sprinter version.

Now that I have Marlin on, I receive full EEPROm information after the M501 command.

So now I can try the X, Y Axes compensation.

Thanks,

almi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

Announcements

  • Our picks

    • Architect Design Contest | Vehicles.
      We're open for entries! - Design and submit your 3D designs of architectural entourage - vehicles - for a chance to win a large filament pack. Presenting an idea, an architectural design or something as big as an urban project isn't easy. A scaled model can really help to get your idea across.
        • Like
      • 14 replies
    • What The DfAM?
      I'm Steve Cox, an experienced engineer familiar with 3D printing. I wanted to share some DfAM guidelines with this community to help and make stronger parts.
      I'm also an Autodesk Certified Instructor for Fusion 360, so many of the images in ...
        • Thanks
        • Like
      • 18 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!