Automatic bed leveling probe on Mini Kossel (video)

Showing 1-58 of 58 messages
Automatic bed leveling probe on Mini Kossel (video) Johann 5/28/13 5:26 PM
Fully automatic (deploy, calibrate, retract) bed leveling probe demo:

http://youtu.be/1eNz1l56H5E

https://github.com/jcrocholl/kossel/blob/master/retractable.stl

Stay tuned for Marlin firmware update, documentation including BOM,
and more videos / pictures.

I'll also be demoing Mini Kossel at makerfaireseattle.com probably
Saturday afternoon (June 8) and Sunday morning (June 9), come check it
out!

Cheers,
Johann
Re: Automatic bed leveling probe on Mini Kossel (video) geneb 5/28/13 5:52 PM
On Tue, 28 May 2013, Johann C. Rocholl wrote:

> Fully automatic (deploy, calibrate, retract) bed leveling probe demo:
>
> http://youtu.be/1eNz1l56H5E
>
> https://github.com/jcrocholl/kossel/blob/master/retractable.stl
>
That's pretty bad ass, Johann!  Great job!

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.diy-cockpits.org/coll - Go Collimated or Go Home.
Some people collect things for a hobby.  Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://www.scarletdme.org - Get it _today_!
Re: Automatic bed leveling probe on Mini Kossel (video) Johann 5/28/13 6:17 PM
Because the video doesn't show the mechanical details, I took some pictures too:

http://flickr.com/photos/jcrocholl/tags/retractable
Re: Automatic bed leveling probe on Mini Kossel (video) geneb 5/28/13 6:25 PM
On Tue, 28 May 2013, Johann C. Rocholl wrote:

> Because the video doesn't show the mechanical details, I took some pictures too:
>
> http://flickr.com/photos/jcrocholl/tags/retractable

Could you do a short video that shows the deployment and retraction
sequences?
Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 5/28/13 7:23 PM
That selection of parts reads like a parody of a MacGuyver episode:

"I'll need a safety pin. A wrench.  Some tubing.  A pen.  A terminal block.  And a glass of water."

Awesome.  I have to wonder if a second safety pin on top, lifting up, might eliminate the pen spring and terminal block next to the extruder - might simplify the BOM a tad.


On Tuesday, May 28, 2013 6:17:57 PM UTC-7, Johann wrote:
Because the video doesn't show the mechanical details, I took some pictures too:

http://flickr.com/photos/jcrocholl/tags/retractable
Re: Automatic bed leveling probe on Mini Kossel (video) JohnD 5/28/13 8:44 PM
Awesome work Johann!
Re: Automatic bed leveling probe on Mini Kossel (video) Bas de Bruijn 5/28/13 9:18 PM
That's wonderfull! Very nice! Why do you touch the vertical rod? is it to determine the column position? I think that touching 3 points near the base of the columns will be enough for determining the parallelity of the bed with the coordinate system. That way anything already printed on the bed is not interfering with the homing/calibrating.

--
You received this message because you are subscribed to the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 5/28/13 11:37 PM
On Tuesday, May 28, 2013 9:18:15 PM UTC-7, Bas de Bruijn wrote:
That's wonderfull! Very nice! Why do you touch the vertical rod? is it to determine the column position? I think that touching 3 points near the base of the columns will be enough for determining the parallelity of the bed with the coordinate system. That way anything already printed on the bed is not interfering with the homing/calibrating.


Pushing against the vertical belt twists the allen wrench out of its notch, resetting the probe into the down position. 

After probing is done, the probe needs to be stored, so the effector must get moved to the edge of the raised build plate, where it can push down below the extruder nozzle.
 
Re: Automatic bed leveling probe on Mini Kossel (video) Bas de Bruijn 5/28/13 11:59 PM
Yes, I see now, I was not fully awake :)
Very nice and well thought thru design.
Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 5/29/13 12:25 AM

I made one of these probe mechanisms today:

When you see the mechanism in action, you realize just how cool it is.  The green terminal block in the picture is from my Brainwave kit, and I just drilled a small hole out the back.   The spring is from my parts bin.

