My projects and thoughts

[GBC] Cardan lift

Posted on 2015-03-06

Found a ball contraption and decided to build a lego version. The cardan gear mechanism requires a 2:1 gear ratio, which requires non-standard distances for the gears to mesh. The first attempts used turntables for this, but they always started squeaking after a while. The 40 and 20 tooth gears allowed a much simpler solution, but with the downside of the arm hanging on a single axle. To save weight I've used a spring instead of a counterweight. It's not strictly required, but it makes the machine run more smoothly.

Update (2015-08-25): LDraw model (v2)

After posting the video, some parts have been tweaked a bit to improve reliability. The model is up to date with these modifications. 1x2 plate with Pin Hole on Bottom (18677) have been replaced by 1x4 plate with Pin Hole and Bucket (88289), because the former didn't exist in the parts library. The spring in that file is black, but is supposed to be the yellow, extra hard, spring. The 20 tooth gears have several mold variants, where some will have too much friction because the distance is a bit too short. Just select the ones that run best. The 24 tooth gear on the arm must be the long-tooth kind or it will skip.

Synchronizing this machine is best done in a particular order (image). First, run the machine until the arm stops in the upper position. Because of gear backlash, only run it forward when synchronizing.

  1. When the arm is in the upper position, the spring should be extended. If adjusted properly, the arm will be able to stop in just about any position when a motor isn't connected.
  2. The orbiting 24 tooth gear must stop in the position shown in the small picture. Note that you may have to adjust both of the gears that mesh with the differential housing to achieve this.
  3. The arm will fall forward a bit (due to gear play) when passing the top position. This must happen after the balls have rolled out. If the arm falls too soon, the balls will drop on the floor.
  4. The scissor lift isn't particularly sensitive to synchronization, but I like adjusting it so that newly arriving balls have the greatest chance of avoiding waiting.