Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: Sage on July 29, 2011, 05:03:17 PM

Title: Circuit board isolation routing and probing
Post by: Sage on July 29, 2011, 05:03:17 PM
 I could use a bit of insight.
 I'm sure most are aware that there is a method of creating circuit boards using isolation routing. Special software creates the gcode. An engraving cutter removes the copper from a blank circuit board leaving the familiar copper traces.
 One of the difficulties with this is that the blank circuit boards are not always perfectly flat so the routing depth varies as you move across the board which makes the remaining traces vary in width (sometimes leaving nothing at all if they are thin or close together).
 Various approaches have been used to minimize this problem. I'm aware of most of them, even one attempt to pre-probe the whole board to build up a z-axis map and use these values in a post porcessor to modify G-code to adjust the Z-axis moves to compensate.

After reading a recent post on Plasma cutting using Mach I realized that apparently some sort of "pre-probing" is done for proper depth on-the-fly before every Z move of the plasma cutting head.

I'm wondering if someone can explain this to me (Mach software mods required, how it works) and if they think this might work for the circuit board milling process. I've tried searching on this but it pretty difficult to find all the info all in one place.

Thanks

Sage
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 29, 2011, 05:32:19 PM
The THC function for a plasma head is a different Dawg. It requires feedback from teh Arc voltage function to drive the THC up/down commands.

You could use  a special plugin and A LINEAR encoder used to SEE the variants in board height as it cut. NOT an easy task as everything would have to happen ON THE FLY.

 IF you are having width problem in the trace cutout you must be using a Vbit. A straight bit will not vary in width as a function of depth.

Some one a WHILE back used outside Software to Compensate the PCB boards variatons to the Gocde values Before it was run . It changed the Z values based on a probeing of the PCB surface.

Justa some thoughts
Title: Re: Circuit board isolation routing and probing
Post by: Sage on July 29, 2011, 05:50:06 PM
 There are typically lots of raising the bit and repositioning commands in the isolation routing G-code. What I envisioned was some sort of macro to modify or add a procedure to the z moves to go through a typical probing routine first. The idea was a routine to touch the probe to the work which resets the z-axis DRO just before doing the z-axis move thereby adjusting the zero point and therefore the depth.
 I was thinking the proble could be spring loaded and right along side the engraving tool tip so it touches first and the routine adjusts accordingly.
 Not sure how this could be implemented in Mach. That's why I'm looking for ideas.

The idea came from this recent post. I'm not sure what it was all about.

http://www.machsupport.com/forum/index.php/topic,19117.0.html

(sorry not sure how to insert a link)

Thanks

Sage

 
Title: Re: Circuit board isolation routing and probing
Post by: Hood on July 29, 2011, 08:12:24 PM
Its late here so I will not be around for long but maybe tell us a bit about your machine and the drives and motors it has so we can get an idea of what we are dealing with.
Also run the driver test and see what the pulse looks like..
Hood
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 29, 2011, 08:22:01 PM
The main problem to overcome IS that Mach is NOT a real time controller. It has to PLAN the moves ahead of time AND then load them into a buffer that feeds the drives. ONCE the buffer is loaded there is NO way to interact with the actual moves. The probing process is a point to point process it is not continual in nature so there is NOT a continuous steam of data coming in to use.

The approached I mentioned before uses a linear scale to read the surface and then you apply the surafce value as the Z move. But then you have to run the look ahead at 1 to 1 as you cannot plan a move that you don't know what the value is yet so you may not have a high quality/smooth set of moves to machine with. Also mill swarf could alter the measured height of the surface throwing the Cut off.

The best approach so far is the prescan and convert the cut code into the Cut for THAT ONE piece of PCBboard. Each new piece would need a new scan.  Hardly a production process.

(;-) TP
Title: Re: Circuit board isolation routing and probing
Post by: Sage on July 29, 2011, 09:01:46 PM
I can see your points - all reasonable especially the one about the swarf messing things up. I guess that's not an issue for THC in plasma cutting?
 SO, not knowing much about it,  how does THC work? From what I've read a separate controller measures voltage from somewhere - I guess across the plasma arc?  and provides UP/DOWN inputs to mach which responds in real time? So real time is possible based on that assumption.

I can see your idea about a linear encoder feeding a controller similar to THC controller to provide the signals to Mach. This might be the best approach. The tricky part will be the probe and how to make it follow the cutter while not getting in the swarf. A good continuous air flow perhaps?


Sage
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 29, 2011, 09:27:02 PM
In plasma the THC is reading the arc voltage measured at the Powersource for the plasma. It then compoares that to the set point the machine is to follow. It then send s commands to teh THC up/down pins to have mach move the motor forward or backwards to keep the voltage in range. As the metal moves away from the torch the voltage goes UP so the THC tells the machine to move down UNTIL it sees the proper voltage again. The opposite for when the metal moves closer to the torch the voltage goes down an the THC tells the machine to move UP.

