Automating the Box Joint Jig Lead Screw

I constructed an Arduino based controller to automate the carriage on my lead screw Box Joint Jig which was originally inspired by Matthias Wandel at woodgears.ca. Interestingly, Matthias added automated operation by a laptop to his design at the beginning but later removed the function in favor of multiple wooden gear sets. My jig was manual at first and automated later after I kept losing count of the crank turns

See this WordPress Blog entry on construction of my Box Joint Jig and also this Blog entry on some of the applications.

A video of the development breadboard in action is at www.youtube.com/watch?v=6Zz1fGDO5jw.

A video of the controller installed on the jig and working is at www.youtube.com/watch?v=URk4qYnEWgI

I used an inexpensive DC motor driven with a Polou MD01B H bridge, and added position feedback to the lead screw. This gear drive motor from All Electronics (DCM-697), was intended for actuating automotive power seats.  I sawed the shroud off the connector housing so I could use standard push on terminals.  The mounting base is a bit of hardwood flooring rounded out to fit the motor and hose clamped on. I can loosen the clamps and slide the motor to align the sprocket and adjust the chain.

Modified Power Window Motor

Modified Power Seat Motor

 

This shot shows how the lead screw shaft has been cut and ground down to fit the "D" shaped hole in the drive sprocket.

Window Motor Shaft

Seat Motor Shaft Ground Down

 

Two 24 tooth sprockets from All Electronics (GR-100).  They don’t come with a cap for the shaft collar so I made some from a piece of aluminium. Normally they have a “D” shaped hole. The sprocket on the left has it’s D intact – it will go on the motor shaft. The sprocket on the right has it’s D filed out round so it can clamp on the 3/8 threaded rod that drives the Box Joint Jig.  I have since replaced the motor side sprocket with a 42 tooth part to speed up the carriage motion.

24 Tooth Sprockets

24 Tooth Sprockets

 

Photo of the first test bed.  Power seat motor on left, Pololu motor driver (MD01B) above that, protoboard in the center and Arduino on the right.  Two buttons on the protoboard run the motor either CW or CCW.  The amazing little Pololu board has a VNH3SP30 H bridge chip which is less than 3/4 inch square but can switch 30 amps!

Bare Test Bed

Bare Test Bed

 

Since the motor is a simple series type, I need a way to inform the Arduino how far the shaft has rotated.  An optical sensor could be used but then there would be sawdust issues. Instead I use a Hall Effect sensor and permanent magnets.

This is the prototype position disc. It will go on the jig’s lead screw.  Quarter inch button magnets are coupled to six penny nails to focus the magnetic field and pressed into slots sawn in the disc.

Prototype Feedback Disc

Prototype Feedback Disc

 

Here the magnets and nails have been epoxyed and a coat of varnish applied.

This was intended to be a prototype but performs well enough that it probably will be the final.  The disc is 3 inches in diameter and will be taped directly to the motor sprocket for software development purposes.

Trimmed Magnet Disc

Trimmed Magnet Disc

 

Detail of the disc edge showing one of the six penny nails sawn off and filed flush.

The Hall Effect sensor (SS441A from Jameco) gives a clean transition when placed about a quarter inch from the edge of the disc. NO bounce observed (Yay!) so I can easily code an interrupt driven counter. Eight steps per rotation on the 16 TPI shaft will give a resolution of  0.0078125 inch at the carriage. One – One Hundred Twenty Eighth of an inch.

One of the Magnetic Poles

One of the Magnetic Poles

 

Since this is the Breadboard phase of development, I thought it appropriate to mount the parts on a real board.  At this point the motor software is done but the menus are not. A video of the development breadboard in action is at www.youtube.com/watch?v=6Zz1fGDO5jw.

Clockwise from the top:
– Chain and sprocket for the lead screw
– Sensor disk temporarily on motor
– Motor and mount screwed down now
– Hall Effect sensor glued to a stick
– Stick clipped to mount so its adjustable
– Arduino clone board
– 16×2 LCD display
– PWM pot (not used, will be removed)
– Proto board with LEDs and buttons
– MD01B motor driver

Final Development Breadboard

Final Development Breadboard

 

Here is the box I selected to hold the completed controller.  It is a standard electrical box from Lowes, but it has a bump out on one side that forms a nice surface on which to mount button switches. The lid of the bump out is molded as part of the box. You fold it over and it snaps on. You can do this about 3 times before the plastic hinge breaks off so plan the layout carefully beforehand. 30 Cubic Inches sounds like a lot until you start stuffing cables in there.

I amputated the 8 penny nails and mounting ears.  LCD and LED indicators mount flush on the top where the AC receptacle would normally be.

Electrical Box

Electrical Box

 

I think the box has enough holes now….  Putting the controller hardware into the box is more complicated than it seems. Just the box itself needs wires from two buttons, power switch, 12 volt feed, motor feed, two limit switches, and the Hall Effect sensor.

Outside, a blue Euro style block is glued on for the Hall and limit wiring, Two pin Molex connectors added for the 12 volt leads.  The box material is soft enough that it cuts easily with a utility knife.

Box With Wiring

Box With Wiring

 

