Making a Pick & place machine, part 1



When doing assembly of surface mount parts, a big part of the time is spent placing components. To help automating the process, it is possible to use a pick and place machine. However, a pick and place machine is a large investment for small companies such as us here at Akafugu (starting at tens of thousands of dollars).

We've always been interested in stepper motors and mechanics, so when we first heard word of the Shapeoko we got very excited. It is a stepper motor driven milling machine that includes all the neccesary electronics for around $600. We started thinking about how we might go about transforming it into a pick and place machine. There is already some interest in this on the Shapeoko forum, and we found a nice open source software project calledOpenpnp that can be used for control by sending G-code to the controller.

To transform the Shapeoko into a P&P, you'll need the following:

  • A vacuum pump
  • A solenoid activated valve (to control the vacuum on/off)
  • A pick&place head
  • A stepper motor (or similar) for the P&P head for rotation
  • A top-down facing camera for checking components and to use for alignment
  • An upward facing camera for looking at picked up components to aid rotation
  • Limiting switches (endpoints) so you have a known starting state for your machine

The vacuum pump and solenoid can be bought cheaply on ebay. In fact, the pump we bought was a modified aquarium pump (modified to suck air). This pump is quite difficult to use as a manual tool since the head is not angled and the vacuum is controlled by a simple hole in the pipe. It is however good enough for our P&P.

The stepper motors for the Shapeoko run on 24V, so we opted for a 24V solenoid as well. In hindsight, we might as well have gone with a 5V one since the one we ended up with is quite big and has a lot more power than we need.

Solenoid controller

The solenoid is connected to D12 on the Arduino board and controlled by G-code M3/M5 (spindle on/off)

For a test, we decided to pick and place 0402 size resistors. These are tiny, only 1.0 x 0.5 mm! (See the top picture in this post for a reference: The top line of the ruler is inches and the bottom line centimeters. The three small resitors are 0402's while the bigger one is a 1206, 3.2 x 1.6 mm).

The test was successful: We were able to pick up and move 0402 resistors reliably. Of course this doesn't prove that the finished machine will be able to place 0402 components at 100 % reliability, but it should at least mean that bigger components such as 0603, 0805 and 1206 ought to work well.

Here is the video:

To be continued!