However, mine just barely works, mostly due to my own fault.
- I like to use 0.4mm layers for the print speed, but this creates all kinds of friction.  The edges of the allen wrench lock into the between-layer ridges that come from using such a big layer height.    Make sure to use 0.2mm layers or less! I need to redo mine.  Alternately, I could flip the part 90 degrees so that the lines go with the motion. 
- Make sure to use the right size of safety pin.  Mine's a bit large, and it doesn't push the allen into the notch well.
- Don't over-drill the plastic part to reduce friction.  I did, and now there's a bit of wobble at the bottom. 

Johann, aside from an extra two grams of metal plus a little more plastic, is there any reason not to switch to a 2mm allen from the 1.5 one?  It still fits in the terminal block, it would reduce spring binding, and it would provide a larger flat surface to push on the switch.  1.5mm wrenches are too bendy for my taste.

Other small changes that might be nice:
- set the point of rotation for the allen back a few mm, to get a longer, less-wobbly path to the switch plunger.
- find some material, maybe teflon grease, heatshrink, a ptfe tube, etc. to reduce friction in the tube.
- I don't trust the longevity of a safety pin, although I do like the cost and ubiquity. 

Nice work Johann.. looking forward to the code to try it out.
Re: Automatic bed leveling probe on Mini Kossel (video) Daniel - TriDPrinting.com 5/29/13 7:01 AM
Kudo's Johann. An excellent design, ubiquitous parts, and it has automatic deployment and retraction. Well done.

Brandon, love your ingenuity  using the terminal block.  Would it work to file down your part a little so the allen wrench doesn't stick, or do you think the thicker printed  layers will still cause trouble?

Daniel - http://www.TriDPrinting.com/

Re: Automatic bed leveling probe on Mini Kossel (video) Brad Hill 5/29/13 8:47 AM
Think there would be an easy way for the probe to be used to calculate the proper delta offset to correct for bowing/cuppig?
Automatic bed leveling probe on Mini Kossel (video) Grabercars 5/29/13 9:05 AM
Words can't express how COOL I really think this is! It's this type of evolutionary/revolutionary dev that produces more consistent prints, and a better overall user experience.

Congrats on job well done. I can't wait to try this myself when i return from Germany in 2 weeks time.

Now... I'm already wondering if someone will be porting your guys' code work over to repetier!

Thanks Johann and crew!

Re: Automatic bed leveling probe on Mini Kossel (video) Daniel - TriDPrinting.com 5/29/13 9:12 AM
Of course there is a way, but it involves modeling a software parametric delta printer, and optimizing the parameters for the minimum error.

So, everything depends on the complexity of the printer model that is used. Other possibilities include tower misalignment, tower twist, mismatched rod lengths, etc.

Many of the parameters you might want to test for should only be reported to the user if they are not aligned correctly, others the printer could adjust for in firmware.

Daniel - http://www.TriDPrinting.com/
Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 5/29/13 9:29 AM


On May 29, 2013 7:01 AM, "Daniel - TriDPrinting.com" <dan...@puptv.com> wrote:
>
> Kudo's Johann. An excellent design, ubiquitous parts, and it has automatic deployment and retraction. Well done.
>
> Brandon, love your ingenuity  using the terminal block.  Would it work to file down your part a little so the allen wrench doesn't stick, or do you think the thicker printed  layers will still cause trouble?
>

Not my ingenuity - Johann specified a terminal block!

I think the challenge for 0.4 mm would be filing down the slot.  Adding
heat shrink or simply printing this tiny part with smaller layers seems
easier.

> Daniel - http://www.TriDPrinting.com/
>
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe?hl=en.
> To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.


> To post to this group, send email to delt...@googlegroups.com.
> Visit this group at http://groups.google.com/group/deltabot?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

