Breaking News
Blog

Desktop Pick-&-Place Machine: An EETimes Community Project

NO RATINGS
1 saves
View Comments: Newest First | Oldest First | Threaded View
<<   <   Page 9 / 14   >   >>
Aeroengineer
User Rank
Blogger
Re: Motion solutions
Aeroengineer   6/22/2014 9:47:14 PM
NO RATINGS
With 10 bit total resolution (assuming 8 bit effective) on a .25" lead, this gives .001 placement tolerance measuring capability.  Though on a 24 pole 22 tooth motor, assuming only stopping on a pole, this would give about .01" placement/step.  This is not to say that it cannotbe improved by going to a lower lead, lead screw.

 

One thing that I need to look at with brushless servo motors, is how steps are performed, or if it can hold in intermediate placement between teeth.  These are some of the details that I would like to look into before writing it off.

 

As to the challenge of rolling our own, yes it may be more complex, but if one does not at least look at the idea, then you will not know if the pain is worth it, and then the product will be no better than any one else out there.

 

As a designer, I like to throw any marginally reasonable idea out there and then chase down why it will or will not work. 

 

salbayeng
User Rank
Rookie
Motion solutions
salbayeng   6/22/2014 9:30:00 PM
NO RATINGS
Trying to "roll your own" insta-spin motion solution might be turning a molehill into a mountain. I'd suggest using one of the hobbyist CNC-router 3axis motion drive packages that already included the insta-spin.  

Also noticed this in the instaspin technote re sensorless control:

"Position applications require a mechanical sensor in order to precisely identify the motor angle at zero and very low speeds. The FAST Software Encoder may provide redundancy in position control applications; this can be used as a safety feature in case the mechanical encoder fails. "

I've used magnetic encoders before, Austria Microsystems were the leader in this field about 5 years ago. You need SPI type as I2C too slow for motion control, the AS5040 is typical , 10 bits "absolute" ,  you can cascade multiple devices , so 48clocks = all 3 axes in 6bytes, (some encoders also do multiturn absolute, can save you a couple of lines of code)  . Just glue a magnet on the rear shaft (nudge it gently while slowly rotating to centre it). Austria also have ring magnet solutions too. One issue with the outrunners is the magnetic flux of the magnets might cause positioning errors. 

You can write your own trapezoidal move algorithms with 1kHz update rate on a 20MHz CPU that will give adequate positioning control. To get 9PWM's you will find PIC's may be a better option than ATMEGA's, and of course the TMS320 range have many PWM's.

When it come to encoders, you need about 4 to 16 times more resolution than your required accuracy. This is necessary to be able to accurately measure the speed right at the end of the move.

 

Aeroengineer
User Rank
Blogger
Re: Oversized I think
Aeroengineer   6/22/2014 8:22:45 PM
NO RATINGS
Thanks for the input AD.  I think that I am leaning towards a max build area of about 8"x 10" at the largest.  Perhaps even a little smaller.

 

What are people's thoughts about this size range? Still too big.   I need to go and look at what Seeed Studio is offering for their sizes.  That might give a good calibration for this.  What other popular services are people using that offer their services in certain standard board sizes?

antedeluvian
User Rank
Blogger
Oversized I think
antedeluvian   6/22/2014 3:27:06 PM
NO RATINGS
Adam

I think 11" x 17" is overkill. The widest board we make (if you are aiming this at in-house prototyping rather that hobbyist) is 100mm wide by about ~9". If you are aiming at the hobbyist, Indon't think you would need much bigger than a Arduino shield.

Aeroengineer
User Rank
Blogger
Re: Build Area Size?
Aeroengineer   6/22/2014 2:11:37 PM
NO RATINGS
I do have some familiarity of the hobby bldc motors, though the information that you post is great background for those that do not have that background.

 

The thing that I love about the hobby brushless motors is that there is such a large varity at very cheap prices.  The other fact is that their power output per volume is much higher than the steppers.  Though their downfall, as you mentioned is that they would need to be controlled in a closed loop fashion.  The great thing about this, though is that you can reduce the size of the motor as you are not as concerned with slipping at high torque if you have the right motor control solution that can handle that. 

 

The standard hobby controllers would be out of the question, but I have been speaking with TI about their Instaspin Motion control solution.  I am not saying that this is the direction to go, but it does provide an itneresting option that may be more ideal for this type of setup.

 

As to the actual motors that I would be looking at, I am actually thinking that outrunners are going to be the desired option if this was the path to go down.  They can be found in small sizes at lower kV (in the 1200-2500 range) and would not be that difficult to adapt for this type of operation. 

 

