Welcome! Log In Create A New Profile

Advanced

smart auto-calibration feedback loop?

Posted by realthor 
smart auto-calibration feedback loop?
October 05, 2015 07:44AM
Hi guys, I didn't know how to give a better description in the title so I will try to explain below what I have in mind.

I imagine a way for the printer to calibrate itself some of the manual input that currently have to be set in the config files. I want the printer to "scan" its workspace and calculate itself the resolution, steps per mm, etc.
I imagine that going back and forth and touching 2 endstops for each of the 3 axes is not very accurate but if done several times and taking an average it might be accurate enough. Isn't that enough information so the firmware calculates itself the steps/mm? If a sensor is used for bede autoleveling then the steps/mm calculation can be done during the same procedure.

I have seen once a scara manual calibration using a calibration shape with angles, straight lines and curves and an operator manually moving the end effector to follow that path. After that the machine knew what were its numbers.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: smart auto-calibration feedback loop?
October 05, 2015 07:16PM
There's Auto-calibrate for delta printers. Are you looking for a Cartesian version of that?


greghoge.com

HUGE 3D PRINTER PARTS SALE!!!
Re: smart auto-calibration feedback loop?
October 06, 2015 03:20AM
I think i've stumbled upon that feature for deltas where they make N iterations to ever fine-tune their own configuration with respect to some of the necessary parameters but can't remmember about a video of this. I will look around. I don't know if they can auto-calibrate their own resolution based on this auto-calibration (like steps/mm).

I was referring to a general way to auto-calibrate for deltas, scaras and cartesians. It should be somehow similar... go 5 times between each axis min and max endstops, maybe even a mix and match between these to fine tune.

I was also talking about an auto-calibration piece that would be placed at certain coordinates in the bed and the operator could manually drive the end effector against its while the printer "learns" that the path it just took was X mm long, Ymm wide and that circle was D mm in diameter etc ... i've seen this procedures used for industrial scaras. It could be done manually by the operator, in addition to whatever the robotwould do to fine-tune itself via an auto-calibration routine.

Edit: I have actually found one I kind of think has some of what I am thinking: [www.youtube.com] (firepick delta repetability auto-calibration: it goes to bed at a certain point, then goes to one endstop, returns to the same pint, returns to the end stop, back to point, move to other endstop, etc)

Edited 2 time(s). Last edit at 10/06/2015 03:43AM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: smart auto-calibration feedback loop?
October 06, 2015 04:09AM
On a delta printer you can calibrate the endstop corrections, delta radius, tower position corrections, and homed height by doing bed probing. You can also calibrate the diagonal rod length, but to get accurate results for that you need probe points that are outside the typical print radius of delta printers, so it is generally better to use the design value. I posted an auto calibration video here [www.youtube.com] which demonstrated what was then a new mathematically-based algorithm that needs only one iteration, or up to 3 iterations if the parameters are a long way off to begin with.

I think the problem with what you are suggesting is that the number of parameters you can auto calibrate on a Cartesian printer is small. If you know the steps/mm for an axis, you can calibrate the axis length. To do this, you either need to have an endstop switch at both ends of the axis (which is otherwise unnecessary and rarely used), or you need to drive the motor against a mechanical endstop at one end until it stalls. This is OK to do if you have software-controlled motor current, because you can reduce the motor current while doing this; but I wouldn't want to do it on a machine with fixed motor currents. However, you would still need to tell the firmware the steps/mm, whether your homing switch is at the high or low end of the axis, and how far away the edge of the bed is from the homing switch position. So you would only have saved configuring 1 of about 4 parameters per axis in the firmware.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: smart auto-calibration feedback loop?
October 06, 2015 04:51AM
So are you saying that Delta printers nowadays have a better auto-calibration routine that makes them less difficult to setup than before, when it was a known fact that you'd better go for a cartesian than have to deal with making a delta perform?

