14
\$\begingroup\$

I have zero experience with any serious mechanical design, but out of necessity and curiosity, I'm attempting to build a pick and place machine (for my hobby projects as well as low-volume PCB production) -- but a very basic version of it, customized to my own typical applications.

Specs: I'm trying to build the system with:

  • Cost < US $100 (excluding the vacuum pickup, microscope, etc.)
  • Board/panel area: Approx. one square foot (not important)
  • Speed of about 1 part picked and placed within 5 seconds (not important).
  • The "probe" (see figure below) is intended to be a vacuum pickup (as well as a miniature USB digital microscope attached)
  • Resolution/step-size of 0.3 mm or less (my smallest part footprints are 1206 resistors and 3 mm QFNs).
  • Accuracy and repeatability not too important since I have visual/magnified supervision of the process via the USB microscope.

My 1st draft of a very barebones structure, so far including 3 steppers, 3 rods threaded, a USB microscope, and a vacuum pickup:

Operation:

  • On my PC, for each part to be placed, I store (X, Y) coordinates for its corresponding tape reel as well as coordinates for target position on the PCB.
  • Y-axis motor/rod/pickup moves to tape reel and picks up part, then moves along Y-axis to target position's Y-coordinate on PCB.
  • X-axis motor/rod/PCB moves along X-axis so as to allow X-coordinate alignment too.
  • Z-axis motor/rod/part descends to PCB to place part, then rises.
  • Repeat until completion.
  • I supervise any mis-alignments or part misses, etc. via the digital microscope viewed on my PC monitor.
  • If any adjustments need to be made during any of this, I can just manually pause and adjust the position/action using the computer.

Here are my questions:

  1. Is the mechanical setup drawn above too simple to accomplish the movement? Based on my reading of some literature and watching some videos of pick and places, the systems look much more intricate in build form, and also only either the PCB or the vacuum pickup moves, not both -- whereas in mine, I have one moving along the X-axis and the other along Y-axis (so as to simplify the stage/build).

  2. What will be some key determinants you can think of that will make possible the resolution of 0.25 mm or better? I presume a good choice of stepper/motor (e.g., steps/revolution) is a start.

  3. I see there is one laughably major flaw: Rotation of any of the three rods will cause the PCB or the vacuum pickup, or the picked-up part, respectively, to be rotated along with the rod! Any simple modification to solve this?

\$\endgroup\$
  • 4
    \$\begingroup\$ USB digital microscopes seem to have painfully long latency. If you can fix that, or work up a scheme where you take a picture and make all the corrections in a single go, you might get something, but it would still be quite slow. Also, your budget seems unrealistic for a 4-axis motion system - you need a "wrist" joint too to rotate the parts. And you will need to learn about the issue of backlash in leadscrews. \$\endgroup\$ – Chris Stratton Oct 6 '12 at 16:28
  • 2
    \$\begingroup\$ Sorry, but I really don't like the board getting moved. That will either put forces on the board that might cause parts to slide, or will be quite slow. I think it is better to move the mechanism and keep the board fixed. This is what all pick and place machines that I have seen do. \$\endgroup\$ – Olin Lathrop Oct 6 '12 at 23:01
  • \$\begingroup\$ There will be a very large DIY community effort doing this. Some will be minimum cost approach. Starting with what others have done will save you a few years of basic initial experimenting. Go from there. \$\endgroup\$ – Russell McMahon Oct 7 '12 at 3:19
  • 2
    \$\begingroup\$ @OlinLathrop - Take a look at this video. A high speed commercial PnP machine that moves the PCB. \$\endgroup\$ – Rocketmagnet Oct 7 '12 at 13:37
10
\$\begingroup\$

Many home made pick and place machines are very similar to CNC milling machines, and this is where you should take your inspiration from.

Homemade CNC machine

The machine consists of three linear axes, each of which consists of:

  • some kind of linear bearing or rail to allow the axis to slide freely.
  • some kind of motor to actuate the movement.

These two parts will probably make up the bulk of the cost of your machine. Your budget is extremely tight; you're looking at less than $20 per axis! I'm tempted to say that this is impossible, but I hate naysayers, and I love a challenge.

As you've already pointed out, your design is flawed because there's nothing really to prevent rotation of the parts on the threaded rods. It's also missing the important rotary axis which is needed to rotate the parts to the correct orientation before placement. Some designs get around this by placing some of the parts, then asking the operator to rotate the PCB 90º, then placing more parts, etc. You might want to take this option.

Your real problem is the budget, and you're going to have to work very hard to either make many of the parts yourself (those that you can make) or find those parts cheaply somehow (perhaps from broken down machines). One place you look is in old printers. They contain quite nice linear rails which you can salvage, including a fast motor and encoder strip.

Motors: There are two types of motor you can choose from:

  • Servo Motors. You'll basically be making these up yourself. They consist of a DC motor, electronics to drive the motor, a sensor to measure the position of the motor, and a controller which calculates how much power to apply to the motor to get it to the correct position quickly and accurately.
  • Stepper Motors. This type of motor doesn't spin freely, rather it can be commanded to move one step at a time. You don't need a position sensor, but you do need to keep track of exactly how many steps you've made in each direction to know exactly where you are, and how far you need to go to get to your next position.

