I have wanted a pick and place machine for a while now - for fun more than anything.
Until recently I thought my best option was a Chinese tabletop machine, like the TM220A or something similar but with visioning, but they fetch anything from £2000-5000 before import duty + vat and delivery!
A YouTuber that I follow called mikeselectricstuff, posted some videos where he shows one of the smallest pick and place machines around - the Versatronics RV range (the RV4s and RV1s).
The machine is 15 years old, but still running Windows 95 with 32mb of ram. Mikes overview video gives a good summary.
It's a big machine, it came untested and had been unused for many years, but I managed to get it back up and running pretty quickly.
The RV software is intuitive and easy to use, but Windows 95 has no USB flash drive support, so getting data on/off of the system is difficult (I had to use another PC with an IDE to USB adapter).
The machine seems very solid, the arm is over-engineered for simple pick and place work.
It is definitely usable as-is, but I think it would be much nicer to use with a modern os, and the ability to add features to the software.
I want to convert the machine into something that works with OpenPNP. The project seems perfect, they only recently integrated upward facing camera support, which the RV can make use of!
The control box has most of the electronics inside of it, including the power supply and stepper drivers.
The power comes through straight from 240V AC, to two toroidal transformers wired in parallel, outputs 25v AC, which is then rectified and smoothed to produce ~ 36v. The first toroid powers the Z and X axis, and the other powers the Y and C axis as well as a linear regulator producing 12v to power the vacuum pump, and then a 12-5V DC-DC converter (for powering the arm electronics - or maybe the feeders, or both?)
The control box has 4 PMM-MD-53030-10 Drivers, which take two pulsed inputs, STEP and DIR.
The board speaks to the computer using RS232, with a very simple protocol:
|0x01-0x09||None||The state of a limit switch|
|0x27||Turn on Vacuum pump||None|
|0x28||Turn off Vacuum pump||None|
|0x29||Turn on Vacuum valve||None|
|0x30||Turn off Vacuum valve||None|
Proposed new architecture
I want to ditch the PC (and the RV software), the image processing card, the ISA motor timing card, and replace them all with a USB compatible Arduino and a Macbook with OpenPNP.
I have ordered both an Arduino Mega (16mhz ATmega2560 5V) and an Arduino Duo (ARM SAM3X8E 84mhz 3.3V).
The ARM based Arduino may be necessary as 16mhz may not provide enough speed for well-timed steps.
Cartesian to SCALA
It makes sense to me, although this short paper from 1996 - that I found after doing my calculations, has come up with a much more complex solution:
Coordinate Transformations for a Two Axis SCARA Robot
I've implemented my solution in the GitHub repo, which will contain the firmware for this project.
ArduinoPNP on GitHub Please note that I have not yet tested this!
The existing CNC stepper motion controller libraries for Arduino are overkill (I'm talking about Grbl), so I am not sure if I will use another library like AccelStepper for the stepper motor control, or just write my own solution, as I have done before my basic Stepper Driver wrapper
I think writing my own will enable much better control over the acceleration and motor timing specifics.
The RV1s cameras look like they output simple composite video, so I want to reuse this with OpenPNP so I ordered two of these:
Driverless Composite Video to USB adapters
Work in progress
so this is just an initial post, but I will post again when I get around to making any more progress!
There is a lot more that I've considered, but I haven't written about yet, including:
- Acceleration calculations
- Feeder support
- OpenPNP driver (nozzle changing etc)
- Machine calibration
I'm also interested in putting all the electronics directly into the arm unit itself, making it into a "tabletop machine" - although that is a separate ambition from the modernisation.
I've started a thread on the Versatronics forum, if enough people are interested, I can build this out to be more robust. As far as I can tell, it will be possible to update an RV1s (or RV4s) without any actual hardware modifications - it will just involve plugging in a new box (containing an Arduino and maybe a few logic level shifters) instead of the computer!