In this project, I will try to create 3D printed pick and place machine.
I was prototyping a lot and here is wrap up what I went through.
1) Research and CAD
I´m making this design parametric (where it make sense) so you do not have to change value on 10 different places through design file.
As I mentioned I´m inspired by Openplacer so I decide that I will use same diameter for linear rods and similar bearings for rods so I can use dimension in blueprints for start. You can find HW dimensions on their Downloads and manuals page. I put these in CAD (Fusion 360) and I changed them to be 3D printable a and added mounting holes and gaps for nuts (front and back pieces for Y axis) and I added belt holder for central piece on X axis. I decide to use same GT2 belt as Prusa company is using on their printers as it is largely available and it should not be problem to buy it anywhere. I bought linear rods here in Czechia as I do not want to wait till will arrive and also my friend told me that rods form China will be more like butter and if I want real steel, I should buy it locally so I recommend that to anyone.
Because you can not buy a lots of things locally, or at least not in hacker friendly price, you have to look what China offers. I will post links to things which I ordered so if anyone decide to build this, can use same parts, but for sure you can use your own or choose different one.
Here is list of items which you will need to order from overseas:
I will also try to make some Google spreadsheet with all components which need to be bought and I will post link in parts section of this project.
2) First test
Because I ordered rods, bearings, pulleys and belt locally I could make first steps with this design quite quickly. After that what I designed belt holders for Y axis, I printed all parts and make first assembly. This was done in day or two as it is very simple to build it.
I used my board based on ESP32 in Arduino Mega shaped PCB which is using RAMPS board for driving stepper motors. I will use this as development platform and after that I will design separate board to drive all components of the PnP machine. This will be covered is separate project.
3) Head assembly design
This is part which took me the most of the time in last month or so..
Because this has to be printable as well, I looked around the Internet and I found one project on Github for Juki nozzle holder. Because I was planning put this holder in to the 608 bearing, I modified it in Fusion 360 and tried to print it on Prusa i3 Mk3 printer. Result was not so bad, but even when I was able to stick it in to the bearing, the part was to fragile and quickly broke. I was thinking how can I make it stronger and I realized that my friend Jan Mrázek was offering me print on SLA printer. I asked him and he was very kind that he printed this piece for me. Result was much more stronger and very nice looking piece. It has smaller diameter, but for testing it was ok.
I designed holder for bearing and servo so it can be mounted to the head holder.
As I want this to be as affordable as possible, I wanted to design head with servo motor, which will spin nozzle in some direction to align it with spot where component should be placed. At first I planed to use normal servo, which you can rotate in 0 to 179°, but I was not sure if I will make it to work with control SW as this can rotate component in positive or negative direction. This task surely can not be achieved by servo which goes just in positive direction. I knew that you can modified one to just spin in one or other...Read more »
PnP machine is for someone who make PCB´s at home some sort of next step when you want scale your production. You can buy some from comrades in China, but you have to pay for shipping, taxes and it is not ready to use when you open the box (at least what I heard). This will drive some people, like me, to build one. Sure you can buy DIY kit like Liteplacer, but this will not be so much fun and I like projects where I can search Internet and connect different information's in one project and learn a lot in meantime
Why 3D printed one?
When you look around net, you will find a lot PnP´s from alu profies which are big, heavy and you can not really move them around you room. They will take your whole table, where you used to tinker, and it will be a lot of wire mess. When I was looking for inspiration I find Openplacer project and it´s campaign and i thought "That´s nice, simple machine. Could this work with 3D printed parts?".
If you think about it, it is not so different than 3D printer. It has X, Y, Z axis, you can drive it with some board for 3D printer and it differs in nozzle head, vacuum pump and SW which is using. I know it should be more rigid than 3D printer, but that depends on how fast you want to move your head around, which will surely negatively affect accuracy To be clear, I want t build machine which will be able to place 0805 or 0603 parts, anything smaller would be good but I think this is for hobbyist good enough.
What I want to archive?
- easy reproducible (like 3D printer)
- DIY as possible
- light for you wallet
- use standardize Yuki nozzles so we can easily automatically swap them
I know that this could be done mostly with parts from China, but I will try to log everything so anybody want to replicate this, will have life easier.
For those who are not familiar with pick and place machines, they are composed with these main parts:
- body or chassis
- vacuum pump
- top camera
- bottom camera
- electronics (driver board for motors and logic for cameras)
- some tray for components
I´m planning to use OpenPnP project to control this machine. I will install Raspberry Pi 4 (4GB) inside of the machine and I will connect it to the main control board via UART. I will use Raspberry Pi camera module V2 for bottom camera. Here is short video of OpenPnP running on this platform.
My machine is 500x398 mm and i can place PCB large as cca 25x25 cm on it, but it can be also smaller or it can be longer as far as cca 25x40 cm. Nozzle head can almost hide inside head assembly which is about 2 cm from PCB. This give us how tall can be parts which you need to place.