Welcome! Log In Create A New Profile

Advanced

More than auto leveling ...

Posted by bonmotwang 
More than auto leveling ...
October 13, 2015 04:43PM
When I first time read about auto leveling, I was in the impression that the nozzle will "follow" the surface created by those probed points.
But learned from this forum a few days ago, those probed points only creates a new "flat surface" and do the compensation.

Is there any team working on compensating "curved" surface?

Thanks


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 13, 2015 04:58PM
The advantage of linear compensation is that you can still consider your bed as a flat plane. If it is not flat, the only way I can think a non linear compensation is that you first build a flat raft following the curved surface of the bed, then you print the object on top of it.

Doing it is of course possible, I don't know however how reasonable it would be: if the bed is "almost flat", you can tell your slicer to build a raft anyway, it will work without need of non linear compensation. If it is "definitely not flat", you would probably want to replace the surface with something really flat instead of wasting some time and a lot of plastic to compensate for that.

If you want to print on a curved surface that is meant to be curved, you need something a bit more sophisticated like this.
Re: More than auto leveling ...
October 13, 2015 05:51PM
Yes, the surface is supposed to be flat. The compensation I am looking for is to fix the unideal surface condition.
The reason why I am bringing this up is I am building a big surface print bed, about 500x500. I am a little concerned about controlling the flatness in 0.2mm in the whole area, before and after heated. Plus the guide rail mounting surface will add to this error too.
There is a limitation in our DIY machines to achieve the perfect flatness and straightness. I hope the software can compensate the last bit that cannot be achieved mechanically.

I haven't started digging into the firmware source code yet. So I don't know how much work will be involved to be able to follow the surface.

I thought by probing 16 or 25 points on the board, the firmware can restore a closest virtual surface model to the real bed.
Then when the firmware is interpreting the g-code and moving the nozzle in XY plane, this virtual surface will generate the necessary movement in Z axis to following the uneven surface.

Probably some day I will start to modify the source code for my own machine.


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 13, 2015 06:01PM
I think the best possible solution is to just use a flat surface that is properly leveled. My printer has a 1/4" cast aluminum tooling plate that is 12" x 12.5" and covered with a layer of 5 mil kapton tape. ABS sticks just fine and I can print almost edge to edge. I recently printed a circular part that was about 10" in diameter with a 0.25 mm first layer. My machine has a 3 point leveling scheme that requires only two adjustments to level the bed. The machine is so sturdily built that I only recently adjusted the bed level for the first time in about 6 months.

I just received a digital dial indicator (supposedly accurate to within 30 microns and repeatable to 10 um) that I'll mount on the extruder carriage to allow more precise leveling than I currently do with a sheet of paper.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: More than auto leveling ...
October 13, 2015 06:51PM
Hey Mark

Yes, 12"x12.5" could be leveled easily with reasonable cost in material is very encouraging.
From 300mm to 500mm is not very far I hope. :-)


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 13, 2015 08:50PM
I agree with both cristian and TDD.

My guess is that the easiest answer will be to get a rigid, flat glass sheet and put it on top of your fairly rigid, nearly flat, bed (e.g. aluminium plate).

If you don't want to add a glass sheet, maybe you could put a thin permanent layer of automotive body filler (or something like that) on top of your surface. A cunning person might figure out a way to use the 3D printer head to level the surface before it set, and/or polish it afterward.
Re: More than auto leveling ...
October 13, 2015 10:05PM
Quote
frankvdh
I agree with both cristian and TDD.

My guess is that the easiest answer will be to get a rigid, flat glass sheet and put it on top of your fairly rigid, nearly flat, bed (e.g. aluminium plate).

If you don't want to add a glass sheet, maybe you could put a thin permanent layer of automotive body filler (or something like that) on top of your surface. A cunning person might figure out a way to use the 3D printer head to level the surface before it set, and/or polish it afterward.

This is the way we do with the CNC. Use a piece of wood as the platform and CNC the whole surface to get a true work surface.
Was thinking about that type of solution too.