Re: Automatic bed leveling probe on Mini Kossel (video) Shai 5/29/13 3:54 PM
Wow, this is awesome! My only concern though would be... how accurate/reliable is it to use an endstop to level the bed? Meaning, what are the chances that the Z height will still be noticeably off.
Re: Automatic bed leveling probe on Mini Kossel (video) James Armstrong 5/29/13 9:49 PM
Here's my super simple clip on version. Just need working repetier firmware.
Clips onto the underside of the effector
Re: Automatic bed leveling probe on Mini Kossel (video) heyarn 5/30/13 9:54 AM
is johann's code for autocalibration on github? I can't seem to find it? Also, where can I buy the hardened steel rails? Is it a large improvement in terms of print quality over graber's delrin rollers?
Re: Automatic bed leveling probe on Mini Kossel (video) Anthony VH 5/30/13 11:27 AM
The "hardened steel rails" are called linear rails. As far as linear motion goes, it's the best you can get. This is what's used in super expensive CNC mills. For a 3D printer, you probably wants rails 9, 12 or 15mm wide, although the 15mm is serious overkill in this case. A few well known brands are IKO, THK and HiWin (I'm quite sure the one's in Johann's picture are HiWins). For IKO the type you want is: LWL<width>, not sure about the other brands.

Unless you're lucky, you'll have to spend quite a bit of money though. New rails can easily cost 100€/50cm. I had lots of luck recently and managed to acquire 5 pristine secondhand 62cm IKO LWL9 rails for 180€ incl. shipment on eBay. I suggest you just check every now and then until something cheap comes along.

Terrence Tam is selling this type of rail for 80$/piece including carriages (I think 1 per rail, not sure). I'm also not sure about the length of the rails. Search this group, it's here somewhere :).

Make sure, if you buy anything, to get carriages for the correct type of rail. Although they might look the same, carriages from a 9mm THK rail normally will not fit on a 9mm IKO rail. Note that each brand also has multiple types of rails, many which look the same, but, again, require different carriages.


--
You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Re: Automatic bed leveling probe on Mini Kossel (video) JohnD 5/30/13 4:33 PM

Heyarn - debatable - if you were carrying load, absolutely, but since we are moving grams not kilo's, I think you'd be much better off looking at mag-joints! :-)
Re: Automatic bed leveling probe on Mini Kossel (video) heyarn 5/30/13 4:35 PM
Lol thanks john! im on ebay right now shopping for magnets :) do you know if/when/where johann shared the code for the autocalibration? :)
Re: Automatic bed leveling probe on Mini Kossel (video) Shai 5/30/13 4:46 PM
I think what he showed in the video is only the ability so far to move the extruder to different points on the bed. No automatic calculations are being made to level the bed in the software of the printer.

IMHO, i am debating wether an endstop is a good way to go about this. I wonder what the tolerances on that are.
Re: Automatic bed leveling probe on Mini Kossel (video) Johann 5/30/13 5:19 PM
On Thu, May 30, 2013 at 4:46 PM, Shai <shai...@gmail.com> wrote:
> I think what he showed in the video is only the ability so far to move the
> extruder to different points on the bed. No automatic calculations are being
> made to level the bed in the software of the printer.

That is correct. I plan to publish my changes to
http://github.com/jcrocholl/Marlin (on the "deltabot" and "kossel"
branch) later this week.

> IMHO, i am debating wether an endstop is a good way to go about this. I
> wonder what the tolerances on that are.

But everybody has been successfully using these same microswitches for
homing even before delta printers, and on CNC machines even before 3D
printers.

Anyway, when I get my code to actually report the measured numbers,
then we can see how reproducible they are. Stay tuned! :)
Re: Automatic bed leveling probe on Mini Kossel (video) Leslie 5/30/13 5:19 PM
We already use those same endstops to calibrate the bed, this would be no different.
Re: Automatic bed leveling probe on Mini Kossel (video) Bas de Bruijn 5/30/13 10:37 PM
If you use a microswitch as I saw in the video of Johann I don't expect any problem. They have very good repeatability. Another plus of this way of calibrating is that tolerances and elongation of belt etc are on the same side as the calibration direction. The position that matters is where the bed is, that's where the nozzle will interfere with the bed. I'm looking forward to the end of the week :)


On 31 mei 2013, at 02:19, Leslie <leslie...@gmail.com> wrote:

