Breaking News
Blog

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

NO RATINGS
1 saves
View Comments: Newest First | Oldest First | Threaded View
<<   <   Page 10 / 16   >   >>
salbayeng
User Rank
Rookie
Re: Acceleration and nozzles
salbayeng   6/23/2014 3:26:34 AM
NO RATINGS
Ok the counterweights are a clever touch,  and should work (marginal with stepper motors maybe), if the trajectories are mostly constant velocity, then lower accelerations have lesser effect on transit time. Also if the motor is selected for dynamic stiffness, it should have excess torque available, and if the acceleration is limited by stability issues, then adding a counterweight with damping (i.e.attached with sorbothane) will allow more acceleration, and less "ringing".

Have you considered using a stainless wire and drum drive? (instead of belts/leadscrews), it's a bit old fashioned, but you can move the Y motor off the gantry, and attach a counterweight on a dead leg. 

Wow impressive history of achievements, I was once lucky enough to visit Moog in Aurora, you can't really appreciate the power of the shuttle engine controls until you stand next to an actuator- Awesome.  I once built an aircraft simulator (payload) shaker for Lockheed Martin, impressive and scary at the same time!

Have you had a look at radio telescope drive systems?You would appreciate them, Monstrously slow and heavy, but insanely accurate, they use two huge motors and high reduction boxes, with torque control operating in a tug-of-war mode to reduce backlash to zero, some still have selsyn transducers.

Tough working on a laptop in a hotel room,  I try to carry a "lab in a suitcase", but I sure do miss the dual 24" monitors when I'm on the road!

 

 

 

salbayeng
User Rank
Rookie
Re: Motion solutions: motors- a mammoth post
salbayeng   6/23/2014 2:12:20 AM
NO RATINGS
re "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. "

All motors are, from an academic perspective, identical and can be represented in an equivalent d-q model (direct and quadrature). First consider a motor frame with two poles consisting of a north magnet and a south magnet, and the rotor is a steel bar with a coil of wire wrapped around it. Obviously when you put current in the coil , it will point either up or down (i.e. zero or 180degrees = direct) , and the available torque will be zero. When you rotate the coil to left or right (with current applied) the torque is maximum (i.e. 90 or 270degrees=quadrature) at this point the torque is proportional to current, the torque is sinusiodal with rotation.

If you rotate the rotor with power off it will detent twice per revolution. This effect is known as "saliency" or "cogging", it is deliberately enhanced with stepper motors due to the poles being tooth shaped, a good servo motor on the other hand has negligible cogging (using a skewed rotor or stator) , the average BLDC (not designed for servo work) will have some slight cogging. 

Each pole may have more than one slot to place wire in, so by rearranging the wire in the slots you can achieve a non-constant magnetic field across the pole face. This affects cogging, and also the back emf. Back-emf is caused by moving the coil through the magnetic field , so the waveform of the back emf  (imagine the motor is a generator) could be sinusoidal (synchronous AC, most servomotors) or trapezoidal (most BLDC, some servomotors, most brushed motors) . Like wise the torque vs angle curve can have differing wave shapes. A trapezoidal back-EMF suits simple motor drivers, where you only have to turn transistors on or off. Note that the difference between the back-EMF, and the voltage you apply to the motor creates torque, so if the waveform is wrong it creates torque ripple (A stepper motor has really high torque ripple)

