Git Product home page Git Product logo

Comments (6)

aegean-odyssey avatar aegean-odyssey commented on August 11, 2024

Interesting, you mention:

Both L and R values need to be adjusted a little from their measured values to get the best dimensional and flatness results in practice. There is only one best answer for L,R that gives a flat, dimensionally accurate bed level.

Just so it's clear to me, M665 parameters A, B, C, D, E, F are trim values so I'd expect M665 L100 A0 B1 C-2 to be equivalent to M665 L98 A2 B3 C0. Is this not true?

It seems that there should be a way to derive the K value from the kinematics of the printer. I hope to spend a bit more time exploring the kinematics equations after the next firmware update.

from mpmd_marlin_1.1.x.

see3d avatar see3d commented on August 11, 2024

Yes the trim values should work per your example.

The K value should be able to be mathematically derived if you had accurate mechanical measurements of a printer. It does not help that the printer frame, arms, effector plate, rods, carriages, and ball joints have a degree of wide manufacturing tolerances and even some backlash. It is much easier to find the value based on the easier measurement to take, which is the actual distance moved vs the distance commanded when the dome/cup is flat.

My calibration values are L122.42, R63.04. The ratio is 1.942. You might expect the the almost 2:1 value and the K=1.5 might be related. I thought that, but when I tried to make a small adjustment to bring these into alignment, my results did not track. It might be that they should match up, but with so many manufacturing variables, and the fact that I have never achieved a truly flat contour from end to end across the plate, it makes it hard to know if my experimental results were dead on. The experimental value which was right on K=1.5 gave the flattest bed overall. It is easy to take it experimentally, since it is linear. It just takes two points. I did those tests before I discovered that the bed is pretty easy to make flat out to 25mm radius. A new round of experimental results may look a bit different if all these things were taken into consideration. Perhaps it is actually 1.515. It was not very satisfying to me that my experimental result was exactly 1.5 instead of 1.515.

However, since we start out close to the right dimensions a 1% error in K will only make a small incremental error in the dimensionality.

from mpmd_marlin_1.1.x.

aegean-odyssey avatar aegean-odyssey commented on August 11, 2024

Interesting, interesting, interesting.

It seems we're looking for L and R values in the kinematics that don't change X and Y positions; something along the lines:

For a given L0, R0 find L1, R1 such that:

Y(L0, R0) = Y(L1, R1)
X(L0, R0) = X(L1, R1)

where X(l,r) and Y(l,r) are forward kinematic equations.

Very naïve and overly simplistic, but I think this is the general idea.

from mpmd_marlin_1.1.x.

see3d avatar see3d commented on August 11, 2024

I think it can be even simpler. Take a single tower only. Now you are only dealing with X. X(L0, R0) = X(L1, R1). Now it makes sense for individual adjustments on a per tower basis. In my case I am actually doing this:

For a given L0, R0 find L1, R1 such that:

X1-X2(L0, R0) = X1-X2(L1, R1)

from mpmd_marlin_1.1.x.

PurpleHullPeas avatar PurpleHullPeas commented on August 11, 2024

I know there is a lot of ongoing discussion eleswhere regarding calibration improvements, but I would really like to see this improvement from a documentation standpoint. I.E., adding this to G33 would remove the need for my Python script and make dimensional accuracy calibration much more straightforward.

from mpmd_marlin_1.1.x.

aegean-odyssey avatar aegean-odyssey commented on August 11, 2024

Closing this issue to move it into the Discussions area under the category of "A Better Calibration". There's too much good information here to leave it buried in a closed git issue.

from mpmd_marlin_1.1.x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.