Could the routine you have linked compensate for errors in shape accuracy? If I print a circle and it is more an oval than a circle, or if I print a cube and the sides are not perfectly equal, or if angles are not 90deg sharp, as measured with an proper angle.

I don't know if I'm making sense smiling smiley.

Edited 1 time(s). Last edit at 10/06/2015 05:26AM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: smart auto-calibration feedback loop?
October 06, 2015 05:59AM
Quote
realthor
So are you saying that Delta printers nowadays have a better auto-calibration routine that makes them less difficult to setup than before, when it was a known fact that you'd better go for a cartesian than have to deal with making a delta perform?

Yes. However the only firmware that currently supports this auto calibration algorithm is RepRapFirmware, so you need Duet, RADDS or Alligator electronics to use it.

Quote
realthor
Could the routine you have linked compensate for errors in shape accuracy? If I print a circle and it is more an oval than a circle, or if I print a cube and the sides are not perfectly equal, or if angles are not 90deg sharp, as measured with an proper angle.

The kinematics implemented in all the delta printer firmwares I have looked at assumes that the bed is perpendicular to the towers, the 6 rods are all the same length, and the bearing spacing is exactly the same at the upper and lower ends of each pair of rods. The towers do not have to be equally spaced. Under these assumptions, if a delta printer is correctly calibrated, the X and Y scaling will be identical and angles will be correct. If they are not, then either one of these assumptions has been broken, or there is some other build inaccuracy such as slop in the joints.

It would be easy to generalise the delta kinematics to allow the 3 pairs of rods to have different lengths, but I don't think this would be very useful. Allowing for tilting towers would be more useful, because it is difficult to get the towers exactly perpendicular to the bed in both directions when using printed corners. However, the maths would get a lot more complicated, especially when generating segmentation-free delta movement as RepRapFirmware does. In practice, it is not too difficult to get an accurate build, and there is a move towards metal corners in Kossel-type printers. The worst effect of leaning towers is taken care of by the calibration routine, which will shift the tower position to compensate for the average error caused by lean in the radial direction.

I have considered adding Gcode commands to adjust the X and Y scaling factors in the firmware, but if the X:Y ratio is out, my guess is that the angles of corners of large objects will not be accurate either. So I don't know whether it would be very useful.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: smart auto-calibration feedback loop?
October 06, 2015 07:44AM
I am thinking for a while now already of a printer of my own and Due/Duet is what I am thinking of because of its 32bit cpu. I am not sure about the difference between the two I only kjnow they are compatible. RADDS is just a shield like Ramps-FD right? I have not yet studied the cost effectiveness of different 32bit implementations. I am sure though that it's cheaper than smoothieboard.

Regards, auto-calibration of XY I think that it's better to have it than not have it because the defects in manufacture and/or installations will always affect the prints in ways you can't predict so getting accurate prints with non accurate hardware is something to strive for. At least from my pov.

I am also thinking for a while about mapping the linearity of the vertical towers, which can have slight curves or bumps or what have you. Imagine a "map" of each tower straightness, at best all are straight and at worst let's supposed they are bowed or even jagged, in more than one plane. How can this be accounted for in software? Of course this is not ok and the advise would be to replace such a part because it can stop the bearing due to friction or too large tolerances that overcome what the bearing is capable of but still, at least for aluminum extrusions, these bows/bumps/etc can be ridden by bearings carriages with tensioning features (excentrics or other screws used to press the bearings into the extrusion slot).


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: smart auto-calibration feedback loop?
October 17, 2015 06:57PM
I have an i3 and a kossel mini. The i3 axis calibration was easy, use the default steps per mm value (80 for x and y) and then mark 100mm, move 100mm and then adjust the value if it does not move the distance you need. Whilst auto calibrating the axes on the i3 would save a little time occasionally, might be a useful thing to run at the start of each day/week of printing and would be very useful for a consumer level "works out of the box" printer, the time saving is pretty small and would require two endstops on each axis which most people don't bother with. It's calibrating the extruder that takes time, so if you have a good idea of how to do that automatically I am sure I am not the only person who would be be very interested in hearing about it/trying it/helping to develop it.