We already use those same endstops to calibrate the bed, this would be no different.

--
You received this message because you are subscribed to the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to deltabot+u...@googlegroups.com.

To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Re: Automatic bed leveling probe on Mini Kossel (video) Pat K 5/31/13 9:25 AM
Johann,

I came across this  on a Cartesian printer a few days back at reprap called as "Crash Probe".

http://reprap.org/wiki/CrashProbe


Here is Repetier firm ware: 

Instead of mechanical switch, they are using hall effect switch.  Is there any benefits using hall effect sensors?
The performance of magnet might be interfered by the steel hot end or motor mounted or steel screws on end effector.





On Thursday, May 30, 2013 8:19:44 PM UTC-4, Johann wrote:
On Thu, May 30, 2013 at 4:46 PM, Shai <shai...@gmail.com> wrote:
> I think what he showed in the video is only the ability so far to move the
> extruder to different points on the bed. No automatic calculations are being
> made to level the bed in the software of the printer.

That is correct. I plan to publish my changes to
http://github.com/jcrocholl/Marlin (on the "deltabot" and "kossel"
branch) later this week.

> IMHO, i am debating wether an endstop is a good way to go about this. I
> wonder what the tolerances on that are.

But everybody has been successfully using these same microswitches for
homing even before delta printers, and on CNC machines even before 3D
printers.

Anyway, when I get my code to actually report the measured numbers,
then we can see how reproducible they are. Stay tuned! :)
Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 5/31/13 9:43 AM
Pretty interesting idea, to use a magnet on a slider to attach/release the probe.


--
You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Re: Automatic bed leveling probe on Mini Kossel (video) JohnD 5/31/13 6:59 PM
I was going to post this up later, but I got an N52 magnet and a hall effect switch that's triggering about 4mm from the magnet.  This means I can have a probe that is not as long as my hotend, so should not have to move. 

I'm tossing some test code together to just read some values, but it should be repeatable - I've used the same sort of sensors on the Z axis for my Cartesian with great success.
Re: Automatic bed leveling probe on Mini Kossel (video) David S 6/9/13 2:24 PM
Before I accidentally start crashing my machine - has anyone modified the code to work with ramps (and original rostock)? 

Johann (?) has a comment by the "Z_MIN_PIN"  in the Printrboard config (in Pins.h) that says "// Use E-STOP pin for bed leveling probe." Does the ramps board have an estop pin and would you use that?

Physically, I figured you'd connect the probe into the other Z end stop pin. Code-wise it would seem you'd need to assign a number to Z_MAX_PIN (19) and probably change some other variable somewhere, but I can't find where that somewhere is. It's also kind of weird that convention (what the min/max direction is) is flipped between the kossel/rostock.

I can't wait to actually try this!
Re: Automatic bed leveling probe on Mini Kossel (video) Johann 6/9/13 9:38 PM
RAMPS:
X_MAX_PIN = top endstop 1
Y_MAX_PIN = top endstop 2
Z_MAX_PIN = top endstop 3
Z_MIN_PIN = autolevel Z probe

Printrboard:
X-STOP = X_MAX_PIN = top endstop 1
Y-STOP = Y_MAX_PIN = top endstop 2
Z-STOP = Z_MAX_PIN = top endstop 3
E-STOP = Z_MIN_PIN = autolevel Z probe

Brainwave has only 3 endstops so maybe we can use the heated bed
thermistor pin instead.

There is no difference between Rostock and Kossel for the endstop
pins. There was a very early Rostock with 3 top (max) and 3 bottom
(min) endstops but the bottom endstops were quickly removed, more than
12 months ago.

Cheers,
Johann
Re: Automatic bed leveling probe on Mini Kossel (video) Caleb Buxton 6/10/13 7:58 AM
Johann, thanks!

Question: are the coordinates in deploy_z_probe, retract_z_probe specific to kossel dimensions? I'm taking a look at https://github.com/jcrocholl/Marlin/compare/deltabot...kossel and its giving me a good start at seeing what is needed to port G29 over to rostocks.





