XY Plotter Pick and Place Modification


#1

Hello,

I would like to modify my XY plotter to become a “pick and place” machine.
First I will replace the pen with a small vacuum gripper, with all the necessary infrastructure to facilitate that. Then instead of Pen up/down it will hopefully be Vacuum grip/release. Any thoughts or opinions, foreseeable problems with this?

Then I would like to be able to tell my plotter where the objects are. I will create a grid structure for the small objects I will be gripping. This will sometimes change, for example, one run might be 10x10 rows and columns, one run might be 5x10. Each object will be gripped and placed on a fixed measurement point within the workspace, then returned to its original location.

My question is, where do I begin with this? I am a Mechanical Engineering student, so my programming skills are fairly basic Arduino, Matlab, VBA etc, but I am willing/hoping to learn more for this project.

What I understand happens with the plotter currently is that the xybot.ino Arduino firmware is loaded on the board. The mDraw software converts an svg file into a series of GCode/MCode commands, which instruct the stepper motors and pen servo what to do, via the Arduino firmware.

So what I would need is to write some sort of program of that lets the user define where the objects are, converts this into a series of GCode/MCode commands that instructs the stepper motors to move to each object, grip, moves to the measurement point, releases, grip again once the measurement is taken, move back to the objects location, release, move to the next object and loop until completion.

Can anybody point me in the right direction? I’m not really sure where to start! I’m aware that this will be a fairly substantial task but I’m up for the challenge!

Thanks in advance,
Iain


#2

Hi Iain, I can’t offer a progam that would operate your task, but I have interest in a very similar application for my XY Plotter which would apply the same software. I am using my XY plotter to leave a trial of fine powdered glass in a defined XY design> I set up the equations for my design in EXCEL, export the XY co-ordinates to create the .svg file and then run it on the plotter. Instead of the pen I have a hopper/nozzle arrangement that vibrates at high freqency (thanks to a BRAUN Oral B vibrating toothbrush that I cannibalised). As it vibrates, a feed-flow of fine powdered glass flows (almost like a liquid) throgh the small nozzle onto a base sheet of glass…then I fire the powder design onto the base glass sheet in a glass kiln (as a separate job 800C!) . So the reason I’m interested in your application is that, at the moment, I have to switch the vibrator on manually and so can only get continuous glass flow - which is fine for the moment, but I would like to have the XY plotter software control the on/off switching of the vibrator…therefore controlling the stopping and starting the flow of glass - in fact it would be just the pen-up pen-down control, or in your case vacuum on/ vacuum off. The long and short of it is that, as you say, if anyone can program or configure such a system I’d be very keen to apply it too. I am not an Arduino expert or even novice… I have a few clues on control software but i would be a waste of time for me to try to get up to speed with Arduino when there are many experts out there. If someone did it, they could own and have credit of the software development IP as far as I am concerned…I really don’t know how all that stuff works in this world…I’m interested in developing the end application.
Jeff Turner


#3

Hi Jeff,
That sounds like a really interesting project. I would love to hear more about setting up a design in Excel then exporting it to create an svg file. How do you go about doing this?

So far, I have been able to map one of the spare MePorts on the Orion (port 4) to give a 5V High/Low output when the board receives the corresponding MCode command.This output then switches a relay that is connected to a 24V vacuum generator, which will soon be connected to a gripper. I imagine you should be able to do something similar with your vibrating mechanism. All you need is a simple relay and to modify a few lines of code in the xybot.ino to achieve this. I can upload mine later if you like.

Iain


#4