Topics

shorting traces - How I messed up & a question about spot-drill-holes #eagle #etch

John Ferguson
 

You may remember a struggle I was having with some traces shorting out.  As it turns out, I had converted a library file for a 28 pin DIP from having little round pads to the elongated type which I find easier to solder.  And of course somehow when I loaded it, Eagle thought it still had the smaller pads and although the traces cleared them, some of them ran right through the pads.

I'm not sure how, but this doesn't seem to happen anymore and I can pretty much etch a board without any manual trace adjustments.

I am puzzled by another effect I'm getting. I like to spot drill pads and set the spot-drill depth to .011, but they get spot-drilled to .075 which is where I have the drill depth set. What am I missing here.

john

klassen.jj@...
 

Hey John,

I had experienced your issue as well, and I cruised through the code and I managed to find out how to fix the error.. I adjusted the code as follows

The issue is a flag reset in spot drill. the first one comes out fine, but then the rest are drilled to fill drill depth.
 
In pcb-gcode.ulp you will find this sequence:

//

  if (SPOT_DRILL == YES) {
    if (m_first_spot_drill) {
      output_drill_first_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);
     // m_first_spot_drill = NO;
    }
    else {
      output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);
    }
  }

///
 
The underlined line is the culprit. it spot drills one time, then spot drill is set to NO, so it doesn't do it anymore. I got the correct behaviour by commenting out that line. All the drill files are to the correct level. It works as it should on my machine - running on the GRBL config.

Hope this helps!

Joel

John Ferguson
 

I cannot thank you enough for this.  I do a lot of boards and having to remember to fix the incorrect spot-drill depth was a real pain.

best regards,

john

On 1/31/19 6:27 PM, klassen.jj@... wrote:
Hey John,

I had experienced your issue as well, and I cruised through the code and I managed to find out how to fix the error.. I adjusted the code as follows

The issue is a flag reset in spot drill. the first one comes out fine, but then the rest are drilled to fill drill depth.
 
In pcb-gcode.ulp you will find this sequence:

//

  if (SPOT_DRILL == YES) {
    if (m_first_spot_drill) {
      output_drill_first_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);
     // m_first_spot_drill = NO;
    }
    else {
      output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);
    }
  }

///
 
The underlined line is the culprit. it spot drills one time, then spot drill is set to NO, so it doesn't do it anymore. I got the correct behaviour by commenting out that line. All the drill files are to the correct level. It works as it should on my machine - running on the GRBL config.

Hope this helps!

Joel

klassen.jj@...
 

No problem, I am normally not all that great at troubleshooting this sort of thing, but this worked out.
I found a program which searches for a text string across an entire directory and subfolders, so I just found the keyword I needed, then look at all the code around it in each file. It really helped me spot it.

Joel

peterg1000
 

Hi,
Not trying to pour cold water on your findings, but I've never had a problem with spot drilling!!  I did a check of my code in the area you modified and it appears to be exactly the same as the one that misbehaves - see below (cut and paste) :-

if (SPOT_DRILL == YES) {

if (m_first_spot_drill) {

output_drill_first_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);

m_first_spot_drill = NO;

}

else {

output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);

}

}

Something else must surely be going on elsewhere in the programme to change the SPOT_DRILL_DEPTH ?
To my inexperienced eye the original code seems to be entirely logical.

Peter

John Ferguson
 

This would mean that I've selected something in the pcbgcode options which does this or it is being forced by something in Eagle.  I'm going to look at one of the older eagles to see if it does it.


john

On 2/1/19 4:30 AM, peterg1000 via Groups.Io wrote:
Hi,
Not trying to pour cold water on your findings, but I've never had a problem with spot drilling!!  I did a check of my code in the area you modified and it appears to be exactly the same as the one that misbehaves - see below (cut and paste) :-

if (SPOT_DRILL == YES) {

if (m_first_spot_drill) {

output_drill_first_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);

m_first_spot_drill = NO;

}

else {

output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH);

}

}

Something else must surely be going on elsewhere in the programme to change the SPOT_DRILL_DEPTH ?
To my inexperienced eye the original code seems to be entirely logical.

Peter

peterg1000
 

I've used most Eagle revisions from 7.7 to 9.2 with equal success w.r.t .pcbgcode if that's any help to you.

Peter

John Ferguson
 

just to be sure. You are using the spot drill mode to prick each hole at say .011 and subsequently drilling them out at .07 +/- ??

I wonder if problem might be how the pads are coded in my Eagle files>

strange..

john