The minimum requirement to cause a motor to turn is two coils at  right angles, so as to create a magnetic field alignment between 0 and 360degrees (it's just sine and cosine) you can do the same with 3 phases, 4 phases, 5 phases etc in the end all you have is a magnetic field strength and an angle.  So the term "FOC", field orientated control, merely means you are focussed on controlling the field direction (aka "vector") (and amplitude). 

Voltage vector control means you apply voltages to the windings, and hope the motor aligns with the rotor, a stepper motor is an obvious application of this, you apply 5v to any of 4 windings and it points there, the vector space for this motor only has 4 points per electrical rotation (but there are 200 electrical rotations per mechanical one) . More sophisticated VFD's change the voltage with frequency. The vector space for BLDC motors is 12 points per revolution. The vector space for sinusoidally wound motors is essentially infinite.

Most servo controllers use current mode control, they force a current in the winding to generate a restoring torque (to drive position error to zero), note that the phase angle of the current is 90deg for maximum torque (unlike zero degrees for  voltage control). Note that the power dissipated in the windings varies with load,  so you can "borrow" upto 10 times rated torque, and let the motor cool down later at constant speed (can't really do this with voltage control).

All of the above have effects on the positioning accuracy of a motion system, typically the positioning error is the sum of {saliency effects} and  {effective stiffness x (friction + static)force}.  
  • Stepper motor (with microstepping) high saliency means that applying 25% + 75% winding currents won't put you at 25% of the pole spacing , and the stiffness is highest on a pole and softer between.
  • BLDC motor (trapezoidal winding) with microstep, also won't be linear between poles , but better than a stepper
  • A servomotor with Voltage control , has no angle dependant accuracy, and the stiffness is constant (but softer than an equivalent stepper)
  • A servomotor (closed loop current control) has the highest stiffness and best accuracy.

So getting back to your original query, the "steps" are actually commands to the drive, and it works out what to do from there, for example the drive might be set up for 1024steps per mechanical revolution, so:
  • stepper motor this means each of the 200 poles is carved up to ~5 steps , but really only accurate to +/-2 steps. (slow , fairly accurate)
  • BLDC, 6 pole pairs , each of the 12staes withing each pole are carved up (interpolated) to ~14steps, maybe accurate to +/-5steps. (very fast, but sloppy)
  • Servo (closed loop) 4 pole pairs + 4096qc encoder , each of the 4 poles carved up to 256 points, accuracy +/- 0.5step (fast and accurate) 

So a BLDC does not have "teeth", but it does have "poles", while "steps" are commands to a drive. All (magnet) motor types will "hold" at intermediate positions, but the accuracy and stiffness while holding varies across types. Closed loop control dramatically improves holding accuracy and stiffness. Closed loop control can double available accelerations, but no effect on limiting speed.

 

 

Aeroengineer
User Rank
Blogger
Re: Desktop PnP--some inspiration
Aeroengineer   6/23/2014 12:55:47 AM
NO RATINGS
Just for reference, the all knowing wikipedia seems to indicate that older pnp chip shooting machines were doing around 15 components per second on a single head, and that current machines can do around 40, though it is ambiguous as to if that is with a single head, or with multiple heads. 

 

So 60 as a high bound was a good guess to get in the ballpark, and I think that the low end may be around 1 per second with a max reality no higher than 5 per second, and even that may be dicey once we get looking into it in more depth. 

Aeroengineer
User Rank
Blogger
Re: Acceleration and nozzles
Aeroengineer   6/23/2014 12:43:10 AM
NO RATINGS
Ah, and now you get to the heart of an idea that I am contemplating, but not sure the best way to make it work, and that is using counter weights.  It would slow the actuall acceleration of the machine, but also make it so the thing is not jumping like popcorn in a hot frying pan.

 

I will take a look at the links that you posted.

 

If you want to get an idea of the sorts of mechanical designs that I am capable of, you can go to my twitter page and look at the background pic.  That wind tunnel model had a span of almost 40feet and had two installed jet engines.  I designed all the wing structure, which included a blowing slot and flaps, the engine intakes, systems placement/attachment, thrust reverser, and even designed a rotary actuator for this thing as we had a flap that hung out into the exhaust and was on a 12" moment arm.  Nothing like designing an actuator that had to work in the heat with 4000lbs of thrust upon it and had to hold position to within .05 degree.  The final design used a hypocycloidal gearbox to a low speed ac motor.  It was capable of 9000 ft lbs of holding torque, and had an inline set of strain gauges to measure the torque.  The part had to be designedso that it could handle the expansion due to heat, which was on the magnitude of .25" from nominal room temperature.

 

So have confidence that right now, I am doing very, very high level calcs to understand how big the design space is, and I hope that this week I will be able to sit down and really spend some time putting things together in a much more refined and detailed fashion.  These will take into account someof the realities that I have currently been ignoring up till now, though you are good to point these facts out ;)

Aeroengineer
User Rank
Blogger
Re: Desktop PnP--some inspiration
Aeroengineer   6/23/2014 12:26:40 AM
NO RATINGS
Two things, I think that in many ways you and I are sayign the same things, but going about it in different ways, and second I think that you think that I am much further along than I really am.  The calcs that I am doing are just some quick back of the envelope bounding calcs to get me in the order of magnitude that I shoud start my searching, and are in nowise representative of a final work.  As was ilustrated with the motor comment, you can have a motor with 9600kV, but runing on essentially 3s is not really practical, this is why I said it is in the relm of possibility but not practical.  Though if I had come up with I needed to have something with 100,000kV and 100V, then I know that I am not even in close to being in a realistic bounding box. 

With that, I really did mean to say 60 per second, not per minute, though not because I am stating that this is the goal of the project, but I am trying to bound the problem on the high side of things.  I also understand that there are other limiting factors.  One of those things is as you mention the lead nut, but more than that, it is going to be the critical speed of the shaft.  Without having looked at it, I can imagine that this will be the biggest limiting factor of all. I am going to guess (do not take as a statement of fact) that for a 3/8" leadscrew with two rigidly supported ends that the critical speed is going to be between 10k-15k rpm

In reality, I expect that the actual max munber that could be achieved would be on the order of 1-5 components per second once things such as friction, inertia, and actions which must happen in series.

Another thing to take into account is that I am writing most of this from a hotel room on an 8 inch tablet, and doing some quick checking for components here and there, though not really doing anything exhaustive, yet.  Once I get home and have access to a monitor that is better suited towards setting up a nice spreadsheet, I will do so. As for the units that I amworking in, I use IPS generally because that is what my work requires.  I even use slugs for mass.  I know what an awful system, but becaues of my location, I have more access to a larger variety of parts that are inches than metric.

This is not to say that I do not appreciate the effort that you are putting in.

 

 

 

salbayeng
User Rank
Rookie
Acceleration and nozzles
salbayeng   6/23/2014 12:02:00 AM
NO RATINGS
I tried a bit of googling, but couldn't find any actual PnP accelerations.

I did do some experiments using my hand pickup pencil (with an aquarium pump for suction)

Using a 15g luer lock nozzle (approx 1.4mm ID), I could pick and hold SMC,DPAK,tqfn32 packages vertically so 1g is definately ok , and noted
  • SMC,DPAK would fall off quite easily if gently shaken (maybe 2g)
  • the tqfn32 took a bit more to dislodge(maybe 5g)
  • and 0805 and SOD323, SOD123 nearly impossible to dislodge
  • can't pick up a D2PAK, 
  • can't pick up a 0603 (they get partly swallowed)

 

(one could repeat with an accelerometer for accurate results),

This implies that 10g should be possible with the correct nozzle. Problem with homebrew machine is that you may not have enough "correct" nozzles, so will need slower acceleration and slower speeds for some bigger parts.

A second aspect of G forces is the reaction force,  so if the gantry weighs 1/10 of the rest of the machine , then the rest of the machine will be subject to 1g forces when the gantry moves at 10g, this can shake parts out of the feeders and or move the machine around the table top.

Thirdly if the c.g. of the gantry is a long way above the rails, then there will be a strong pendulum effect trying to bend the rails and de-stabilise the servo loop. 

---------some reading--- 

Here's an interesting read on PnP dynamics (some tables about halfway through) he basically says that acceleration doesn't have much effect on throughput (as most moves are velocity limited)

http://red.cs.nott.ac.uk/~gxk//papers/mxaPhdthesis/Chapter%208.pdf

maybe something here

http://www.cree.com/xlamp_app_notes/pick_place/

more reading:

http://mdc-smt.co.jp/pdf/eng/NXHANDBOOK.pdf

a comparison:

http://www.researchgate.net/publication/222695003_A_survey_of_surface_mount_device_placement_machine_optimisation_Machine_classification/file/e0b495231cd4d09291.pdf

salbayeng
User Rank
Rookie
Re: Desktop PnP--some inspiration
salbayeng   6/22/2014 11:34:59 PM
NO RATINGS
Ok,

It's the second time you have posted "60 components per second "  instead of 60 per minute. i.e. one part placed per second. 

You need to be careful of getting scale factors mixed up in calculations, especially in spreadsheets.

60       Converting from RPM to revs per sec , also needed with fpm and ipm linear measurements.

2 x pi   Converting from "natural units" i.e. R L C & angular phase/velocity/acceleration to "human units"  specially note that torque to linear calculations almost always have a 2pi somewhere. The constant may appear as 0.159  (e.g. a motor with a 1mH + 1Ω winding will rolloff at 160Hz)

57    degrees per radian , need this for cos(angle)

32 or  9.8   Converting from gravitational to inertial units, need this to get from oz-ins to real torque. Imperial units have g embedded in odd places. Be careful when expressing accelerations in g , when you really meant to express a ratio. e.g. a block slides down a ramp at 30° implies a friction force of 0.5g , that calculation works on earth but not on the moon.

I do layout my boards on an inch pitch, and use materials in inch thicknesses and foot lengths, BUT when it comes to any sort of mechanical calculations, I always use MKS units. So I would strongly advise you to use MKS units as the main column in your worksheet , and have columns to the side of that for other units. I shade human input cells in yellow and computed in blue ,  so e.g. distance(m) in blue = 25.4/1000* (inches in yellow). If your primary calculation column uses metres, Newtons, Kilograms, and secs and derivatives thereof then you automatically get the right answers for velocity, acceleration, watts and joules and volts and amps and heat flow and temperature rise as well. Note that the correct representation of the inertial mass of 1kg is 9.8N/m/s/s. 

You might want to double check your numbers, a 9600Kv motor on 12v spins at 115,200rpm !!! ,  (the linear speed inside the nut is 7200fpm, about 10 times the max rating of bronze of 750fpm)

 

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?

<<   <   Page 10 / 16   >   >>
Flash Poll
Radio
LATEST ARCHIVED BROADCAST
EE Times editor Junko Yoshida grills two executives --Rick Walker, senior product marketing manager for IoT and home automation for CSR, and Jim Reich, CTO and co-founder at Palatehome.
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