Self-leveling table

I've an idea for a self-levelling table. The table will be a 4' by 2' rectangle on 3' legs and will be set up in many different places, sometimes on uneven or sloping but solid floors. My idea is to have a bolt on each leg controlled by a stepper motor to adjust the height of each leg until it's level. Actually, only 3 motorised adjusters will be needed, the fourth can be set manually before the self-leveller is implemented.
I don't know what device to use for detecting if the table is out of level.
Mercury tilt switches or a plumb bob with four contacts around it are two I've thought of, but is there a more elegant solution? I want it to be fairly accurate.

Accelerometer?

Gyroscope + accelerometer.

"device to use for detecting if the table is out of level"

Siphons.
Transparent tubes with a dark liquid. Air at each end allows phototransistors to find level degrees. The liquid blocks the light or the light goes through air.

A four-legged table will never have equal weight on all four legs and if you try to level it with three adjustable legs you will end up with the table teetering on three legs. To make this work you'd need to come up with some mechanism to equalise the weights on the four legs. You might be able to come up with a clever mechanism to achieve that, but otherwise I think you'd need some sort of load sensing mechanism, as well as the leveling mechanism. For the leveling, a two-axis accelerometer would enable you to detect whether it was level.

Two axis accelerometer is correct.

It allows you to adjust until the acceleration in either horizontal direction becomes zero. You do not care about the third, vertical axis though the available devices provide that as well.

The fluid level idea - as used by builders in some circumstances - is logical, but unable to be implemented for a table - as it requires the hose to run below the apparatus.

The weight on the legs only matters if the table is on a non-rigid surface.

Paul__B:
The weight on the legs only matters if the table is on a non-rigid surface

... or if you want the table to sit firmly, rather than rock about on three legs.

PeterH:

Paul__B:
The weight on the legs only matters if the table is on a non-rigid surface

... or if you want the table to sit firmly, rather than rock about on three legs.

Then it won't be level under all circumstances. As I mentioned in the OP, the floor will be rigid, either bare concrete or bare wood, possibly uneven and possibly sloping. The majority of the weight will come from the table itself. The weight of what will be on the table will be a minor consideration. Thanks for the suggestion of an accelerometer. I'll look into using one of those.
I think that auto-adjusters on only three legs will work. The first adjustment would take all three adjusters to their minimum height so that the unautomated leg should be on the ground. If it's not, a manual adjustment can be made. Using that leg as datum, the three auto-adjusters can then be 'wound-up' until the table is level. The final height (within an inch or two) of the level table is not important at this stage. Later versions will require two or more level tables to be at the same height, but I'm not at that stage yet.

Unless the table is perfectly balanced (and maybe even if it is) it will probably sit level on 3 legs with the 4th leg not touching the ground. As soon as someone puts his elbows on it his beer will spill.

This doesn't happen with 3-leg tables.

...R

3 Legs would be the way to go. You could even do a 3->1->Table type thing like in restaurants. If you wanted to do 4, I would think that the solid leg would have to be fixed half way up between the other legs.

Accelerometer is definitely the way to go.

I don't see the big deal. I think the 3 of four legs adjustable should work.
Here -

Mount accelerometer so the axis point across the table corner-to-corner.
In code:
• Retract all adjustable legs
• Extend ONLY the leg across from non-adjustable leg until that axis is level.

  • the table will no lean towards one of the remaining legs.
    • Now, extend one leg on other axis (the one the table is leanin gtoward) until table hits "level" on that axis.
    • Extend remaining leg until table us unlevel on that axis (TOO HIGH on that leg), retract same leg until it becomes level again.

Should now have a level table.

EDIT:
Worst case, may need to attach some minor "switch/button" on legs to ensure they are all touching the ground. As long as all legs touch ground/floor....I don't see how it would tip from shifting weight.

@1ChicagoDave, I like your logic. However I think there would be too much wobble if ony one leg is adjusred and it would be necessary to maintain a reasonably close match between the length of all legs.

