Page 1 of 1
Auto Bed leveling
Posted: Wed Mar 19, 2014 10:29 pm
by Jassper
Re: Auto Bed leveling
Posted: Wed Mar 19, 2014 10:38 pm
by JohnStack
Should work. One potential challenge: The plate is now sitting on three pads... Not sure.
Re: Auto Bed leveling
Posted: Wed Mar 19, 2014 10:38 pm
by mhackney
Nope, not yet anyway.
We also need to get our terminology straightened out. There are 2 very different things:
1) auto leveling - this is simply making sure the physical build surface is normal to the Z axis. It applies to both Cartesian and delta machines. It only requires measuring 3 points to determine planarity. While interesting, this is not really a big "win" for delta printers
2) auto calibration - this is profiling the movement of the effector on a delta machine to use to calculate all of the delta movement parameters like delta radius, arm length, tower "rotation", etc. This requires taking multiple measurements over the surface of a flat (ideally) build surface. This, of course, is the Holy Grail for delta users.
Johann's force sensors are actually used to measure multiple points over the build surface and can be used to auto calibrate with the right software. All of this innovative work is being done in Marlin firmware and Repetier is lagging.
Forgot to mention - these force sensor are not for high temp use with a heated bed. There are high temp force sensing devices but they are over $100 for 3 of them. There are other ways to solve the problem with these sensors though.
Re: Auto Bed leveling
Posted: Wed Mar 19, 2014 11:03 pm
by AndThenSome09
This should work with Repetier in theory, you just need to figure the code change in Repetier to make it work, instead of a switch being activated or deactivated your looking at the change in resistance, which is why he used the heated beds thermistor input since a thermistor just changes resistance based on the temperature. So its pretty much the same output through different input methods. And also because the Mini Kossel doesn't use a heated bed.
Only thing is with a Rostock Max we use a heated bed, so 1 you would need to use another thermistor input and 2 the FSRs can only stand up to 70c so you would have to figure a different mounting method that would still work.
Re: Auto Bed leveling
Posted: Wed Mar 19, 2014 11:08 pm
by JohnStack
Back to Hall-0 for auto-cal.
I have mine and I'm waiting...
https://ultimachine.com/content/hall-o
Mahalo.
Re: Auto Bed leveling
Posted: Wed Mar 19, 2014 11:12 pm
by AndThenSome09
mhackney wrote:Nope, not yet anyway.
We also need to get our terminology straightened out. There are 2 very different things:
1) auto leveling - this is simply making sure the physical build surface is normal to the Z axis. It applies to both Cartesian and delta machines. It only requires measuring 3 points to determine planarity. While interesting, this is not really a big "win" for delta printers
2) auto calibration - this is profiling the movement of the effector on a delta machine to use to calculate all of the delta movement parameters like delta radius, arm length, tower "rotation", etc. This requires taking multiple measurements over the surface of a flat (ideally) build surface. This, of course, is the Holy Grail for delta users.
Johann's force sensors are actually used to measure multiple points over the build surface and can be used to auto calibrate with the right software. All of this innovative work is being done in Marlin firmware and Repetier is lagging.
Forgot to mention - these force sensor are not for high temp use with a heated bed. There are high temp force sensing devices but they are over $100 for 3 of them. There are other ways to solve the problem with these sensors though.
RichieC over on Google Groups, Delta Robot 3D Printers, is getting pretty close with Auto Calibration in his new version of the Marlin firmware, check it out:
https://groups.google.com/forum/?pli=1# ... -25-false]
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 1:12 am
by bvandiepenbos
instead of putting force sensors under the glass build plate, why not put them under the melamine bed insulator?
they should not get very hot there.
------GLASS-------------------------
------PCB HEATER--------------------
------BED INSULATOR MELAMINE------
------SENSOR------------------------
------STANDOFF---------------------
------MACHINE BASE-----------------
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 2:07 am
by AndThenSome09
That's what I was thinking, but would the force be sensed through all those layers?
I've been contemplating this very idea for a few day and I have som FSRs on the way with a voltage divider board to see what I can come up with.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 8:59 am
by Jimustanguitar
mhackney wrote:profiling the movement of the effector on a delta machine to use to calculate all of the delta movement parameters like delta radius, arm length, tower "rotation", etc. This requires taking multiple measurements over the surface of a flat (ideally) build surface. This, of course, is the Holy Grail for delta users.
Nick Seward (Simpson, Wally, Lisa, Gus creator) mentioned at MRRF that he's got a (probably Excel) form that has you take a bunch of height measurements and calculates all of these things for you.
Has this part of the code been written and it just doesn't work yet, or should we reach out to him and get this started?
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 9:02 am
by mhackney
Exactly Brian, I am working on it. I have my sensors and am using 3 short ceramic standoffs under the melamine that will sit on the sensors. The one area that everyone jumping on this bandwagon overlooks is that the build surface must be constrained from movement in the X-Y plane while simultaneously allowing enough Z movement to actuate the sensors. This is true no matte the sensor technology you choose if you plan to got with this idea. Insulating the sensors from the heated bed is a trivial problem that others are making a big issue of. Try this - heat your bed up to 100°C and then put a temperature probe under the melamine snowflake plate. I doubt you will see much temperature rise and certainly no where close to the max temp for these sensors.
I encourage folks to READ the technical specs published for these sensors. There is some good information there that will minimize headaches.
On the firmware front, I have Marlin (both Johann and Rich Cattell's branches that have 2 different auto calibration enhancements) running on my Max so I can test as soon as I have the sensors installed and mounted. Porting to Repetier is not a trivial effort since the calculations and results permeate the path code. I am studying both of those to see their different approaches.
cheers,
Michael
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 9:08 am
by mhackney
Jimustanguitar, that's interesting and is exactly the approach I've started. Once you know the height map of your bed on a known "grid" the math required to calculate all the delta parameters is not horrific and could easily be done in a spreadsheet. Cattell's code iterates until it reaches a designated precision. Basic brute force equation solving. The Cattell code seems to be the best (at least most understandable) to me in terms of the math used. But his code uses a legacy Z probe not the sensors (although he says he is working on that).
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 9:50 am
by enggmaug
I started coding a interpolation python script to run on generated GCode, to change the Z coordinates, based on height measurments done on the plate.
Well, when I say I started, it's still at the paper stage now..... and I don't give it much time as I believe someone will post a better thing than what I could do, before I do do it... plus my printer calibration is good enough for me now.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 9:53 am
by mhackney
That's an interesting approach, post process the gcode. That removes a LOT of extra calculations that would take place in the firmware. You could take advantage of the PCs faster processor and larger memory to make this very fast. I rather like this idea!
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 10:04 am
by mhackney
In thinking about this a bit more, it would make for an interesting gcode display!
Also, I think you would want to get the machine calibrated as best as possible mechanically so the Z fluctuations were as small as possible. You could also use this technique to remap the gcode to print on a tilted build surface (i.e. "not level") by tweaking the X and Y along with Z. But a simple Z adjust as a POC would be interesting.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 10:05 am
by bvandiepenbos
mhackney wrote:Exactly Brian, I am working on it. I have my sensors and am using 3 short ceramic standoffs under the melamine that will sit on the sensors. The one area that everyone jumping on this bandwagon overlooks is that the build surface must be constrained from movement in the X-Y plane while simultaneously allowing enough Z movement to actuate the sensors. This is true no matte the sensor technology you choose if you plan to got with this idea. Insulating the sensors from the heated bed is a trivial problem that others are making a big issue of. Try this - heat your bed up to 100°C and then put a temperature probe under the melamine snowflake plate. I doubt you will see much temperature rise and certainly no where close to the max temp for these sensors.
I encourage folks to READ the technical specs published for these sensors. There is some good information there that will minimize headaches.
On the firmware front, I have Marlin (both Johann and Rich Cattell's branches that have 2 different auto calibration enhancements) running on my Max so I can test as soon as I have the sensors installed and mounted. Porting to Repetier is not a trivial effort since the calculations and results permeate the path code. I am studying both of those to see their different approaches.
cheers,
Michael
Michael,
I agree the X Y movement of build surface needs controlled, but I would think it could float a bit. In fact I purposefully do not tighten down the onyx mounting very firmly to allow PCB to move/expand with temperature change. I think many peoples issues with bed warp is tightening screws to much. I do not use the countersink holes and flat head screws, I use allen head screws with flat washers. I have no issues with PCB bed warping.
Why use 3 sensors? could one in center work as well?.... it is only providing way to detect when nozzle touches glass, correct?
or am I missing something entirely?
seems people are making this more complicated than necessary.
As I type this what comes to mind is using one micro switch with a long lever touching center of a slightly spring loaded bed. The switch is adjusted to almost tripped then the mechanical advantage of lever gives additional precision.
meaning, the bed has to move very little to mechanically trip the switch.
Of course this probably means the bed must move straight up/down in Z and not tilt.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 10:26 am
by mhackney
Interesting Brian, I have my Onyx completely constrained under my aluminum heat dissipator. There is really no where for it to warp so my surface stays flat.
As you know, 3 points define a plane. If you add a 4th point, say at the middle, with a force sensor, you will have 4 points of contact and that is a bit tricky to adjust. Then, consider the case where the nozzle is out at the edge - it might not trigger the center depending on where your contact points are and the stiffness of the plate.
Basically for best results, you want the bed to be infinitely stiff with 3 points of contact spaced 120° apart around the perimeter right at the edge of the round plate. Then, no matter where the force is applied, 1 or more of the sensors will detect it. Johann's plate is 1/4" by 6.5" borosilicate on his Kossel. This is very stiff. He does not heat his plate as he prints PLA on blue tape. We want/need a more general solution for hot beds.
Another alternative is to put a single sensor between the effector and hot end mount. There are a couple of ideas on Thingiverse with a hinged mount with the sensor opposite the hinge. This is a very interesting idea too. Since we are measuring force and not distance traveled, I think I could sandwich a single small (and I grabbed a few of the 1/4" D force sensors) sensor between my Kraken Konnector and the effector. There are 3 mounting holes/screws to attache these together. An ever so slightly compressible washer (urethane rubber O rings maybe) between the effector and mount would provide a little compressibility to trigger the sensor. Since the diameter of this effector/mount is small (compared to the Onyx) and very stiff I think a single sensor at one of the 3 "contact points" defining the plane would be triggered reliably. I'm doing experiments along these lines now. There are many ways to skin the cat!
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 10:54 am
by Eaglezsoar
I always thought that a tail, wings, and a propeller defined a plane.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 11:10 am
by mhackney

Eagle you crack me up!
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 11:19 am
by Eaglezsoar
We need a little humor once in a while.
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 4:11 pm
by AndThenSome09
Is there any way to be able to hook the 3 FSRs in series to one of the end stop spots? Any way for this to be done easily and cheaply? So you could use the Z min or max just like with a micro switch Z-probe?
Re: Auto Bed leveling
Posted: Thu Mar 20, 2014 8:01 pm
by artexmg
bvandiepenbos wrote:mhackney wrote:Exactly Brian, I am working on it. I have my sensors and am using 3 short ceramic standoffs under the melamine that will sit on the sensors. The one area that everyone jumping on this bandwagon overlooks is that the build surface must be constrained from movement in the X-Y plane while simultaneously allowing enough Z movement to actuate the sensors. This is true no matte the sensor technology you choose if you plan to got with this idea. Insulating the sensors from the heated bed is a trivial problem that others are making a big issue of. Try this - heat your bed up to 100°C and then put a temperature probe under the melamine snowflake plate. I doubt you will see much temperature rise and certainly no where close to the max temp for these sensors.
I encourage folks to READ the technical specs published for these sensors. There is some good information there that will minimize headaches.
On the firmware front, I have Marlin (both Johann and Rich Cattell's branches that have 2 different auto calibration enhancements) running on my Max so I can test as soon as I have the sensors installed and mounted. Porting to Repetier is not a trivial effort since the calculations and results permeate the path code. I am studying both of those to see their different approaches.
cheers,
Michael
Michael,
I agree the X Y movement of build surface needs controlled, but I would think it could float a bit. In fact I purposefully do not tighten down the onyx mounting very firmly to allow PCB to move/expand with temperature change. I think many peoples issues with bed warp is tightening screws to much. I do not use the countersink holes and flat head screws, I use allen head screws with flat washers. I have no issues with PCB bed warping.
Why use 3 sensors? could one in center work as well?.... it is only providing way to detect when nozzle touches glass, correct?
or am I missing something entirely?
seems people are making this more complicated than necessary.
As I type this what comes to mind is using one micro switch with a long lever touching center of a slightly spring loaded bed. The switch is adjusted to almost tripped then the mechanical advantage of lever gives additional precision.
meaning, the bed has to move very little to mechanically trip the switch.
Of course this probably means the bed must move straight up/down in Z and not tilt.
Quick question. Which of these conical springs do you guys think would do the trick to float the bed for it to sense the touch of the hot end?
http://www.amazon.com/s/ref=nb_sb_noss_ ... ion+Spring
Thanks!