The THC up/down is not a real time compensated move.It is NOT even done with accell/deaccell values that control all other moves . BUT it also does not have defined moves the pulses just jolts the motor at full power so it moves at wide open speed. For a millisec. IF the top speed is set too fast it WILL miss steps and then mess up everything. It is also VERY easy for it to over run the setpoint and have to be corrected again.

The method to do this for the PCB would be to use a very sensitive linear encoder. that would hook to a circular ring that surounds the cutter bit very closely. The output from the encoder would have to hook to a device that reads the values and sends the THC up/down signal to MACH. BUT remember the controll is NOT a precision move so the quaility of the move would have to be controller from the Height controller. That precision controller setup would probaly cost more than your machine did WITH mach3 software (;-)

AND the swarf that the cutter puts OUT would effect the reading IF it got under the monitor ring that surrounds the cutter. Then at best you only get an AVERAGE height based on the relationship of the cutter to the ring size.

So yes it could be done to a point(;-)

(;-) TP

Title: Re: Circuit board isolation routing and probing
Post by: Sage on July 29, 2011, 10:00:43 PM
Well, lots of things to think about here.
Do you have any idea what Dave3891 was having problems with in the post I made reference to above?
 Seems like he might be touching something (maybe the torch tip) to the work and automatically resetting Z=0. This would be similar to the auto tool zero addition I already have for Mach. Although it requires touching the tool to a touch plate connected to an input pin on Mach.
 I'm thinking now that maybe an insulated tool connected to an input could work in conjuction with some added code to implement an auto zero move before each tool down command.
  Implementing that would depend on the ability to easily modify the existing G-code or perhaps the post processor could add a Mcode before all Z down moves.

Still thinking...

Sage
 
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 30, 2011, 12:51:42 AM
YOu could isolate the PCB board from the machine easy enough. AND you can easily probe before every Zdown.  BUT IF the height of the board changed from one end of your cut to the other you loose(;-).

But hey  Give it a whirl ya never know, (;-) TP
Title: Re: Circuit board isolation routing and probing
Post by: Tweakie.CNC on July 30, 2011, 01:41:25 AM
Hi Sage,

I isolation route quite a lot of circuit boards, my work table has a (bolt on) sacrifical top which has been machined flat and parallel - the circuit boards are then held with double sided tape for machining and drilling.
The "extremely simple" boards are held on a vac table with the hole centres just spotted then the holes are drilled manually as a separate process.
The "complex" boards are still acid etched.

Tweakie.
Title: Re: Circuit board isolation routing and probing
Post by: Sage on July 30, 2011, 07:28:09 AM
I have to admit I've only ever isolation routed a couple of boards and I didn't like the results. Mostly because the Z axis on my machine (CNC modified mill/drill) is not very accurate because of the slop in the rack and gearing. I'll have to modify that even for my machining efforts.
  My main reason for asking is that I follow a forum on homebrew PCB making and there is someone working on some software to pre-probe the whole board and modify the G-code with a post processor before milling. He's having some some success.  But, after reading about THC it seemed that Mach was already equipped to do on-the-fly height adjustment - something that PCB group may not have been aware of. So I thought I'd investigate it more for my own interest mostly but also on their behalf.
 Now I realize it may not be up to the task. I suppose in plasma cutting several  thou or more of height error makes very little difference whereas even a thou or two can mess up a PCB route.
 I'll go by the experience of others here and now think about something else but any other suggestions would be welcome.
 I did make a machined flat surface plate for my machine to put the PC board on but I found the double sided tape in itself added error or did not necessarily pull the board down flat enough to the surface. A vacuum table might be better but I prefer to do the toner transfer method anyway so I haven't persued it. I have no problems with the toner transfer method.

Thanks

Sage
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 30, 2011, 11:39:19 AM
Sage I will keep this on my mind to see IF anything comes along that might be of help to yall. You never know when an idea might pop up.

One of thebig problems that alwys pop up is that MACH's monitor loop only updates at 10 cycles per sec MAX. That is not anywhere near fast enough to do anything constructive for live height comp.

Is there a Site where the Probing comp software is available for reveiw?

(;-) TP
Title: Re: Circuit board isolation routing and probing
Post by: Sage on July 30, 2011, 02:16:20 PM
I'm not sure how you are generating your circuit boards but I use Eagle PCB. There is a free Eagle User language program (ULP) written by Johnson called PCBGCODE which runs in Eagle and takes the Eagle PCB file and outputs g-code to do the isolation routing. It works very well.
 John Johnson has a user group called pcb-gcode on yahoo groups.
 Also in that group is another gentleman named esseel1 who has (I believe) recently modified the original ULP by John Johnson to do the auto-levelling. His posts started on Jul.22 under the topic "auto-pcb levelling and a few other things"
I'm not sure (yet) how he generates the array of Z heights to be used by the ULP. I'll have to start reading from the beginning to figure it out.
 If you use Eagle I would suggest joining the group.

Sage
Title: Re: Circuit board isolation routing and probing
Post by: BR549 on July 30, 2011, 03:53:45 PM
I am not a PCBer. I just help develope functions for other MACH users to use.(;-)

(;-)TP