Archive of the former Yahoo!Groups mailing list: Homebrew PCBs

previous by date index next by date
previous in topic topic list next in topic

Subject: back to solder paste - cnc dispenser

From: "Dave Mucha" <dave_mucha@...>
Date: 2004-04-28

>
> I still have not worked out the cnc paste despensing stuff and i
suggest
> the discussion
> going back there,

As I had said in one of my posts, once a topic is started and is
getting responses, keep it on the list. (I'm going to have to see if
others will allow such a thing on other lists)


In Eagle, export your Gerber and NCDrill files.

open the NCDrill file and you will see pairs of numbers. Mostly
likely they are 6 digits and are the X and Y coordinates to your
holes. They are the drill hole coordinates.

Also, most likely, they are 2+4 in format, the first 2 are integer
and the remaining 4 are decimal.

here is a small snip of one of mine.

X009200Y004950
X010400Y002250
X009400Y002250
X008400Y002250
X007400Y002250
X006400Y002250
X005400Y002250
X004400Y002250
X003400Y002250
X003400Y007050
X004400Y007050
X005400Y007050


Cartesian coordinates in X and Y that exactly line up to the drill
holes.

OR... if you lay out pads, they could be to the pad.


You can pull this into Excel and add the G-code lines. the first line
for example.

N10 G00 X 00.9200 Y 00.4950

N10 is just the program line number.
G00 is the G-Code for a rapid move to a location
the X and Y coordinates are that location.

This would send your machine to that location.

I then use a jump command, M60 which is very similar to a goto in
basic.


N10 G00 X 00.9200 Y 00.4950
N15 M60 #600

#600 is line 600 in my program and where the drilling routine starts.

N600 Z -1
N610 Z 0
N620 M62

Line 600 sends the Z axis to a -1 inch. Assuming the spindle is
always running so that would be a drill hole.

Line 610 brings the Z back to home.

Line 620 sends the program back to the END of line N15 and the
program picks up from there to the next line.

For PASTE, we might alter this to


N600 Z -1
N601 A -.001
N610 Z 0
N620 M62


The addition of line 601 would control the A axis (assuming they go
XYZABC) to a -0.001 inches or mm or whatever.

That would deliver a drop of paste to the center of the pad.

IF the syringe acted like a cheap chaulk gun and kept dribbling, then
you might use

N600 Z -1
N601 A -.001
N602 A 0
N610 Z 0
N620 M62

Line 602 would retract the syringe back a little to remove any
pressure from the plunger.

Excel would be very easy to use to increment the A feed and A
retraction.

Also, one could write the code as


N600 Z -1 A -.001
N610 Z 0 A 0
N620 M62


This would typically feed BOTH the Z AND A axis so that they arrived
at the end point exactly at the same time. A bead would start to
form as it was approaching the pad and be (hopefully) fully formed by
the time it reached the pad.

there is no pause at the pad, just a reach and retract.

So, your main body would be like this

N10 X00.9200 Y00.4950
N20 M60 #100
N30 X01.0400Y00.2250
N40 M60 #100
N50 X00.9400Y00.2250
N60 M60 #100
N70 X00.8400Y00.2250
N80 M60 #100
N90 X00.7400Y00.2250
N100 M60 #100

The #100 would be the section earlier about Z movement.

The speed the unit approached the pad can be adjusted and the time on
the pad can also be added.

All that said, this is the way I do my drilling, so if you want try
that it is a start.

There are other ways, but all you need to do is to start on one path
and see how it works.

Dave