Hi All
I have a
SMT 550 pick and place machine, with 50 "Yamaha" feeders.
The supplied software works ok, but it is time intensive to load a project every time, and that's why I wanted to try and connect it to OpenPnP so it is easier to automate things like loading feeders and jobs.
I have reverse engineered the command protocol, and have created a wrapper for the cameras so both sets, the 4 up-looking Fast-Cams and the down camera on the internal DVR board, plus a USB3 vision camera via the MV Camera SDK show up as regular OpenPnP Cameras.
On the motion side, the new HwgcDriver talks the machine's native 7-byte binary protocol over the usb serial port. It drives the XY gantry, the 4 nozzles (with two shared Z motor pairs), the four rotation axes, per-nozzle vacuum and lights, all 50 feeders, and the board-handling side of things (in/out, clamp/unclamp, and track-width jog for loading different board sizes).
I am creating a PR at the moment (feature/hwgc-driver on my fork here
https://github.com/mcix/openpnp). I originally wrote a sprocket-hole detection pipeline but the "Yamaha" feeders on my machine sit right over the tape holes, so it wasn't actually useful, might revisit later for setups without that obstruction.
Here is a video of the machine placing parts (using OpenPnP ofcourse!)
Hope this will be useful for other people!
- Arnoud