--
You received this message because you are subscribed to the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to deltabot+u...@googlegroups.com.

To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



Re: Automatic bed leveling probe on Mini Kossel (video) Johann 6/10/13 8:21 AM
Yes, some of the hardcoded coordinates in there are specific for Mini
Kossel. I'm planning to move those to Configuration.h soon, so they
will be easier to find and adjust.
Re: Automatic bed leveling probe on Mini Kossel (video) Michael Hensen 6/18/13 2:14 AM
Hi Johann,

This is very interesting!! Do you still have the 'test' code to get the various levels?!
I would like to test and see the output of the various test point if possible ?!

With kind regards,

Michael

On Wednesday, May 29, 2013 2:26:43 AM UTC+2, Johann wrote:
Fully automatic (deploy, calibrate, retract) bed leveling probe demo:

http://youtu.be/1eNz1l56H5E

https://github.com/jcrocholl/kossel/blob/master/retractable.stl

Stay tuned for Marlin firmware update, documentation including BOM,
and more videos / pictures.

I'll also be demoing Mini Kossel at makerfaireseattle.com probably
Saturday afternoon (June 8) and Sunday morning (June 9), come check it
out!

Cheers,
Johann
Re: Automatic bed leveling probe on Mini Kossel (video) Daniel Åkesson 6/18/13 4:04 AM
Will this come to Repetier too?
Re: Automatic bed leveling probe on Mini Kossel (video) Brad Hill 6/19/13 11:30 PM
Here is a weird question Johann, what are you using to affix the boro plate to the glass tabs?
Re: Automatic bed leveling probe on Mini Kossel (video) Johann 6/20/13 8:23 AM

Scotch restickable tabs, 1x1 inch squares.

Re: Automatic bed leveling probe on Mini Kossel (video) Johann 6/20/13 8:24 AM

Yes, G29 shows the measured vertical offset in mm for each point.

--
You received this message because you are subscribed to the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot.

For more options, visit https://groups.google.com/groups/opt_out.
 
 
unk...@googlegroups.com 6/24/13 2:59 PM <This message has been deleted.>
Re: Automatic bed leveling probe on Mini Kossel (video) Brad Hill 6/30/13 2:48 PM
Just got mine working today and it is very cool! Also very useful as it seemed everytime I moved my kossel mini the endstops would need a little adjusting.

Couple things that I hope help people:

1) I used a bondhus 1/16" ball head allen I got in a pack from ochard supply hardware.
2) If you are using ramps you need to remove Z_STOP and replace with Z_MIN and Z_MAX values like johann did in the printrboard section.
3) I added a new version of my jhead retainer:


Originally I had the probably setup so that it went through the empty area of the retainer, after building the probe the allen key is a bit wobbly ... also the default probe areas on the bed coupled with the wobble meant that the allen would sometimes go off the bed which wasn't good. The new retainer decreases the ability for the key to wobble.

Way to go johann is all I have to add.
Re: Automatic bed leveling probe on Mini Kossel (video) Grabercars 7/30/13 7:25 AM
Johann, a huge sincere THANKS to you. It is incredibly helpful to be able to auto-level the bed. I found that even if the delta_radius is really REALLY far off it will still level the bed, so in theory one could pretty much just throw a random number into the configuration file and as long as the probe can find the proble_release and the probe_retract points it just works. (shakes his head in wonderment)

I do have a question - I've got this code working on a variation of  your design that I'll be showing soon. For those of us that have more design sense than programmers experience it would be helpful to know what adjusting the following values does.

#define Z_PROBE_OFFSET {0, 6, -4.2, 0}

I've found that the third number corresponds to the distance between the probe tip and the nozzle, but not so sure on the others.

Steve
Re: Automatic bed leveling probe on Mini Kossel (video) Terence Tam | OpenBeamUSA.com 7/30/13 7:59 AM
X, Y, Z offset.  4th number is not used (it's the E axis value, to keep convention).

-=- Terence
Re: Automatic bed leveling probe on Mini Kossel (video) Grabercars 7/30/13 9:01 AM

Thanks mr T,

:-)