I would recommend the stepper motor approach. Most small CNC machines use these. You should also try to find a driver which supports some microstepping. Not only does this increase your resolution, but it also helps overcome resonance at certain speeds. If you want fast motion, then you'll need acceleration. If you're accelerating, then you'll likely hit the motor's resonant speed and miss steps.

Resolution: High resolution is not that difficult to achieve. For example, if you're using a stepper motor with 200 steps per revolution, driving an M8 threaded rod (which has a 1.25mm pitch) then you can expect each step to produce 1.25mm/200 = 0.00625mm of movement. However, that doesn't mean that your machine is accurate to 0.00625mm. Thread non-linearity, backlash, step drift, and other factors will conspire to increase your error.

Software: Writing the software for this kind of machine isn't that difficult, but it all takes time. Why not check out The Open PNP Project. Their software is already full of features.

OpenPNP screenshot

Complexity: Unfortunately, as with all robotics projects, you start off with grand goals of simplicity. You can often get simple things working quickly, but you eventually discover that you do need quite a lot of complexity to get things working well, reliably and for a long time. There is no particular problem having the PCB move on one axis, and the head move on another axis. One might think that the moving PCB will shake of the components, but this is unlikely to be a problem. The components are usually very light (unless you're placing large connectors or very large ICs) and they're stuck in a blob of solder paste. I often clumsily manhandle by PCBs into the reflow oven, and I've never seen a part slide out of place. However, if you have a lot of parts to place, then you're moving quite a large table around, and you'll need longer rails and a stiffer table.

Pick up: This is going to be another expensive part, unless you want to suck on a tube to pick up each part. Vacuum pumps can be surprisingly expensive (if your budget is only $100) and you'll also need a valve. You may also need to make a removable pick head so that you can pick parts of different sizes. Small parts need a small tube (obviously) but big parts need a larger tube because they're heavier, and need more surface area for the vacuum to operate over.

\$\endgroup\$
  • \$\begingroup\$ Very detailed, and gives me some hope -- I could probably stretch the budget for the mechanical parts to $200, and I'm certainly open to doing some of the things manually (e.g., rotating the PCB myself by 90 degrees). I'm researching each of the parts/aspects you mentioned, and will soon add my updated plan to my Question accordingly. \$\endgroup\$ – Thomas E Oct 7 '12 at 10:12
  • \$\begingroup\$ By the way, with the old-printer idea (this is now getting a little offtopic for EE), if I use a couple of them, I could get enough parts for pretty much the whole construction, couldn't I? Because each printer would contain the linear rails usable for one axis and likely decent stepper motors too (given that printers are obviously capable of achieving very good step-resolution). \$\endgroup\$ – Thomas E Oct 7 '12 at 10:18
  • \$\begingroup\$ Actually purpose-built pick and place machines bear little resemblence to CNC mills, as they are not designed to handle cutting forces. \$\endgroup\$ – Chris Stratton Oct 7 '12 at 12:44
  • \$\begingroup\$ @ChrisStratton - You are right. Sorry, I should have specified that I'm talking about home made machines. Many commercial PNP machines really look nothing like mills. \$\endgroup\$ – Rocketmagnet Oct 7 '12 at 13:35
  • \$\begingroup\$ @Rocketmagnet: Thanks for adding in some further comments. I have a question: In your schematic of a CNC milling machine, the gantry structure slides on two rails at the base level. Whereas in my picture above, I proposed that the PCB (1 sq. foot in size) be rested on (or somehow attached to the end of) just one "linear actuator" structure. Is there any disadvantage you see to my approach? \$\endgroup\$ – Thomas E Oct 7 '12 at 14:11
4
\$\begingroup\$

The first things that jumps out at me is your statement that you have essentially no mechanical design experience. Some things you can really only learn by doing. Build something!

YOur design will basically work, but I'm sure that with even a little experience you will think of improvements. So get some cheap leadscrews and nuts, couplers or timing belts and build a single stage that simply translates back and forth with the accuracy you need. Can probably even use hardware store threaded rod and nuts if you always push backlash out. In fact, there's one term you will certainly need to learn to deal with: backlash.

I'm serious: before you think too deeply into this, build something simple with drawer slides and threaded rod and a stepper motor. Cost will be less than $20 and you will learn tons.

I deal with code to move precision machinery around and it's amazing how many opportunities there are for things to go wrong.

\$\endgroup\$
  • \$\begingroup\$ Very good advice. \$\endgroup\$ – Rocketmagnet Oct 7 '12 at 9:00
  • \$\begingroup\$ @lyndon: I'll definitely be starting simple. (I just wanted to ascertain the overall picture first.) Is there some book, either project-based or theory-based, that covers these topics together? Like The Art of Electronics, but for movable systems! \$\endgroup\$ – Thomas E Oct 7 '12 at 10:21
  • 1
    \$\begingroup\$ There are a number of Mechatronics textbooks that approach machine design from a theoretical perspective (sorry, don't have a recommendation), but I don't know of anything that takes the AoE approach, which is a pity. Almost forgot, Slocum at MIT has a great series of lectures called FUNdaMentals of Design. I learned a lot from it. I don't know if this web.mit.edu/2.75/resources/FUNdaMENTALS.html is the right link, but look around there and you will eventually find the pdfs for download \$\endgroup\$ – lyndon Oct 7 '12 at 23:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.