I'm in middle of making a Pick and Place machine to produce a decent amount of PCBs.
My problem is that I'm not quite into electric motors.
So I would like a motor thet I can precisely control and is pretty fast and strong. It's not a problem for me to design custom driver circuit but first I'd like to choose the motor.
A friend will make the plans for the construction but first I have to figure out what kind of motors sould I use for such a machine. Most of what I've seen uses stepper motors. But there are open loop and closed loop ones and I can not find any instructions on what to use.
So my questions are:
What kind of motor should I use to move the head around pretty fast?
How "Hybrid Stepper Motor" controllers work? Is there any magic to them or are they just motor drivers with encoder feedback? Any good ICs for this kind of application?
Do you have any suggestions for such a machine? Any experiences?
What kind of motors do they use in industrial PnP machines?
My budget is let's say fairly large but I don't want too expensive parts but it would run like 12-16 hours a day so quality and durability is an important point.
My glasssphere says take this one! not, the one on the right! not, not that! the pink one! that with the label 1kp on it! no, the one with the steam engine! That 's exactly the one that you should take with the given detailed information.
I have modified my post but I think some questions are just good as they are. I'm just trying to get an idea of what kind of motors are used in this kind of industrial machines.
If this going to be a seriouse machine, then you will have to give some numbers, like how fast should it go, what's the speed you want it to go, what's the workload, is it a tripod design or cartesion ... Yes, there are open loop and closed loop steppers and servos out there, but what you want to do is a bit more complicated. E.g. you need a pick-up-device (there are a lot of options), a decent motor controller and stepper drivers (nop, it wont be your grbl cnc shield) etc.
To sum it up: If you have never done it before, then it's cheaper to buy or get some payed assistance than trying to find out how it works by yourself. In the end a production capable PnP-machine (that's one you do not need to take down for service every hour of production run) will cost you slightly more than 2000 on the hardware side.
As far as I know pick and place machines use stepper motors or more expensive industrial servos (nothing like a hobby servo).
If you choose a stepper motor with sufficient torque it should not miss any steps and should not need any position feedback other than a limit switch to identify the HOME or ZERO position when the Arduino starts (think of 3D printers).
The pick-and-place machines I have now, and have owned, all have 4 axes that must be controlled. X, Y, Z, and Theta, which is rotation of the component to match where and how it must be placed. So, determine the torque needed to make these motions on your machine and the speed needed and the holding torque to hold those positions.
Then you need to have someway of measuring the force for the -Z direction, so you don't push the component through the circuit board.
A final calculation must be done to determine the amount of error you can allow in the placement and somehow know if you have exceeded that value.
Good luck.
Paul
Oh, by the way, my current machines run Real-time LENIX.
I have an idea for the Z direction force sensing. It's a simple special switch and a few springs.
For theta I'll have another trick but it's not a problem.
I'm experimenting with a camera and picture analysis. The brain will be an industrial computer running linux (probably ubuntu) and a custom control software as the other member of the project is a GUI programmer.
Sure! ... well, not out of the box. To be precise, if you write your own g-code writing program to do this it's work as you wish ... But that's part of the fun
If the design is general enough you can alway upgrade the steppers and drivers to servomotors in the future,
either using a step based controller or with LinuxCNC it has plugins for many kinds of hardware including industrial servomotor controllers. For P&P of lightweight components a servomotor will be faster, quieter.
The mechanicals will be important too for good performance.
So I would like a motor thet I can precisely control and is pretty fast and strong
You need to replace "precisely", "fast" and "strong" with numbers and units, currently this could mean anything!
Note that doubling the speed takes four times the power for anything that is acceleration/inertia-limited, so the numbers are really important to tie down to get basic information on feasibility.
Ok, that's easy. So I convert the file into G-coed.
But then I have to write my code on the MCU to accept the output of the software, process it and then send the apropriate data to the motor controller IC via SPI, right?
My chosen IC only needs a config once and then a position data every time I want to move
Just use an existing CNC adapter card which has LinuxCNC support maybe? In the old days the parallel printer port bits were commonly used to directly send step pulses.
No, that's the point of using a Linuxcnc. Controlloop is on the PC, everything is done on the PC (let' ignore servos for now) So you write your gcode to a file, tell linuxcnc to load it and run it:
My original plan was like:
0. Import PnP file into program
Set the dispenser numbers for the compontents.
Send the movement data to the controller over usb
Check movement and components with camera
Then repeat 2 and 3 until the code ends
My plan is to make a 2 or 4 axis driver board and improve my programming skills since my summer is essentially free.
The idea was like to integrate 4 SPI based motor controller chip and a suitable MCU on the board like the one on the MEGA or even make it more extreme with an ESP32.
As already said: use linucnc, as the problems you will encounter have already been solved, which will leave you time to solve the problems that are specific for your project (which are numbers)