Sent from my Razr Maxx

--
You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.

To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Re: Automatic bed leveling probe on Mini Kossel (video) wolfmanjm 7/30/13 10:59 PM
I have to say I am a little surprised that it works for adjusting a bad deltaRadius (high/low center).

That error is a non-linear error, yet the z probe does linear interpolation to adjust for a non level bed, and then propagates that error through the entire print (I believe, please correct me if I am wrong).

Could someone with math skills please explain why it works? I can understand how it can adjust for a non flat bed, but for a non linear error such as delta radius I would dearly like to understand why that would work.

thanks


On Tuesday, July 30, 2013 7:25:03 AM UTC-7, Grabercars wrote:
Re: Automatic bed leveling probe on Mini Kossel (video) Abram Thau 7/30/13 11:48 PM
Magic. I'm chalking it up to magic.
Re: Automatic bed leveling probe on Mini Kossel (video) Johann 7/31/13 10:43 AM
Attached is a picture of the typical matrix of vertical offset probe
points reported by G29, with DELTA_RADIUS slightly incorrect (bowl
shape). The picture was generated by running the G29 output through
gnuplot.

For each point on the print surface, the linear interpolation
calculates the weighted average between the nearest 4 probe points,
just like the surface in the picture. This approximates the effect of
bad DELTA_RADIUS (high/low center) sufficiently.

While printing, from each point in delta geometry we subtract the
approximated vertical offset, so the printed object conforms to the
print surface perfectly.
Re: Automatic bed leveling probe on Mini Kossel (video) qtrain23 7/31/13 10:52 AM
That is amazingly awesome. 
Re: Automatic bed leveling probe on Mini Kossel (video) Joey Doll 7/31/13 9:27 PM
Some more detail/thoughts...

It's a linear fit to a 2nd order z error term from miscalibration. The error term will have a linear component (endstop positions = bed tilt) and a quadratic component (delta radius). The quadratic term means you'll have some residual between the 2nd order error term and your fit that's at a max midway between four points that were probed.

In practice the residual is much less than the layer height if your delta radius + endstops are roughly accurate. If you look at Johann's plot the z variation across the ~90 mm bed is like 0.2 mm. After calibration the max linear vs. quadratic deviation is probably like 0.01 mm (just a guess but you could estimate it). That level of accuracy is quick to get with a few delta radius + endstop adjustments but without autolevel it would wreck your first layer. For example, after rebuilding my machine last weekend and very roughly calibrating it the error across the bed is about 0.7 mm (mainly tilt from the endstops which I'll fix when I have a second). Even with that, I have no issues printing 0.2 mm layers.

It would be amazingly cool to calculate the optimal delta radius and software endstop offsets on the microcontroller based upon the zprobe results. Then a user wouldn't need to muck around with them in the settings and there would be no calibration besides G29. I'll investigate this when I have some time...

- joey
Re: Automatic bed leveling probe on Mini Kossel (video) Mark Medrano 8/1/13 12:43 AM
That's what I do in my repetier hack, tho I'm just using fudged compensation values to converge on a solution without overshooting, rather than actually understanding the math to make it correct in a single pass.  Best case you get an undistorted part and only need 4 probes, worst case you can remove the curvature of the delta solution from the interpolated correction values.
Re: Automatic bed leveling probe on Mini Kossel (video) Brandon H 8/1/13 12:45 AM
On Tue, Jul 30, 2013 at 10:59 PM, Jim Morris <wolf...@gmail.com> wrote:
I have to say I am a little surprised that it works for adjusting a bad deltaRadius (high/low center).

That error is a non-linear error, yet the z probe does linear interpolation to adjust for a non level bed, and then propagates that error through the entire print (I believe, please correct me if I am wrong). 

Could someone with math skills please explain why it works? I can understand how it can adjust for a non flat bed, but for a non linear error such as delta radius I would dearly like to understand why that would work.

I was also skeptical about this at first, but I've since come around to see Johann's code and approach as "practically good enough", rather than "optimal".  Jim, see if this makes sense, below.  I put my Python code to do the math and make plots on GitHub:


