Hybrid View
-
27-12-2011 #1
Bit of a result here.
I started wading through the threacle that is Eagle user ulps....and found one written in 2001, with the obtuse name of dose-pro.ulp!
Anyway, when I run it within eagle on my pcb layout, it creates two files
1. A list of SMD pad surface areas and the pretend tool that it has married for that size of pad...
Tool Pad-X Pad-Y Square mm^2
T01 X000055 Y000120 | 000.66
T02 X000060 Y000060 | 000.36
T03 X000060 Y000220 | 001.32
T04 X000079 Y000089 | 000.70
T05 X000100 Y000140 | 001.40
T06 X000114 Y000185 | 002.12
T07 X000120 Y000120 | 001.44
T08 X000140 Y000140 | 001.96
T09 X000160 Y000160 | 002.56
T10 X000160 Y000180 | 002.88
T11 X000160 Y000180 | 002.88
and just as importantly...
2. a file containing all the SMD pad coords and auto-grouped by tool size, for example....
T01
X000790Y-00460
X000790Y-00270
X001050Y-00460
X001050Y-00365
X001050Y-00270
T02
X-00146Y000683
T03
X-00262Y-00238
X-00262Y-00111
X-00262Y000016
X-00262Y000143
X-00262Y000270
X-00262Y000397
X-00262Y000524
X000258Y-00238
This latter file actually opens up just fine as a drill NC file in USB CNC (so I now have all the points the solder dispenser needs to go to)....so all I need now is for the USB CNC software to raise a output pin signal of somekind at say Z +.0.2mm (start the dispense), then dwell (pause) depending on tool number, then release the pin signal (stop the dispense).....and then I'm done!
-
27-12-2011 #2
Brilliant ... that thing you've found is in C, so we can edit it to output exactly what you want!
It's here:
http://dale.chatham.org/Interests/El...p/dose-pro.ulp
It looks like you've outputted the pad co-ordinates not in mm, however there's a selection thing at the beginning of the code so that shouldn't be a problem. I think you'll want the format something like this, but with the right units:
T01
G0 Z5
G0 X000790Y-00460
G0 Z0.2
M8
Px
M9
(so instead of the program outputting just X000790Y-00460, it outputs that with all the above appended)
...for each line. Where M8 macro (looking at mach3, use whatever it is for diycnc) is the coolant pin which you can connect to the dispenser, M9 switches it off. Px, x is the time for the delay using the pad area from the other file multiplied by some constant which you need to work out to get the right time.
I think that should do it?Last edited by Jonathan; 27-12-2011 at 05:47 PM. Reason: grammar
-
27-12-2011 #3
Hi Jonathan,
Yes....it is brilliant (thank heavens for other people's code!)
Straight away you've established an issue that I'm trying to work around. I've never coded in C, but yes, it is outputing like thus....
T01
X000790Y-00460
X000790Y-00270
whereas what I need it like this....
T01
X0007.90Y-004.60
X0007.90Y-002.70
or even better..
T01
X7.90Y-4.60
X7.90Y-2.70
I tried dicking about with the ulp code ...I got it to divide by 100, but then lost a whole lot of resolution (what it really needs is for the decimal points to be inserted at the correct points as those coords are in 10ths of a millimetre) If anyone who's an expert in C can cast their eye over the ulp I'd be *very* grateful.
Re your code....
T01
G0 Z5
G0 X000790Y-00460
G0 Z0.2
M8
Px - but how do I get this pause to relate to the tool number - for example if tool=1 then pause 0.3s, if tool = 2 then pause 0.5s (the longer the pause the more the solder paste is dispensed)
M9
-
05-01-2012 #4
ok still mulling this one (I'm presently abroad with too much beer addled brain time on my hands)
So I've got a way of ID'ing all the pad centres and differenting on size. As it transpires, bringing one of the output files from doe-pro.ulp into say cambam as an excellon file is probably going to be the easiest...becuase once in cambam I can easily visually ID all the different pads...delete the ones I don't want solder dispensed on....group very similar ones together (dose-pro.ulp seems to treat even slighly differeing pad sizes as totally different pad types - which is likely going to be a chore).
So then, I now have all the points in my cam app....I just need a way of getting the cnc machine to move to each point, lower, at a certain point trigger an output signal, wait a bit & then move on.....it looks like Mach3 has enough features to go that way (thanks jazz), but I really want to use USB CNC sw if I can ....which doesn't have the equivalent to Mach3's brain.
So I'm wondering what I can press into play by way of a CNC control/output.....mist & flood are the obvious ones, but at this point I need to declare my hand & never used them.
So...basic question (& apologies to Jonathan who has already touched upon this aspect) just where is control of for example mist brought into play? For example with drilling....is the mist typically switched on at the beginning of *all* the drilling operations (like a top & tail action)....or can it be switched on/offon per drill hole....eg drill lowers, just above the top of the stock, the mist is turned on, drill then lowers into the stock - mist stays on.....gets to the correct depth & raises....mists turns off?
Becuase if I can bring something like mist into play per Z 'descent', then this is an obvious avenue of exploration for dispensing solder paste.
Which brings me to my other question....where do you program the mist on off - in cam software? (or is it as kludgey as turning it on in the CNC software?)...any help enlightenment warmly received.
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
mounting profile rail - Hiwin Manual vs. typical approach
By dsc in forum Rails, Guideways & BearingsReplies: 14Last Post: 11-12-2013, 10:43 AM
Bookmarks