Close

Using OpenPnP

A project log for SimplePnP

Very low cost Pick and Place machine

ottoragamottoragam 09/04/2019 at 03:032 Comments

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:

Camera

To set up a nozzle for the SimplePnP machine, the user needs to do the following:

Discussions

James Newton wrote 09/11/2019 at 03:40 point

Java? Is it slow?

  Are you sure? yes | no

ottoragam wrote 09/11/2019 at 04:08 point

Not at all. Running on a 7 year old mid range PC.

  Are you sure? yes | no