If I understand it correctly, Johann's code does a linear interpolation based on a grid of measured points, and dynamically corrects each XY point such that the Z offset fits a plane.  

Assume, for the sake of the discussion, that:
 - the build surface is perfectly flat
 - the rod length is off by a bit, yielding an "original XY surface" that is a curved (Joey says this is an ellipse, which sounds right).
 - the mechanical build has the build plane at a perfect 90 degree angle to all towers
 - the endstops are exactly equidistant from the build plane

The question we should be asking is "is the interpolation error from the Johann approach, vs getting a perfect rod value, significant?"  Well, it depends on:
(1) the number of measured points, 
(2) the original error in rod length, and 
(3) what you consider "significant", but we can run some numbers.  

Let's say you just measured 4 points.  At the edge (3 points on the measured circle), the error will be zero.  At the center, the error will be zero.  In between, it depends on the number of measured points.  It's pretty straightforward to figure this out & plot it. In the graphs below, red is for a unit circle (for curiosity), while blue is for a unit parabola.  The lines are (at the top) the function, its interpolated version, and below, the error as a fraction - shown for a sample of 3 measurement points away from center:
Inline image 2
Showing just the maximum error values as a function of the number of measured points:
Inline image 1
max error for 1 divisons is 0.250
max error for 2 divisons is 0.062
max error for 3 divisons is 0.028
max error for 4 divisons is 0.016
max error for 5 divisons is 0.010
max error for 6 divisons is 0.007
max error for 7 divisons is 0.005
max error for 8 divisons is 0.004
max error for 9 divisons is 0.003
max error for 10 divisons is 0.003

The takeaway for the blue line (parabolic motion max error as a function of measurement points past center) is that with just a few points, you get fairly low max error from interpolation.  3 points past center (for a 7x7 grid) translates to 0.028 - 3% of the center Z offset.  So if I had a 1mm center Z offset because my delta_radius was off, I'd have a 0.03mm worst-case error in-between the measured points and about half that on average.  [I'd still like to translate rod length measurement inaccuracy into interpolation error, which would be more meaningful for predicting accuracy.  I'm also tempted to get auto-calibration working and verify that theory matches practice.]  I can get sub-0.025mm accuracy on the 4 points on my Mini Kossel, but the Z offset does drift after motion, IIRC to 0.1/0.2mm Z offset or so.  So linear interpolation shouldn't cause meaningful errors on my printer.

I think this shows why the current code should work, even with significant dishing, but it still suggests that an auto-calibration routine that corrects for delta_radius would give even better results - because in theory, these linear interpolation errors should go to zero, and only build plate "baconation" would need to be corrected.  Four points should be enough to solve for the delta radius, right?  You might want to measure a few points around the 4, average them, and then figure out the rod lengths.


thanks

On Tuesday, July 30, 2013 7:25:03 AM UTC-7, Grabercars wrote:
Johann, a huge sincere THANKS to you. It is incredibly helpful to be able to auto-level the bed. I found that even if the delta_radius is really REALLY far off it will still level the bed, so in theory one could pretty much just throw a random number into the configuration file and as long as the probe can find the proble_release and the probe_retract points it just works. (shakes his head in wonderment)

I do have a question - I've got this code working on a variation of  your design that I'll be showing soon. For those of us that have more design sense than programmers experience it would be helpful to know what adjusting the following values does.

#define Z_PROBE_OFFSET {0, 6, -4.2, 0}

I've found that the third number corresponds to the distance between the probe tip and the nozzle, but not so sure on the others.

Steve

--
You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Re: Automatic bed leveling probe on Mini Kossel (video) Brad Hopper 8/1/13 9:19 AM
According to your plots one could also probe a somewhat finer grid in the middle and trim the max error dramatically in the spot where most of the printing gets done.
Automatic bed leveling probe on Mini Kossel (video) Brad Hopper 8/1/13 9:25 AM
Does the interpolation increase the bandwidth requirements (thus maybe making SD printing more necessary) or is it just that the numbers are computed in the arduino, and as long as  it's up to the job no big deal? Or could this additional business take the controllers attention away from smooth communication?

