OpenPnP 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
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Java? Is it slow?
Are you sure? yes | no
Not at all. Running on a 7 year old mid range PC.
Are you sure? yes | no