I will keep going on designing and building. There are always solutions. :-)


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 14, 2015 06:16PM
The thing is with compensating a non flat surface is that the printed object will deform with it. That's probably not what you want in general. I agree that getting a good flat surface is the best thing to go for. At larger sizes tooling plates may become a bit expensive though, but wasting time and material is too.
Re: More than auto leveling ...
October 15, 2015 06:59AM
Might it be worth looking at the autolevelling feature in Rich Cattells Marlin firmware (https://github.com/RichCattell/Marlin). It does not just compute a new surface plane but follows an uneven surface whilst printing. I know this as I have seen it occasionally mis-read a particular point on the bed during G29 and then seen the print head deflect wildly above this point as it passes it during printing. This would not occur if it were just applying a new normal plane to the coordinates in the subsequent gcode. I don't know if this firmware works on cartesian printers, it seems to be very Delta orientated.

I do however completely take the point above that a really flat surface is what is required, which is difficult to achieve the larger that surface is.
Re: More than auto leveling ...
October 15, 2015 07:16AM
Why would you want to print on a curved surface, even if you could compensate for it, the part would not be straight.
Re: More than auto leveling ...
October 15, 2015 07:51AM
A a side note, if you want a really flat surface, buy a mirror instead of a simple glass sheet : they are manufactured really flat because otherwise the reflected image would be deformed.

And as a bonus you can usually find some cheap ones.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: More than auto leveling ...
October 15, 2015 04:57PM
Quote
DjDemonD
Might it be worth looking at the autolevelling feature in Rich Cattells Marlin firmware (https://github.com/RichCattell/Marlin). It does not just compute a new surface plane but follows an uneven surface whilst printing. I know this as I have seen it occasionally mis-read a particular point on the bed during G29 and then seen the print head deflect wildly above this point as it passes it during printing. This would not occur if it were just applying a new normal plane to the coordinates in the subsequent gcode. I don't know if this firmware works on cartesian printers, it seems to be very Delta orientated.

I do however completely take the point above that a really flat surface is what is required, which is difficult to achieve the larger that surface is.

That is a great news! I will definitely look into it.

I am looking at this from both engineering and application point of views.

Here is an example: To print a full size helmet, if the overall accuracy is 0.5mm, we would say this is a very "accurate" helmet. So we will say we can live with 0.5mm unevenness on the bed.
But with this 0.5mm error, printer cannot put down the first layer successfully.
0.5mm is only used to show my point here: the accuracy we need for the first layer is much higher than the accuracy the application (printed objects) will need. For a bigger printer, the cost to achieve a very accurate consistence (less than 0.2mm) between the heated bed and nozzle's XY plane is very expensive, also hard for most of people to achieve.

Thanks


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 16, 2015 07:57AM
Let me know if you manage to adapt it to work on cartesian/core xy machines. I've been thinking harder about this; this firmware has to print on a potentially uneven surface as Deltas suffer from effectively printing convex or concave because of their inherent geometry, so the autolevelling has to form a map of bed height points, a plane would be less use than a chocolate teacup.
Re: More than auto leveling ...
October 16, 2015 11:22AM
Quote
DjDemonD
Let me know if you manage to adapt it to work on cartesian/core xy machines. I've been thinking harder about this; this firmware has to print on a potentially uneven surface as Deltas suffer from effectively printing convex or concave because of their inherent geometry, so the autolevelling has to form a map of bed height points, a plane would be less use than a chocolate teacup.

I believe this is achievable from firmware point of view because adding an extra layer on parsing g-code shouldn't be too much of work for a 32-bit MPU.
And it could be done in deep level at stepper motor driver in the firmware to offset the Z steps, so that no changes to the high level application.

Offset logic could be very simple: From the surface "survey", we will have 25 to 100 height points. We can simply use those points to create a table, which is a grid of offset values. we can separate the whole surface into 10,000 cells (100x100) if we want. In this case, the table size is only 10K bytes.
One byte for the offset value is enough if the surface is close to be flat.

I truly believe there is a value to do the surface compensation. I am glad that someone is into that already. If not, I will get into the source code after I get my printer mechanically working.

Thanks


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
October 16, 2015 11:24AM
if your careful with a flat blade, you can plean a lot of smaller irregularities out, by carefully shaving off the top layer of uht glue, the next coating is then more even....but if your beds bent, its bent.
Re: More than auto leveling ...
October 16, 2015 02:24PM
Quote
munchit1
if your careful with a flat blade, you can plean a lot of smaller irregularities out, by carefully shaving off the top layer of uht glue, the next coating is then more even....but if your beds bent, its bent.

Put a small spindle to end mill the whole surface probably a good idea too :-)


Printer I bought: 2015 Sunhokey Prusa i3
Printer I am designing: Another big CoreXY machine
Re: More than auto leveling ...
November 10, 2015 06:47AM
Have you managed to get any anywhere with implementing a full bed height grid for cartesian machines? I am very keen to see this but lack the programming ability to do it. It would be extremely useful to improve printing on slightly uneven surfaces.
Re: More than auto leveling ...
November 11, 2015 11:42AM
As I said before it would deform the object as well.

It could be done if the slicer is adapted to account for this when printing a raft. It could print the first layer to conform to the print bed, then a couple more interface layers getting straighter until it's entirely level, at which point the actual object can be printed.

As for bed probing I think you only need 10x10 points maximum, you can get away with even fewer, the rest can easily be interpolated. Aluminium or glass don't have a much higher frequency of bumpiness. Unless you want to print on uneven surfaces on purpose smiling smiley
Re: More than auto leveling ...
November 11, 2015 03:31PM
Quote
bonmotwang
Yes, the surface is supposed to be flat. The compensation I am looking for is to fix the unideal surface condition.
The reason why I am bringing this up is I am building a big surface print bed, about 500x500. I am a little concerned about controlling the flatness in 0.2mm in the whole area, before and after heated. Plus the guide rail mounting surface will add to this error too.
There is a limitation in our DIY machines to achieve the perfect flatness and straightness. I hope the software can compensate the last bit that cannot be achieved mechanically.

I haven't started digging into the firmware source code yet. So I don't know how much work will be involved to be able to follow the surface.

I thought by probing 16 or 25 points on the board, the firmware can restore a closest virtual surface model to the real bed.
Then when the firmware is interpreting the g-code and moving the nozzle in XY plane, this virtual surface will generate the necessary movement in Z axis to following the uneven surface.

Probably some day I will start to modify the source code for my own machine.

I'd design it around a granite surface plate. Just plan on it taking longer to heat up smiling smiley
Sorry, only registered users may post in this forum.

Click here to login