Still trying to get my new printer built so haven't been able to try the bed leveling out yet...

Re: Automatic bed leveling probe on Mini Kossel (video) Grabercars 8/1/13 10:56 AM
Interesting you should mention that Brad, because I find it impossible to use Marlin via USB cable from my Atom based laptop nor my OctoPrint /Linux enabled Pengpad700. The stutter and stopping is continuous down to around 15mm/s printing speed. I haven't tried downgrading to an earlier version of Marlin to see if it's any better. Anyone here able to print using Marlin via USB cable? My issue at the moment is that SD reading from the Viki seems to be broken since the last Marlin commit (according to Roy) so I can't print via SD card either! 

Steve Graber


On 1 August 2013 09:25, Brad Hopper <brad....@gmail.com> wrote:
Does the interpolation increase the bandwidth requirements (thus maybe making SD printing more necessary) or is it just that the numbers are computed in the arduino, and as long as  it's up to the job no big deal? Or could this additional business take the controllers attention away from smooth communication?

Still trying to get my new printer built so haven't been able to try the bed leveling out yet...

--
You received this message because you are subscribed to a topic in the Google Groups "Delta robot 3D printers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/deltabot/a6gow3KotQk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to deltabot+u...@googlegroups.com.
To post to this group, send email to delt...@googlegroups.com.
Visit this group at http://groups.google.com/group/deltabot.
For more options, visit https://groups.google.com/groups/opt_out.



Re: Automatic bed leveling probe on Mini Kossel (video) Joey Doll 8/1/13 12:20 PM
Marlin + USB with autolevel running off of my desktop. No issues unless a program causes the system to hiccup, which is rare.

- joey
Re: Automatic bed leveling probe on Mini Kossel (video) Grabercars 8/1/13 1:11 PM
That sounds promising. I like to know your configuration_adv.h file settings for 

BLOCK_BUFFER_SIZE 
MAX_CMD_SIZE
BUFSIZE 


Also, do you have an LCD panel and SDCard reader enabled?



Steve Graber
Re: Automatic bed leveling probe on Mini Kossel (video) Joey Doll 8/1/13 1:19 PM
No changes to those parameters from Johann's firmware. I'm running exactly what I've checked in: https://github.com/jcdoll/Marlin/blob/deltabot/Marlin/Configuration_adv.h. LCD and SD support are not enabled. I'm running a Printrboard Rev D and have gone up to ~100 mm/sec with no issues.

- joey
Re: Automatic bed leveling probe on Mini Kossel (video) wolfmanjm 8/1/13 2:42 PM
Hey steve, i print fine from octoprint on my pengpod 1000, and from pronterface on the pengpod, no stuttering.

try disabling viki, i found that newer marlin seems to slow down when trying to update the lcd. i'll look into that.
Re: Automatic bed leveling probe on Mini Kossel (video) Steven Machado 8/5/13 1:17 PM
I need to see a video on assembly, installation and configuration. :(
Re: Automatic bed leveling probe on Mini Kossel (video) Hernando Molina 5/13/14 3:55 PM
Hi, i developed a kossel mini printer and follow the assembly guide with all care, i finish the assembly and now i´m trying to do the callibration of the printer using the printer bed auto levelling but when i use the G29 command start touching the printing bed but then it goes high and continue the points in the air, can someone help me to find why this is happening and what should i do to make a successfull callibration? i send the picture of how it looks when i use the G29 command.

Best regards,

Hernando


El martes, 28 de mayo de 2013 19:26:43 UTC-5, Johann escribió:
Fully automatic (deploy, calibrate, retract) bed leveling probe demo:

http://youtu.be/1eNz1l56H5E

https://github.com/jcrocholl/kossel/blob/master/retractable.stl

Stay tuned for Marlin firmware update, documentation including BOM,
and more videos / pictures.

I'll also be demoing Mini Kossel at makerfaireseattle.com probably
Saturday afternoon (June 8) and Sunday morning (June 9), come check it
out!

Cheers,
Johann
More topics »