Here is the Pololu MD01B motor driver in it’s new home. Have to use plastic screws because the plating around the mounting holes is electrically hot (why??).  This small sheet of aluminum fastens inside the box via the two countersunk holes visible just above the buttons in the previous photo.

Pololu MD01B Mounting

Pololu MD01B Mounting

 

The Arduino clone processor is mounted on the opposite side of the aluminum plate.  Four analog inputs and 12 digitals are cabled out.

Arduino on Mounting Plate

Arduino on Mounting Plate

 

Four LEDs and the 2×16 Liquid Crystal display are mounted on a piece of plexiglass cut to fit the top opening of the box.

Leds are:
slewing left
power on
hall sensor (added for coolness factor)
slewing right

Display Panel Front

Display Panel Front

 

This is the display panel seen from the bottom.  Four 2 wire connectors for the LEDs and a 10 wire cable for the LCD display.

The small connectors are salvaged from PC front panel displays, the multi wire connector is sawn off an IDE hard drive cable.

Display Panel Rear

Display Panel Rear

 

I used a Radio Shack PC board to make a central interconnect for all the buttons, limit switches, LEDs, Hall sensor, LCD display, and processor.  There is a 5 volt regulator for the logic side, pullup resistors and LED dropping resistors.  This cries out for a printed circuit board but since I’m only building one of these, it will do as is. I would have to work through this stage to design a PC board anyway.

Interconnect Board

Interconnect Board

 

Made a drawing of the interconnect board so I could remember where things plug in.

Interconnect Board

Interconnect Board

 

Final mock up to test wiring. All this has to go into the blue electrical box. Found two LEDs functionally reversed. One of the cool things about the Arduino is the pins are software defined so that took maybe a minute to fix in software. The 5 volt regulator got too hot for comfort so in a last minute change, I moved the regulator chip over onto the aluminum sheet – even more wires!

Final test Before Assembly

Final test Before Assembly

 

Well it does all fit, though it’s a PITA to find a place for all those wires.  This shows the completed controller connected to the breadboard motor mount having just made a 128 step (1 inch) simulated slew, sixteen revolutions of the sensor wheel.  Those two microswitches will be limit switches on the jig, and I will use an inline fuse in the 12 volt feed, couldn’t find room inside.

Testing Controller on the Breadboard

Testing Controller on the
Breadboard

 

This shows the motor screwed to the end of the jig, two sprockets, and #25 chain. These parts came from All Electronics.

It sticks out more than I hoped.  Maybe need some kind of guard to keep fingers out of the chain.

Motor as Mounted

Motor as Mounted

 

I made a small L shaped plywood structure for mounting the controller on the box joint jig.  The mounting is tall enough to protect the sensor wheel assembly and the right limit switch.

Controller Mounted on Box Joint Jig

Controller Mounted on Box Joint Jig

 

Mounted the left hand limit switch horizontally. It is very exposed so I cut off most of the actuating lever and made a guard out of aluminum.

Left Limit Switch

Left Limit Switch

 

This photo shows the sensor wheel mounted on the lead screw shaft. The Hall Effect sensor is epoxied into the small wood block just right of the wheel.  It gave me grief, it didn’t work!  After a lot of experimenting, I determined the Hall sensor is only sensitive on one side. I had glued it into the block upside down.  Turned it over and success!  You can also see the right limit switch mounted vertically.

Sensor Wheel

Position Sensor Wheel

 

I set the controller to slew sixteen inches. Ran it up and back about ten times, it always came back to the exact same spot.  Takes more than a minute to go 16 inches.  I will look for different sprockets to speed it up. The motor has plenty of torque, I put most of my weight on the carriage and it didn’t slow down a bit. I’m using an XBox power pack to supply 12 volts, it’s easily up to the job, but wish I could figure out how to get it up to 15 volts.

A video of the controller installed on the jig and working is at www.youtube.com/watch?v=URk4qYnEWgI.

Sixteen Inch Setting

Sixteen Inch Setting

Arduino source code can be downloaded from Dropbox here.


Completed Box Joint Projects


 

A Roy Underhill Memorial Tool Tote.  About 30″ long, 9″ wide.  The yellow pine does not seem to take an oil finish well.

The box (finger) joints all cut on the automated lead screw jig.

Yellow Pine Tool Tote

Yellow Pine Tool Tote

 

Another smaller tool tote done on the automated jig. This example in Cherry.

Tool Tray in Cherry

Tool Tray in Cherry

 

These boxes made for my two Stanley 45 Combination Planes.

House for Homeless Stanleys

House for Homeless Stanleys

 

I made this to hold a small Variac transformer. Keeps my soldering iron at just the right temperature.

Variac Box

Variac Box

 

This Walnut, Butternut, and Oak box was made for my Brother-in-Law.

A Box for Johann

A Box for Johann

 

 

    • jayfehr
    • December 15th, 2014

    This is amazing. I had the same thought and was going to tackle it after the holidays. Now I have a resource to check out.

    I was also inspired by Mattaisis’ projects.

    • GRW
    • December 28th, 2014

    looking for source code

  1. Me too.

  1. No trackbacks yet.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.