-
Machined strip feeder holder
01/05/2020 at 23:59 • 0 commentsYesterday I gave machining an 8mm strip feeder with a dovetail cutter a try. Material is 10 mm thick polyethylene, which isn't very rigid and makes a lot of fuzzies (even after trying to sand them away), but is quite cheaper than acetal, so it's acceptable for the prototyping stage.
The dovetail angle is 45 degrees. The tape fit was quite tight, so I think I'm gonna change the angle to 60º and play with the dimensions a little bit more before I publish the tray design file.
-
Github repo
12/15/2019 at 00:17 • 0 commentsI'm happy to announce the Github repo is live. You can find the files for laser cut motor and linear carriage brackets, along with a complete set of parts for the vacuum head, icluding .stl files for items that must be 3D printed. https://github.com/ottoragam/SimplePnP
I'll also upload a BOM as soon as I can.
-
SimplePnP crowdfunding campaing begins
12/13/2019 at 18:58 • 0 commentsMy crowdfunding campaign for the pick and place machine is now live at Crowdsupply
https://www.crowdsupply.com/citrus-cnc/simplepnp
I'll be posting the source files to the repository on the next days, so keep an eye out for it if you're interested on that info.
-
Pick and place on Crowdsupply
10/22/2019 at 19:41 • 0 commentsI'm making SimplePnP available for purchase. You can now subscribe to the project on Crowdsupply to be notified when its crowdfunding campaign begins.
-
Using OpenPnP
09/04/2019 at 03:03 • 2 commentsOpenPnP is a Java based open source software program that can be used with this machine in order to program and run PCB assembly jobs. This log will cover the configuration of machine drivers, head and feeders. In depth information about configuring OpenPnP can be found at https://github.com/openpnp/openpnp/wiki
Machine Drivers
A machine driver contains all the info pertaining the communication between a motion controller (GRBL in this case) and a computer running OpenPnP. SimplePnP uses two separate motion controllers, one for the table and another one for the head, so we need to set up the table driver and the head sub driver.
Table Driver Setup
Setting
Message
COMMAND_CONFIRM_REGEX
OK
CONNECT_COMMAND
$X
G90
HOME_COMMAND
$H
G92 X0 Y0 Z0
MOVE_TO_COMMAND
G1 {Y:X%.4f} {Y:Y%.4f} {X:Z%.4f} F{FeedRate:%.0f}
G4 P0
PICK_COMMAND
M8
PLACE_COMMAND
M9
Head Sub Driver
Setting
Message
COMMAND_CONFIRM_REGEX
OK
CONNECT_COMMAND
$X
G90
HOME_COMMAND
G92 X0 Y0 Z0
MOVE_TO_COMMAND
G1 {Z:X%.4f} {Rotation:Z%.4f} F{FeedRate:%.0f}
G4 P0
The machine.xml sub driver section should look like this:
Head
The head machine component has the information regarding the nozzle carriage and bottom looking camera parameters and capabilities. OpenPnP allows the user to set the preferred head parking location and the soft travel limits.
Nozzle
To set up a nozzle for the SimplePnP machine, the user needs to do the following:
-
Set nozzle X offset
-
Activate “Limit Rotation to 180º”
-
Set pick and place dwell times to 350 ms
-
Create default nozzle tip and mark it as compatible with the nozzle
Camera
To set up a nozzle for the SimplePnP machine, the user needs to do the following:
-
Set top camera as down looking
-
Configure units per pixel depending on Z distance from surface
-
Calibrate test using built in routine
-
-
GRBL Motion Controllers
09/04/2019 at 01:45 • 1 commentThis machine uses a pair of Arduino based GRBL controllers with V1.1 firmware for both the Cartesian table and vacuum head. Only the controller parameters will be presented in this log. Instructions on how to program GRBL parameters are available on the web.
Parameters
Table
Head
Table
Head
$0=10
$0=10
$26=250
$26=250
$1=50
$1=255
$27=1.000
$27=1.000
$2=0
$2=0
$30=1000
$30=1000
$3=0
$3=1
$31=0
$31=0
$4=0
$4=0
$32=0
$32=0
$5=1
$5=1
$100=50.000
$100=50.000
$6=0
$6=0
$101=50.000
$101=50.000
$10=1
$10=1
$102=50.000
$102=4.444
$11=0.010
$11=0.010
$110=20000.000
$110=18000.000
$12=0.002
$12=0.002
$111=20000.000
$111=18000.000
$13=0
$13=0
$112=20000.000
$112=18000.000
$20=1
$20=0
$120=1000.000
$120=1000.000
$21=0
$21=0
$121=1000.000
$121=1000.000
$22=1
$22=1
$122=1000.000
$122=1000.000
$23=7
$23=0
$130=310.000
$130=23.000
$24=25.000
$24=25.000
$131=310.000
$131=23.000
$25=1000.000
$25=1000.000
$132=310.000
$132=360.000
-
Presenting the machine
08/24/2019 at 19:24 • 0 commentsI wanted to make a video to showcase the general operation of the SimplePnP. The machine is sorting a few scrabble letters using my new Samsung CP45 nozzle holder, without computer vision assistance. Here I'm using a dial vacuum gauge to make sure suction is achieved. Normally, a pressure transducer is used instead, to provide feedback on whether the component was picked correctly or not.
Let me also show you another video of the machine actually picking some 0603 resistors. If you wonder why it looks a bit sloppy, it's because, at the time of recording that video, I was turning the vacuum pump on and off by hand, and my placement Z height wasn't set up correctly.
I'm currently working on a more complete demo board, so keep tuned for a full video of the machine in action.