Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Implement optional constraints for certain parameters #15

Open
Bougakov opened this issue Aug 17, 2020 · 1 comment
Open

[FR] Implement optional constraints for certain parameters #15

Bougakov opened this issue Aug 17, 2020 · 1 comment

Comments

@Bougakov
Copy link

Hi. I've recently rebuilt my delta - slightly enlarged the base, changed all bolts and such. As I've prepared the changes and was ordering some new aluminum extrusion beams, I drew the AutoCAD models - so I know all dimensions of my printer accurate to 1mm. I've also measured existing parts, such as diagonal rods and carriages with callipers.

The calibration that Marlin's algorithm and DuCalibrator give me the accurate flat first layer - but the adjustments I've got are pretty wild and the resulting dimensions of the print are skewed. For example, my diagonal rods are 217mm, but the algorithm suggests 234mm. One of the rod's trim is calculated to be over 5mm! The precision of my hobbyist callipers leaves much to be desired, but this is certainly way out of the real dimensions of the printer.

So here is a feature request: can DuCalibrator allow the user to input the boundaries for the fetched geometry values? I.e. I could have told the algorithm that I am certain diagonals are 217mm plus-minus 1mm, radius is the value plus-minus 3mm, and I have no idea about endstops. As the result, an algorithm could discard the solutions that are outside of those boundaries.

@Fabi0San
Copy link
Owner

It's a very goo suggestion @Bougakov, not as simple as "discarding solutions" though, I'll think about how I can adjust the least squares algorithm to have variable weights based on the delta, though ideally we shouldn't need it.

As for your printer, triple check the steps/mm of each stepper, ideally, equalize the tension as close as you can (such as using a reference dead weight or a dynamometer) use a machinist dial to tune the effective steps/mm which as anything else will never be a perfect round number no matter what the manufacturer of your belts say, and it will vary with room temp and humidity.

I've been planning for a long time to have a 3d probing algorithm of a 1-2-3 block instead of probing the flatness of the bed for delta calibration, that would disambiguate belt errors from arm length + radius, which is exactly what you are experiencing.

But for that I need some serious changes to G38, which is not implemented for deltas on Marlin and require users to have a 3d probe which is not as simple or cheap as a z-probe. So I'm not too eager to get to it.

Thanks for your suggestion,
Cheers,
Fabio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants