Liteplacer PnP Machine Notes
We bought a liteplacer kit from http://www.liteplacer.com/
Here are some observations and minor improvements we cam up with here and there:
1 Eagle Component Export ULPs
To export component locations/orientation, etc from Eagle to liteplacer we modified the existing ULP a bit to also support the bottom PCB components: File:Liteplacer eagle ulp.zip
2 Liteplacer Control/Electronics Enclosure
We selected a MiniITX desktop PC enclosure to contain the liteplacers control electronics (TinyG and Meanwell 24V DC power supply): http://www.lc-power.com/en/product/gehaeuse/mini-itx/lc-1400mi/ We removed all the innards (power supply, cables, 3.5" disk cage) from the pc enclosure. To attach the Tinyg PCB to the enclosure we designed a custom part and CNC milled it from a sheet of epoxy paper laminate we still had lying around: https://cad.onshape.com/documents/9df1eefffb6ba602cab7476d/w/11e83d0542bfd37a98dc8e84/e/6e4a5ea849f3278b360d4aee
With 4x M4 hex spacers and screws we attached the TinyG to the plate and standard screws (same ones used to attach MiniITX mainboards) to the enclosure. The many holes spread around the board outline are meant for cable ties as it was unclear first where the cables from the motors, sensors, and lights would be mechanically attached exactly.
3 Bottom Vision Settings
Liteplacer originally used thin needles to pick up parts which bend quite easily. The software is designed to measure this bend offset and automatically correct it. The liteplacer kit switched to using Samsung nozzles this summer which almost completely solves the offset issue. The software is still able to calibrate the nozzle tip offset for even more accurate placements though (fractions of a millimeter) but the documentation is a bit sparse. So we help change that :)
The first issue to solve is the cameras autobrightness behaviour is always too bright: the nozzle is black, the nozzle shade is black, the camera turns up brightness too far.
We solved this issue by placing white sticky labels onto the table covering the bottom vision cameras view partly (of course you leave the center area free for the nozzle). The white area in the cameras view gets it to tune down brightness so it can actually see the nozzle properly:
Vision parameters for the smallest nozzle with 0.225mm hole radius:
4 Grounding the machine
The official liteplacer assembly guide does not go into much detail when it comes to ESD and grounding the liteplacer machine parts: http://www.liteplacer.com/select-a-table/ There are sliding parts moving on rubber wheels so ESD needs to be dealt with.
We came up with a way of connecting together and grounding all metal parts of the liteplacer with 4mm cable eyelets.
When selecting which screws to use the eyelets with consider that aluminum is only conductive if the screw cuts directly into the metal. First we considered drilling additional holes and cutting threads but ended up finding existing screws in all required locations. Please note that you normally choose green/yellow cables for grounding but our favorite hardware store had only brown ones at the time of purchasing these.
5 OpenPnP Setup
As the liteplacer can currently not utilize the bottom vision camera for measuring component offset the general suggestion seems to be using OpenPnP with the liteplacer.
Instructions collected from various places (like http://liteplacer.com/phpBB/viewtopic.php?f=13&t=308):
- physically swapping zmin and zmax limit switch wires on the tinyg is still required to use openpnp
Startup: Use the GCode Driver, not the TinyG driver.
All machine relevant settings (and drivers configurations) for OpenPnP are stored in machine.xml in this location: https://github.com/openpnp/openpnp/wiki/FAQ#user-content-where-are-configuration-and-log-files-located.
This File:Machine.zip is meant to be tailored to the Liteplacer.
- nozzle-camera offset (https://github.com/openpnp/openpnp/wiki/Setup-and-Calibration%3A-Nozzle-Setup#user-content-head-offsets) should be in the range of X:-77.6mm Y:-31.8mm
- top camera units per pixel should be in the range of 0.082
5.1 Visual Homing
Has anybody done it with the liteplacer? The openpnp documentation says its possible: https://github.com/openpnp/openpnp/wiki/GcodeDriver#user-content-visual-homing