It may be worth deliberately unbalancing the table so that one would know that it would always lean in the same direction. That way you could extend the opposite leg (as you suggest) and the leg under the weighted side. Then settle the unweighted leg last.

However doesn't all this require the user to orient the table so the fixed leg is on the high side of the floor?

Another option may be to use a single column 3-leg base without adjustable legs and mount the table top on a gimbal so that it can be leveled independently of the feet. With a bit of mechanical ingenuity and weight in the right place the gimbal will be self leveling without any electronics. This is commonly used for cookers in sailboats.

...R

Just ensure an adequate supply of folded beer-mats.

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.

Given an infinitely stiff table and floor, a four-legged table will actually sit on three legs. Of course nothing is really infinitely stiff and typically a table will flex enough to sit on all four legs on a flattish floor. However, as soon as you introduce an uneven floor, you can't get all four legs taking weight unless you have a feedback system. No matter what order to try to adjust the legs, it will always end up with three legs taking the weight. Remember that in the case you describe where you start by adjusting one leg, initially one leg will be in the air and you don't know which one it is.

I cannot really see the problem with a four legged table. Even if most of the weight was on one leg as long as the legs all touch the ground I would have thought it would be stable. Things would be simpler with three legs though.

Also since the floors can be sloped the automatic legs need to be able to make themselves both longer and shorter than the non-automated leg.

I think you also mentioned that ultimately you want more than one table to not only be level but also at the same height as the other table/s. That sounds like a whole different problem. To solve it I think all the legs on the tables need to be automatic and that some communication between tables will also be required.

What is the precision in degrees that a cheap Accelerometer can detect gravity with no movement? Which model is best for this purpose? It's OK to average readings since the requirement is not fast. Can we do a comparison of different IC's? Does it matter if the X-axis is pointed straight up? In this case which axis would be most precise (in degrees) X or Y? Would it be more precise (degrees) if X,Y,Z were all about 45 degrees from up?

While servicing a minicomputer in the 70s I saw a optical bench table in use at the Lawrence Livermore National Laboratory. It was a massive 12 foot long 8 foot wide thing (or it seemed that large in my memory). You could apply force on one corner by pushing down on it and see the table readjust to level. I asked someone there what it cost and they said if you have to ask you can't afford one. :wink:

Lefty

"a massive 12 foot long 8 foot wide thing " was a metal table for microscopes. The four legs were air-suspension cylinders with diaphrams. See the picture for leveling hardware. You can sit on a corner and it will adapt and level the table, while floating on air (If you weight little).

I have used these air tables that level themselves with hissing air transfers on four corners.
(Image from http://assets.newport.com/web600w-EN/images/1238499.gif )

PeterH:

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.

Given an infinitely stiff table and floor, a four-legged table will actually sit on three legs. Of course nothing is really infinitely stiff and typically a table will flex enough to sit on all four legs on a flattish floor. However, as soon as you introduce an uneven floor, you can't get all four legs taking weight unless you have a feedback system. No matter what order to try to adjust the legs, it will always end up with three legs taking the weight. Remember that in the case you describe where you start by adjusting one leg, initially one leg will be in the air and you don't know which one it is.

Lengthen each leg in turn, until it makes the level worse. All legs are then touching the ground. Now shorten each leg in turn until either level or no difference can be detected (leg is off the ground). If leg off ground, readjust other legs and retry.

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.
Here -

Mount accelerometer so the axis point across the table corner-to-corner.
In code:
• Retract all adjustable legs
• Extend ONLY the leg across from non-adjustable leg until that axis is level.

  • the table will no lean towards one of the remaining legs.
    • Now, extend one leg on other axis (the one the table is leanin gtoward) until table hits "level" on that axis.
    • Extend remaining leg until table us unlevel on that axis (TOO HIGH on that leg), retract same leg until it becomes level again.

Should now have a level table.

That's exactly how I envision it.

EDIT:
Worst case, may need to attach some minor "switch/button" on legs to ensure they are all touching the ground. As long as all legs touch ground/floor....I don't see how it would tip from shifting weight.

I don't see any need for switches.