Jeffery makes (almost) Anything

Project 4 : Computer Controlled Machining

I have always wanted to make a Harmonograph. This is a machine that uses the oscillations of several pendula to drive the motion of a sheet of paper and drawing pen. This results in beautiful and complex images. Even more crazy, the complexity of the ratio between the different pendula is directly reflected in the complexity and harmony of the resulting picture.

Initial Idea

This project was more on the ambitious side, but at least many people have built these machines before. I looked at past design examples to determine how to bypass the technical difficulties, in particular frictionless joints. I settled for a design similar to the table in this videoof a three pendula harmonograph, even though one day I hope to build something as well made as this four pendula harmonograph

So there are many different parts to take into account, all of which I plan to make out of OSB (Oriented Strand Board):

  1. The support table, including a table top and four legs
  2. Three pendula that will give induce motion to the paper and pen
  3. The Two upper arms of the two pendula connecting them to the pen
  4. A small table holding up the sheet of paper
  5. Weights for the pendula

These different pieces require various connections and joints. I have decided upon the following joints:

  1. For the table: press-Fit joints between the table and legs
  2. Between the pendula driving the pen and their arms: magnet joints
  3. Holding the pendula on the table: right angle brackets and sharpened machine screws for swinging. For the table pendulum, an additional aluminium ring is added for an extra degree of freedom to make a universal joint
  4. For the weights: The weights slide up the pendulum arm and are held in place by a pin.
  5. For the pen, I use elastic bands coupled with threaded rod for rotation

Here are sketches of how the joints work:


2D Design on Antimony

I used Antimony to design the parts. I was able to make these designs entirely parameter dependent: at any time I could adjust the width of the stock, the endmill diameter, the maximum angle of inclination of the pendula and many more.

Here are the shapes that were made:


When milling a slot inside a piece, the endmill would leave a rounded edge if it weren't for "T-bones". I made them by subtracting half a circle of the diameter of the bit.


Here we have some of the parameters available beside the smaller pieces of the design.


Antimony unfortunately only exports .png files, whereas shopbot needs vector files. To bypass the difficulty I used Corel Draw to vectorize (leaving only the outline), remove background color, and export the shapes laid out in a pdf file. The result was pieces that would be cut by a quarter inch bit (for efficiency) and by an eighth inch bit (for the detail needed).

Hardware preparation

Hardware needed in addition was the following:

  1. The aluminium ring for the universal joint
  2. Angle brackets with sharpened machine srews and washers (external tooth lock)
  3. Magnets
  4. A thin threaded rod with nuts and washers

I bought these at Dickson Bros, except for the aluminum ring: at first I tried buying a big washer, but the hole was not big enough. So instead I cut out piece of aluminium on the shopbot with Daniel and Rob's help.

The shape made directly on VCarve, and the dimensions calculated according to other pieces of hardware. We machined the aluminum with extreme care: a very small plunge rate, screwed the inside and ouside of the pieces to the support, and covered the piece with water to avoid material projections.


The hardware was assembled:


And the machine screws were sharpened on a grindstone:


After cleaning the aluminium ring, I drilled holes and added the same sharpened screws.


VCarve and Shopbot: What I wish I knew

Machining the wooden pieces on the shopbot was extremely time consuming and frustrating, as many small things went wrong and kept on delaying the process. Getting the setup of the toolpath (in the software VCarve) right turned out to be crucial. First and foremost the lesson learnt here is that I must test my settings on a small machine job before running the full scale job. So here are the things I took a while to get right:

  1. The number of passes and tool speed: 3 passes at 2 inches per second worked well.
  2. Do not forget to set the endmill specs (diameter, upcut or downcut), the offset side (cut inside or outside the traces), the milling direction (conventional or climb)
  3. Defining the thickness and dimensions (in job dimensions) of the stock precisely (0.48 wide, 4 by 4 feet in this case) was important. This way vcarve knows when we go through the material or are within the bounds of the material and indicates it clearly.
  4. A default in Vcarve that almost messed up a run: be careful of where the board is zeroed ( in my case it was offset by 1.6 inch, and the top traces were dangerously close to the edge)
  5. Tab number, distribution and size. This allows the piece to stay put and not go flying around or sucked up by the ventilation system. OSB is very easily chipped, so my tabs would consistently break (some of the smaller pieces even went into the ventilation): I ended up realizing that I needed to make huge tabs (easily sawed off afterwards): 0.5 inch wide, 0.2 inch thick.hardware
  6. The pieces must be placed within a margin of the edge (1 to 2 inch to be safe): indeed the stock is fixed to a bed by screws put on the edges, and the turning endmill must under no circumstances hit these: it would be a danger to anyone in the room. For this use the ruler tool in VCarve.
  7. How the pieces are spaced on the board is crucial: I initially put the pieces too close to each other, and the OSB couldn't take the strain and broke off as the machine was running, resulting in the following:hardware

Once the toolpath has been saved in the .sbp format, the battle is only halfway done: the setup with the Shopbot software is also full of gotchas:

  1. If we need to stop the machine for something less urgent then the whole machine falling apart, do NOT press the STOP button, press the spacebar instead. Instead of stopping the process completely, this pauses the process, allowing us to resume later, and more importantly, we do not lose our xyz zeroes. On my first cut I lost my zeroing and ruined part of a board as a result: the insides were cut out, but I could not cut the outside shapes!
  2. I once had to stop the machine because the bit was slowly falling out of the head. So when putting the endmill in the head, make sure to push the endmill sufficiently deeply in the holder and tighten all the way: the head tended to stick before things were fully tightned. However things cannot be too tight or we would ruin the head: a firm handshake is enough.
  3. When zeroing the endmill, do the z-axis first (in the "Cuts" menu, and with the metal plate and alligator pin laid out): the software tended to crash at this step, so doing this first minimized the work lost. Also leaving the move console open at this stage will make the software freeze.
  4. When zeroing the xy, use the move console; when close to the edges enter values instead of using the arrows: this makes the current zero get displaced.
  5. If the endmill is currently stationnary and plunged in the stock, make it move up first before anything else. The TF with me entered a move command that changed the x, y and z positions: instead of going up first, the head went for the diagonal, which broke the broke the bit! (shame, it was a good one too).

On a more general note, there are two things to remember when running a job: First, be always alert the whole time. Strange noises warned me of the bit falling out and earlier on of the board getting pushed into the head. Keeping a regular check also avoided the head going into a screw after I realized the whole traces were offsetted because of VCarves initial settings.

Second, when things go wrong during a job, as long as one is paranoid about conserving the original xyz zeroes, we can still go back to edit the toolpath to adapt to the situation: rearrange pieces that are not cut, remove the pieces too close to an edge etc.

Machining the pieces

I had several goes at machining the pieces. On the very first I stopped the process and lost the zeroes (ruining part of a board as a result). On my second try things were partly successful but the parts with too cramped together. Here is the shopbot milling the pieces


After this attempt I at least succesfully cut out the table top and legs, which I left in the shop too confidently with a simple label: all but the table top were thrown away in cleanup later on.


On my final attempt I spaced out things much more, and had much larger tabs.


Here the shopbot is cutting the finer detail pieces with the eighth inch bit:


I was more careful this time to put my pieces in a storage box.


And now for building:



Tools used