As for the Kossel, I use Rich Cattell's Marlin with auto calibration and it works well, it uses a z probe to feel the bed and then iterates setting changes until it touches the bed reliably at each of the set probing points. I decided to use this as I got nowhere trying to calibrate the machine myself, though others with a better understanding of delta kinematics and firmware probably get much further. I went for force sensing resistors as my z probe (FSR kit) and am very pleased with this solution. However I still had to calibrate the extruder manually which took a long while with a long bowden tube and direct drive extruder.
Re: smart auto-calibration feedback loop?
November 14, 2015 07:04PM
Which delta calibration routine works best on the majority of the hardware out there?

I am asking this for a few reasons:

- as I said in the first post, I am planning a Delta build or Kit anyways something cheap to get my teeth into 3D printing, something I will not regret if I play with the electronics and I blow it. I don't know if whould I source my "sacrificial" parts from China or not, don't have much confidence but on the other hand, If I blew a genuine Duet or Due+RAMPS-FD i'd be very unhappy (Chineese Due+Ramps~50-60Eur | think3dprint3d Duet~150Eur (out of my budget) | RepRapPro Duet PCB ~12oEur this is the previous version I guess, still a big difference).

What do you suggest for the choice of electronics? I don't think I need ethernet or anything fancy for the play printer.

- I have read some time ago that the delta printers, because of their construction, can only be sufficiently accurate in a trianle shape inscribed in the circle defined by the bed. There were numbers and graphs and heatmaps don't remmember the link.

Is this something that is a consequence of the design itself and nothing to do about it?

- Can you print accurate parts that fill the whole bed? I mean not round parts but parts that are complex, with angles and holes in many places.

At least from my brief research we have several ways of auto-calibration atm:

- RepRap Firmware fork by Dc42: https://www.youtube.com/watch?v=xVrRGaeOiKA (Only works with Duet/Due based solutions)
- OpenDACT(open source delta automatic calibration tool) which runs on Repetier Firmware: https://www.youtube.com/watch?v=cQ1uTnZpUzM
- Rich Cattell's Marlin Branch delta calibration: https://www.youtube.com/watch?v=6lMGinYlWms (I haven't found a video with no "issues" reported but that's what I got from fisrt pages of google search)
- Steven Rowland's Calibration routine https://www.youtube.com/watch?v=im5MDpTkzCM (this is not In-Firmware but uses the calibration routine of MatterControl and a html to record the readings off of a caliper strapped to the effector; pretty ingenious)
- Others that you know of? or can recommend?

Do you have any experience with the above? What is your opinion about them?

Thanks for pitching in.

Edited 2 time(s). Last edit at 11/14/2015 07:07PM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: smart auto-calibration feedback loop?
November 15, 2015 04:45AM
Well all I can do is tell you my experience. I have a think3dprint3d kossel mini the version which uses ramps rather than due. You can print across the whole bed but the circular shape is a little limiting on a Kossel Mini even with my 200mm wide bed as usually I print more square parts. But for anything small, or circular or tall it is very suitable. It is faster than a cartesian printer even with the relatively less capable ramps/mega board driving it. At some point I might upgrade to a 32bit board but I'm not sure how much I am going to gain. Maybe higher print speed, but the limiting factor in this setup is the precision and speed of the filament control with a bowden direct drive extruder. I've got a flex3drive on order.

I installed some fsrs from ultibots and then Rich Cattell's marlin. Then you can auto calibrate and auto level. Other firmwares are capable of this also but I haven't used them. Manually calibrating wasn't working for me and I accept I gave up a bit too easily. I would have liked to have gained a more thorough understanding of the delta geometry/kinematics by calibrating it manually but each time I tried the print was still inadequate. Must be a mechanucal problem I hear people cry but since auto calibrating, the print is very good and parts are within 0.05-0.1mm accurate in all three dimensions.
Sorry, only registered users may post in this forum.

Click here to login