Pantograph Juggling Machine

Welcome

The Pantograph Juggling Machine is a stepper motor driven three ball juggling machine. An Arduino triggers the stepper motor drivers. The machine is mostly wood, but some small plastic and metal is also used.

This machine has juggled three balls for 24 minutes.

CNC files and Arduino code Repository hosted by Github.

New October 6, 2020: Accuracy

Each of the two arms is made from eight linkages.

The most hands were the most difficult part to design. There are several design requirements and it took me several tries to find a design that could catch, throw, and adjust.

The Arduino and the motor drivers are shown in this image.

There are two parameters that control how the machine juggles; dwell time and acceleration. I am using the accelstepper library to calculate the acceleration curves. It does a good job smoothly starting and stopping the motors. The motors never reach the max speed, so only the acceleration matters. The dwell is called stepover in the program. Dwell is calculated by finding the overlap between the motion of the two hands. It's easier to code the steps that they overlap than the dwell ratio.

I just guessed and changed the values until it looked like my hands when I juggled.

Balls

The balls are 3 star ping pong balls. I drilled a 1/8" hole in the ball and filled it with salt until it weighed 22g. The hole was sealed with hot glue and CA glue.

The markings on the ball were easy to scratch of with a chisel.

The uprights are made from four 5" x 13" x 3/4" pieces of MDF. Four rabbets in the MDF allow for the passage of threaded rods that secure the uprights to the base. Four 1/4-20 threaded rods are not quite enough, and the machine rocks a little bit. The entire machine weights about 100 lbs.

Cam

A steel and aluminum cam connects the motors to the arms. The aluminum has two holes, one for the stepper motor shaft, and another for the shaft the output shaft. The cam is held on to the motor with a slit and a set screw. Now shown, there is another screw that retains the output shaft to the aluminum bar.

Materials:

1/4" aluminum bar

1/2" steel drill rod


Bushings

There is a bushing between the cam and the arm. When I first assembled this machine, I did not use bushings. The steel shafts wore directly against the wood. The wood started to wear out, and the machine started to make a clack-clack sound when running. There is a red circle around the old hole that did not have a bushing. There is a green circle around the bushing.

These bushing are nylon plastic. A shaft collar (top insert) retains the plastic bushings on the cam's output shaft.

Dwell Time

Dwell time is the amount of time that the ball is in the hand. This gif shows how throw frequency can change while throw height remains the same. In the view on the top, the dwell time is longer. The balls spend longer in the hands, and less time in the air.

In the view on the bottom, the dwell time is shorter. The balls spend more time in the air and less time in the hands.

Spacers

Each arm has four plastic spacers. The PVC spacers were made on the lathe and then the slots. A CNC machine milled the slots.

CNC

Don't try to cut this stuff out with a jig saw. That's not going to work. The level of precision required to juggle is unobtainable when cutting by hand. I used a CNC machine to cut the pieces for this machine. The only pieces that were not made on the CNC machine were the uprights and base.

I used some Python scripts to generate the G-Code files. Link to G-Code files. I used LinuxCNC for the controller and a Sherline Mill to make the parts. It is especially important to use CNC for the hands.

The pantograph mechanism is a four bar linkage. This is parallelogram linkage because the links are all the same length.

The only similarity between the juggling machine and a human juggler is that they both drop. This section includes research on when and why it drops.

Sketchup Model

Click through the link to the left to see a 3D model of the juggling machine.