On 2/1/19 10:08 AM, peterg1000 via Groups.Io wrote:
I've used most Eagle revisions from 7.7 to 9.2 with equal success w.r.t .pcbgcode if that's any help to you.

Peter

peterg1000
 

All the spot drills are done with the same tool as is used for the track milling - I've used both 0.1 and 0.2mm  tools for this.   The drill file is completely separate and calls for drills as required by the component definitions in Eagle. 

Spot drill code is part of the main "etching" GCODE file - this is run as received from pcgcode, no editing required whatsoever. The drill info is in a separate file and contains all the necessary spindle stops and starts to allow for tool changes and setting the Z axis zero using a touch probe.

Drill depth is set for about 1.7mm when using 1.5mm FR4 boards. I manually "adjust" this for larger drills (up to 3mm) to allow for the 120 degree drill point, but no other changes are made.

Peter

John Ferguson
 

Peter,

It's a mystery to me. that is exactly what I'm doing.  I'm using the "tries to e compatible g-code profile"

I etch first and the spot drill follows the etch as part of its code. . then I run the drill g-code, then the mill (cut-out).

I check spot-drill homes on first page of pcbgcode setup and (using imperial) set the depth to -.011

on second page of setup I set "drill depth" to -.075.

And then what I get is the spot drill holes all -.075.

????

john


On 2/1/19 4:13 PM, peterg1000 via Groups.Io wrote:
All the spot drills are done with the same tool as is used for the track milling - I've used both 0.1 and 0.2mm  tools for this.   The drill file is completely separate and calls for drills as required by the component definitions in Eagle. 

Spot drill code is part of the main "etching" GCODE file - this is run as received from pcgcode, no editing required whatsoever. The drill info is in a separate file and contains all the necessary spindle stops and starts to allow for tool changes and setting the Z axis zero using a touch probe.

Drill depth is set for about 1.7mm when using 1.5mm FR4 boards. I manually "adjust" this for larger drills (up to 3mm) to allow for the 120 degree drill point, but no other changes are made.

Peter

klassen.jj@...
 

Truth be told, I spot drilled alright with a previous version of pcbgcode SOMETIMES but sometimes things would go horribly wrong, so I deactivated spot drilling in the past. but I re-setup my CNC and updated to the latest version and I came across this issue.

So I was curious, so I looked through all the files for every instance of 'SPOT_DRILL_DEPTH" to see where all it is defined and how it is used.

Fig 1 is just my search params in AstroGrep which yielded 2 ULP files and several settings files



Fig 2 shows the usage in the pcb-gcode-setup.ulp file,




-line 160 converts the user entered SPOT_DRILL_DEPTH in to the correct units for the machine,
-line 349 writes SPOT_DRILL_DEPTH with a name to a document somewhere, I assume the settings file
-line 589 creates the entry field for the GUI of the setup

so the mix-up can't happen in this file, which makes sense, because the settings file says the correct SPOT_DRILL_DEPTH value when inspected, so it must occur during the pcb-gcode.ulp file

Fig 3 shows the usage of 'SPOT_DRILL_DEPTH' in pcb-gcode.ulp
  
and searching for all instances of 'depth' or 'drill' bring me no luck...
Really, I don't know why my hack worked... perhaps I just pretend I am doing the first  spot drill every time because there is no difference in the routine (except it works for me?) and skipping the 'not first spot drill' section of the code...
but yeah.. it doesn't make sense that it puts the wrong depth in. I have no idea where it comes from.
Why there is a special case for the first spot drill, I do not know.

Good luck, I am glad you have success!

John Ferguson
 

Joel, your fix worked fine for me.

john

peterg1000
 

Just for the record, I'm using pcb-gcode rev 3.6.2.4 with Mach3 for windows selected as the profile.  All this happens in Eagle 9.3.

If you guys are using a later revision ..................    who knows!!

Peter

JimmyB
 

Hi Peter, my name is Jim, and I reading your post about spot drill holes. The word in your article "pcgcode"
should read  pcbgcode ? Sorry about if i'm wrong, but my etching gcode file not placeing spot drill holes.
Try to find answares  all ove the net to my problem, no luck. It also doesn't generate drill and mill files. It shows
this error "Improperly formatted rack entry" .  I had to reinstall windows10 ever since this problem showed up.
Before had no problem at all useing Eagle 7.0.6 and Pcb-gcode 3.6.2.4 try to use different drillrack files, but reading your
posting this shouldn't be my problem. Sorry to bother you all of this, but I'm trying to find solution for this problem.
Any help or idea would be appreciated.
Best regards.