On the topic of encoders, I would like to go with perhaps a hall based, non contact encoder.  the biggest issue is going to be update rate, but there may be some solutions out there that could deal with this.  It is something that I really need to iinvestigate much more.  Standard contact encoders are rather large, but as you said, there is not a large need for high line count.  I am sure that there is a technical solution, but is it cost effective?  That will be the question.  This is something that I would like to have play out in a post as it will provide some valuable learning.  I think that this application will be right on the cusp of both solutions.  I think that there will be value found in both and that both could be made to work.  It will then turn to what is the cost of each solution, and do they make technical sense from an engineering perspective, not just a that is a cool thing perspective. 

Aeroengineer
User Rank
Blogger
Re: Desktop PnP--some inspiration
Aeroengineer   6/22/2014 1:55:53 PM
NO RATINGS
You are correct that my calculation was rather simplistic.  The calculation that I did was more than anything to bound the problem on the high end.  Removing all other aspects including acceleration (I recognize that this is a futile assumption), what would be the bound on the high end.  60 components per second with an average of 8 inches of travel would require a .25 inch lead, lead screw and a 9600kV motor at 12V.  All of these things are in the relm of possiblity.  Are they practical, no, and are there other factors that I need to look into, yes, just have not had time to do that yet.

 

I am going to take the information that you presented and put it into a spreadsheet so that we can play with accel rates and other fixed time variables to generate a more realistic bound for the speed of the machine. 

 

I also think that a 1g acceleration is a little low, without having given it any great thought, I do not see right away why up to a 10g acceleration cannot be achieved.  Some of the details that would have to be looked into would be power/torque capacity of the motor, structural concerns (though I do not think that this will be a major concern), vacuum capacity to hold the part (friction), and positional accuracy

salbayeng
User Rank
Rookie
Re: Build Area Size?
salbayeng   6/22/2014 5:30:18 AM
NO RATINGS
The postings have crossed in the ether!

I've half addressed the motor tradefoffs just now.

I've also looked at using the hobby BLDC motors for machine type applications, I've collected a few motors and a few ESC's  but got too busy to play with them.

Some notes re hobby BLDC motors:

(a) Most have the rotor on the OUTSIDE , known as an "outrunner", can be a bit awkward mechanically, so check which one you have.

(aa) Likewise most don't have two shafts so mounting an encoder on the back might be difficult.

(b) They spin very fast, denoted by the "k" number , so if k=3000rpm/volt , you get 30,000rpm for 10v. For our purposes a LOW k is desirable.  so Kv=500 is about 10,000 rpm at 20v , close to our requirements.  Note that the torque constant is the inverse of Kv, so halving the Kv , doubles the available torque per amp,  

(c) Some motors (designed for helicopters) have an integral gearboxes , so combined with a finer leadscrew, you could drive the motor in vector mode and get stepper type encoder-less positioning

(d) The motors are designed for sensorless operation,  making it difficult to generate much torque at near standstill.

(e) almost all BLDC's are 3 phase, so if you want to retrofit an encoder for commutation or vector control, it needs to have <some multiple of 3> lines per revolution (most are multiples of 4 or 25) 

 

Accuracy / resolution is another issue, consider you probably need 0.05mm to place a 0.65 pitch part, so with a 5mm pitch leadscrew you need to locate within 1/100 of a rotation, requiring perhaps a 100 line encoder = 400quad counts. 

A 200step stepper with a 5mm pitch leadscrew gets you 0.025 without microstepping. Same 200step motor with a 1/2" diam pulley gets you 0.18mm without microstepping, 4:1 microstepping is achievable so 0.05mm resolution is then possible.

Apart from the gear backlash , a 38mm standard "robotic" gearmotor, with 3:1 gearbox and 100 line encoder is in the right speed/resolution range with a 5mm leadscrew (but might fall apart from all the load cycling) 

 

 

salbayeng
User Rank
Rookie
Re: Desktop PnP--some inspiration
salbayeng   6/22/2014 4:41:45 AM
NO RATINGS
Mechanics:

The piezo motor sounds like an "inchworm" drive, are these available at sensible prices nowadays? (they used to be ~ $1000 each)

Ok 60 parts per MINUTE might be manageable for a low budget machine.

That's 7.5" there and back per second = 0.42mph , it's much better to do all the mechanics calculations in metric units (=200mm/sec avg), you will eventually come unstuck persisting with furlong-fortnights , to the order of 32 or worse.

Lets consider  1 cycle/sec, if we limit the ramp to 1g , then we have 250ms to accelerate, 250ms to decelerate,250ms to accelerate, 250ms to decelerate,  so the maximum distance traversed for the ramp of  250ms,1g = 300mm or 600mm = 2ft point to point. So you would be ramping ~ 10% of the total trip.

It takes time to pick up the part and place it. So a  full cycle might be 100ms build up suction. 80ms Zacc , 80ms Zdec,100ms X acc, 100ms X dec,  80ms Zacc , 80ms Zdec , 100ms to release vacuum,  then 80+80+100+100 +80+80 to get to next part.  = 1.24secs / cycle. These numbers give 48 cycles/sec. for 4" point to point move, the actual distance doesn't change the calcs much if you have a servo drive, (8" point to point is 1.44secs, 16" is 1.64secs)  

