Help - Search - Members - Calendar
Full Version: More on solder paste and pick place
Lumenlab > ROBOTICS: micRo and RoBlogs > micRo:
Rochey
Gents,

I posted this in another thread, but I think it got lost on the way...

So I've been scratching my head on potential projects for this one. (and getting more enthused by the minute).

- Solder paste
SRA Solder sells adaptors for standard solder paste syringes. (that replaces a plungerwith air). (http://store.sra-solder.com/section.php/31/1)
I'd like to make an alternative spindle that takes a syringe, and then have EMC2 control the air flow to push the solder paste through the nozzle.
Do you think that'd be possible?

- Pick & Place
Similar idea... if I can add a syringe with a controlled vacuum source, then I can "pick" and "drop" by controlling the air going into the nozzle.
Again - can I control the air flow (on/off) with EMC2? I think I can use a GCode command like "Flood On" or something to switch the valve (or whatever the term is for the air)

However, I also need to rotate the nozzle. That would be a fourth stepper motor, right?

I'm sorry, it seems that the questions I have are more about EMC2... but as you guys seem well versed in it, do you think what I have above is really achievable?

I have the ability to design basic circuits, and to get custom PCB's made. My issue is more on the software side.

By the way, if you can suggest an EMC2 forum to ask questions like this, I'd really appreciate it.
(e.g. can I record a solder mask manually using a joystick, then use the same file every time I want to make another board?)

Cheers

Rochey
Rochey
*bump*

*cough* unsure.gif
rturner
Hey Rochey-

Must've missed this post somehow...

EMC is highly configurable, and would allow you to design your own method of using a vacuum tool or a solder syringe... The easy hit-the-ground-running solution is to (as you mentioned) use an existing M-command to toggle a relay. For example, using M7 to turn the relay on (it's meant for turning on mist coolant, M8 is meant for flood coolant) and M9 to turn it off...

So a file would look something like this:

G1 F30 X0 Y0 Z-1 (MOVE TO COMPONENT)

M7 (TURN ON SUCTION)

G4 P1 (PAUSE FOR A SECOND FOR SUCTION)

(PICK UP COMPONENT AND MOVE TO POSITION)
G1 F30 Z0
G1 F30 X2 Y2

(PLACE COMPONENT)
G1 F10 Z-1
M9 (TURN OFF SUCTION)
G4 P1 (PAUSE TO RELEASE)
....


Of course, you could design your own M-code, or put the solder/vacuum under micro-controller control- and have it communicate with EMC via TTL. Hypothetically, this could be useful for a more complex arrangement... For example, EMC would drive the vacuum tool to your component, send a signal for the micro controller to turn it on, the micro controller would send a vacuum ready signal back to EMC, EMC would lift the component and send a position command to the micro controller, which would rotate the tool until it is in the correct alignment, and send a ready signal back to EMC, would would then place it..


Rochey
QUOTE (rturner @ Oct 6 2009, 09:09 PM) *
Of course, you could design your own M-code, or put the solder/vacuum under micro-controller control- and have it communicate with EMC via TTL. Hypothetically, this could be useful for a more complex arrangement... For example, EMC would drive the vacuum tool to your component, send a signal for the micro controller to turn it on, the micro controller would send a vacuum ready signal back to EMC, EMC would lift the component and send a position command to the micro controller, which would rotate the tool until it is in the correct alignment, and send a ready signal back to EMC, would would then place it..


Hello Robin,

just thought i'd thank you for the reply - i read it moments after your post, and went looking into the whole TTL thing (so I didn't thank you for your effort originally - sorry)

I'm tempted to go down the whole "personal M-Code + TTL" route. I'm fairly comfortable with a copy of Eagle, some components and putting together a PCB, but I don't know where to start with the M-Code, the TTL interface and making everything speak to each other.

I think I'd also need to learn some pearl script that could take the output of eagle (the XY file?) and convert/add code to move the nozzle back and forth.

In addition, I've been thinking about the SMD feeders. Most commercial one's add a stepper motor in each feeder to move the tape on part closer. That, again sounds like something I'd have to M-Code for.

eeek - lots and lots and lots of work.
rturner
I'm not going to lie... It does sound like a bit of work. EMC natively supports both C and Python for M-codes, but in the scenario I outlined, most of the positioning of parts (as well as feeding of reels) would be off-loaded to a micro-controller or two. Which is another can of worms. To do the task properly would require rudimentary MCU motion control and image processing (though I suppose other methods of alignment/positioning could be devised)- and would require a fairly beefy MCU (like one of the ARM9 MCUs)- the good news is that since it wouldn't require much coordinated motion- it could probably be pulled off by a single MCU (strangely the high-end micro-controllers are designed with networking and multimedia in mind, and have limited support for multi-axis coordinated motion control. But, if you're only running one stepper at a time, comparators and PWM generators could be shared between driver/stepper combos). The M-codes would function as the base-line communication between EMC and the MCU- that is, the MCU would position the parts and report back to EMC (via the activated M-code) that it is ready.. It could *almost* be done with already existing M-codes (M64 & M65 for output, and M66 for input)- but this seems pretty hackish considering that using serial communication is a small feat when you're already neck-deep in MCU coding.

My only advice is this: familiarize yourself with the EMC integrators manual as well as EMC's developer notes... and prepare yourself for the world of micro-controllers.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.