I'm an electronics engineer and programmer based in Kent. For the day job I design industrial computer hardware, firmware and software for the transport industry. I'm very interested in robotics and CNC. As much as I'd love to have my own machine shop with a CNC lathe and milling machine, I do not have the space. I'm currently working on a DIY SMT pick and place machine and have joined this forum for inspiration and advice on the various mechanical aspects of the project - Any machining will be outsourced whilst I will be performing electronic and software design and final assembly myself.
welcome matt have you any designs yet ??
In terms of mechanical design, I don't have anything drawn yet - Just lots of ideas floating around in my head. The basic spec. for the machine is as follows, although subject to change:
- 4-axis, cartesian, overhead gantry providing open access from all 4 sides to the machine's bed where the PCB will be held. Two opposing sides will be used for mounting component feeders.
- 500-600mm working envelope for X and Y axes. >25mm for Z axis.
- X & Y axes actuated with 1605 ballscrews and SY57STH76-3008B Nema 23 stepper motors with back mounted 1000 line encoders - Closed loop, hybrid stepper/BLDC microstepping algorithm.
- Z axis cam actuated with a stepper motor (TBD) - Open loop, microstepping.
- C axis actuated with SY28STH32-0674B Nema 11 stepper motor - Open loop, microstepping.
- Magnetic automatic nozzle holder/changer.
- Vacuum provided by Nitto DP 0110 air pump.
- Component alignment to be performed optically with upward facing USB or ethernet (TBD) camera.
- Fiducial based board alignment to be performed optically with downward facing USB or ethernet (TBD) camera mounted on end effector.
- 150W Linear PSU, BS EN954-1 Category 2 emergency stop circuit.
- ARM Cortex-M3 based open and closed-loop motor drivers.
- ARM Cortex-M4 based motion controller with USB or ethernet interface (TBD) to host PC.
- Linux-based host software, initially command-line/XML based with a GUI to be developed later, probably using QT.
- 8, 16 and 24mm tape dispensers.
- Vibrating tube dispensers.
What sort of feedrates and resolution do you require? Pick and place machines are generally quite fast so you may want to consider using 1610 as that will get greater acceleration and speed without using a timing belt drive, or even with. Gives more options...depends what you are aiming for.
I'd like to hear more about how your method for driving the stepper motors closed loop?
I may change to 1610 ballscrews - I'll have to see what sort of torque and rotational speed the X/Y axis stepper motors can deliver once in their closed-loop configuration. If the motors are fast enough, I'll stick with 1605 ballscrews to provide a higher resolution. It has to be said though, this machine is being built for prototyping and small production runs, so breakneck speed is not a priority. There is no point in the machine doing high-speed large production runs as the economics say it is cheaper to farm such jobs out to a CEM.
I'm looking to achieve a resolution of 0.05mm as I believe this will be adequate enough to place 0.5mm pitch QFN and QFP packages and 0.8mm pitch BGA packages.
The idea with the closed-loop control of the X/Y stepper motors is to essentially treat them, in combination with their encoders, as BLDC servos which will increase their maximum operational speed and torque. Of course, stepper motors are not BLDC servo motors and it takes some trickery to make them behave as if they are. Good quality BLDC motors are specifically designed not to cog so that the resolution of a positioning system using them is pretty much determined only by the feedback transducer. Stepper motors, on the other hand, are specifically designed so that they do cog to the extent that no feedback transducer is required at all.
The drive system I'm planning to implement has essentially two modes although the transition between these modes is smooth, not instantaneous. When the torque or speed demand is zero or low then the motor will be multi-stepped in the conventional manner albeit at a peak current much lower than the motor's rating. The aim is for this low current multi-stepping mode to overcome the motor's cogging. During periods of high torque or speed demand, the motor will be driven in a similar way to a BLDC servo, commutated by the encoder and with speed/torque varied by the amplitude of the current waveforms fed through the motor's windings (BLDC servo speed is controlled by varying the amplitude of the voltage waveforms applied across the motor's windings, but with stepper motors it's more appropriate to talk about current).
As well as being used for commutation, the encoder will provide positional feedback into a PID loop to determine torque demand. Controlling the smooth transition between the two drive methods is probably the most complicated part of the implementation and is something I still haven't fully figured out yet.
Have you looked into buying some second hand Yaskawa servos. They can be had for around the same price of a new stepper set up and are closed loop control.
Look for the ones with a "P" in the serial number for pulse positioning ( what most of us use with Mach3 or EMC) and an "A" for 200 volt. "B" in the serial number would be 100 volt and "S" would be speed controlled which (I think) Mach3 can't do.
If you had a servo motor SGMPH-01A1E4C then the P in it means it is for positional use, the 01 means it is 100 watts, the A means its 200 volts and the rest can be found in the manuals which denotes whether its a special, the shaft size, or some other manufacturer attachment.
The only thing you need to do is to match the drive with the motor or they won't work. There are a plethora of them on ebay and 1 set up shouldn't set you back more than $130-$150 for a good motor and drive. I have picked up 400 watt set ups for $80. You just need to look around and with your background the programming of the drives would be a cinch to get them set up to do work.
The motors do 3000 revs tops so you have a great latitude to work with.
Thanks for the suggestion Richard. My only worry is that I might want to build another one of these machines at some point and if I use second-hand parts may not be able to reproduce the original machine without modifications. I'll see what I can find. Cheers.
It's just a thought Matt. I have been looking at and buying these Yaskawa drives and motors for a while, probably 2 years now, and there are always plenty to choose from and in a few years time when the latest generation ones come up for resale you will get servo's with 1 million counts per rev for the same price and same frame size and maybe a little bit more powerful.
You can download all the manuals from Yaskawa still and they are pretty comprehensive as you would expect.