Acceleration is important too, and given you may not have the large variety of nozzles, and suction variability as commercial machines, you will need to limit the acceleration, particularly with larger parts. Stepper motors can be jerkier than DC servos too.

Stepper motor will need a coarse leadscrew to get any reasonable speed.

Rotation speed will be limited to ~ 1000rpm for metal nuts, to prevent galling.

A double start 5mm pitch leadscrew with acetal nuts would be something I might consider.

Backlash can be fixed by using two nuts with a spring between them (and anti-backlash positioning algorithm)

Torque vs speed is a tradeoff with motor type and leadscrew vs pulley. So to get 8inch per sec , you need 2440rpm with a 5mm leadscrew or 338rpm with a 1/2" diam pulley. 2440rpm with a stepper motor generally requires a very high voltage drive (e.g. a typical "5v 6A" stepper motor might need 100v to get 1200rpm). Unlike a servo motor, the available torque at full speed is severely reduced in a stepper motor, (typically you need to use half the rated speed and half the rated torque in your calcs) 

Be careful in your calculations from linear values into rotational (motor)  values , there is almost always a 2 x pi in there somewhere. 

Aeroengineer
User Rank
Blogger
Re: Build Area Size?
Aeroengineer   6/22/2014 1:00:35 AM
NO RATINGS
Yes agreed that there are some tradeoffs as you suggested between a gantry system and a moving bed/workpiece system.  I currently prefer the gantry system for mounting the head to for both solder paste and the vacuum head.  I am not stuck on it, but for the reasons that you mentioned, I think that trying to have a moving bed may end up being more complex and producing an inferior result, including solder bridges on find pitched parts. 

 

Now for the area which contains the unplaced parts.  Here I think that a moving bed concept of some sort is the way to go.  The reason for this is that it will both simplify the operation, while reducing the foot print of the device.  As you mentioned, there will have to be some general indexing to know where to go and hunt for the next component, but then again a regular feeder needs to know how far to index the tape as well, so I do not really view this as an added complication.

 

The other thing (I am not sure that I mentioned it yet) is that I am in contact with one of the guys at TI in their C2000 group that does motor control.  I am looking at what the trade would be to do servo motors vs stepper motors.  The one thing that this would open up is that hobby brushless motors could be used in conjunction with a standard type of encoder.  This also would play to the fact that this type of machine does not need hi holding force, more that it needs to traverse quickly from one point to another.  This is now starting to play into the strengths of a servo motor over a stepper motor.  This is not even close to being decided, but I do want to do some investigations into it as this might be a way to get some higher speed out of the device that might not normally be there for this type of a machine.

salbayeng
User Rank
Rookie
Re: Build Area Size?
salbayeng   6/22/2014 12:46:41 AM
NO RATINGS
Ok.

Let's make the distinction between "grid pickup" and "feeders"

(a) Feeder: always picks up at the same X, Y coordinate for any component

(b) Grid pickup: picks up at the "next" coordinate 

So you are considering grid pickup (this entails some extra software, as it has to maintain a database of "next" for every strip of components, and these may be on 2 or more plates)

The second piece of the puzzle is the axes arrangement, there are basically two approaches 

(a) keep the work area stationary and move the head around in X,Y,Z

(b) move the work area in X , and the head in Y (much like those large plan plotters where the paper goes in and out and the pen goes side to side.

There are some significant advantages to moving the carriage in only one direction, as it can get pretty bulky by the time you add a camera, pickup nozzle, alignment plates, glue dispenser. You can also combine the two, so the carriage can move say 12" in Y and only 4" in X, but the workpiece (PCB + parts) is on a X conveyer so could be quite long.

You can make good use of the Z dimension too (which I think it what you are suggesting, when I hand place with tweezers, I use a cantilevered parts tray that sits about 1/4" above the pcb, less likely to bump already placed parts.)

If you are moving the workpiece (the grid and/or PCB) you need to be mindful of the X accelerations ,  the smaller parts are OK, but electrolytics, inductors and SM connectors have low paste area to mass+height ratio, so may need to limit acceleration to 0.2g at the end when the big bits get placed.

When you are thinking about plates with grids of parts , (I will call this a "grid plate" from now on, ) ensure the grid plates have sufficient weight to limit the acceleration induced during normal handling, e.g. the plates should be 1/8" minimum thickness aluminium. Or if made from PCB stock, glue a 1/16" sheet of steel on the bottom. 

Even if using "grid pickup" you should add a vibro feeder, these are simple and will take all the SO-xx & Dpak parts in tubes.

<<   <   Page 9 / 14   >   >>
Most Recent Comments
Flash Poll
Radio
LATEST ARCHIVED BROADCAST
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.
Like Us on Facebook

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
EE Times on Twitter
EE Times Twitter Feed
Top Comments of the Week