TinyG for pick-and-place machines: OpenPnP and LitePlacer
TinyG is often used for pick and place because it came with the LitePlacer kit. It works with OpenPnP, and its jerk-controlled motion gives the head a steadier hand at speed.
Replacing the controller in a LitePlacer
LitePlacer kits shipped with a Synthetos TinyG v8, so a new TinyG v8 is a
drop-in replacement: same board, same connectors. Flash the firmware you
run (see below), restore your settings and reconnect motors and limit
switches as before. Keep a copy of your current configuration if the old
board still responds: send $$ and save the output.
Using TinyG with OpenPnP
In 2021 the TinyG firmware gained the G-code commands OpenPnP expects from a motion controller (pull request #258):
M114: report the current positionM115: report firmware version and capabilitiesM201.3: set per-axis jerk limits on the flyM400: wait until all moves have finished
The OpenPnP project recommends the firmware builds and setup notes at
makr.zone,
which also offers a build that reads an analog vacuum sensor with
M105. See OpenPnP's
motion controller firmware guide
for driver settings.
An official TinyG firmware release that includes these commands is in progress. Until it is out, use the makr.zone builds and OpenPnP guidance above.
Why jerk control helps pick and place
Most controllers ramp speed at a constant acceleration, which hits the machine with a sudden change in force at the start and end of every move. TinyG limits jerk, so acceleration builds up and dies away smoothly. For a placement head that means less vibration and ringing when it stops over a pad, which the TinyG wiki describes as a "steadier hand" for rapid operations such as pick and place. More in Jerk-controlled motion explained.