Comments (6)
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.
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.
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.
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.
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.
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)
- error:Probing failed
- communication problem
- G29 P0 does not work as expected HOT 1
- Corrupt display HOT 7
- E1"Heating" Error HOT 54
- effector collison with starting g-code HOT 1
- Thermal Runaway after updating firmware HOT 2
- FAN needs support HOT 55
- Control FAN HOT 4
- Question about M92 HOT 2
- Version clarification HOT 2
- Pronterface Serial Exception HOT 11
- Help to compile new firmware HOT 1
- Firmware will not flash from newer cards which the new firmware will read just fine HOT 3
- A hint on wifi file uploads HOT 4
- Bizarre Behavior when Calibrating HOT 2
- Real Z location lost after M420 S1 HOT 1
- Max bed temperature. HOT 2
- PID tune typo? HOT 2
- Printer pauses midprint using octopi HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpmd_marlin_1.1.x.