585,969 active members*
4,468 visitors online*
Register for free
Login
IndustryArena Forum > Other Machines > PCB milling > PCB Scaling problem
Results 1 to 13 of 13
  1. #1
    Join Date
    Oct 2012
    Posts
    28

    PCB Scaling problem

    Hi all,

    The problem:

    My PCBs mill larger than they should be. Footprints for ICs are not useable as pin spacing is too big. (what should be 0.6mm spacing is about 0.7mm).

    My setup:
    Microcarve MV3
    Gecko G540 c/w 3 x Keling 381oz motors
    XP PC via Parallel Port

    Workflow:
    Eagle > PCB-GCode.ulp > PCB-Gcode Wizard for tool path optimisation > Mach3

    What I have tried:
    Digital caliper fitted to bed of CNC for axis calibration. Enter 10mm and enter measured value, this was repeated until I get an error of +/- 0.02mm on each axis.

    My thoughts are, using Eagle to create a calibration PCB. Horizontal and vertical tracks, 10mm length, then measure these after cutting and enter the numbers into axis calibration, that should work and calibrate the machine to Eagle output.

    Am I chasing the wrong issue here, or would you suggest I look at something else?

    Thanks a lot.

  2. #2
    Join Date
    Nov 2011
    Posts
    4

    PCB Scaling problem

    Quote Originally Posted by negativ3 View Post
    ...Am I chasing the wrong issue here, or would you suggest I look at something else?
    Thanks a lot.
    I have no experience milling my own PCBs. My last batch of small FR4 PCBs cost me all of AUD1.40 each, including registered airmail postage from China to Australia (for a batch of 10), and these are double-sided plated-through silk-screened both sides and HASL finish. I'm sure the materials alone would cost me more than that if I chose to mill my own, not to mention my time, and with a much less professional result.

    Nevertheless I recognise that some people might want to mill their own boards for other reasons (delivery speed for one – those Chinese boards take 2 - 4 weeks to arrive after I e-mail my Gerbers!), so here are my thoughts...

    The solution you propose should achieve the desired end-result, but I feel it's not the best approach. Gerber files from a good PCB CAD program are accurate to at least one thou (0.025mm), so something is going wrong between the Gerber output from Eagle (assuming it is a 'good' CAD program - I have no experience with it!) and the production of G-Code files for Mach3.

    If it were me, I would be checking every step of that conversion process to determine which program is doing it wrongly, then I would junk that program and get a good one. Or at the very least e-mail the author to see if they can fix it.

    This checking process might not be easy, at it probably requires that the file format for each output stage is known and understood. If this is not the case, see if you can beg/borrow/steal an alternative program for each stage, and by using those see if you can nail which of the original programs was the culprit.

    Good luck!
    Regards, Daniel
    (Gerroa, Australia)

  3. #3
    Join Date
    Oct 2012
    Posts
    28
    Quote Originally Posted by DanielF View Post
    I have no experience milling my own PCBs. My last batch of small FR4 PCBs cost me all of AUD1.40 each, including registered airmail postage from China to Australia (for a batch of 10), and these are double-sided plated-through silk-screened both sides and HASL finish. I'm sure the materials alone would cost me more than that if I chose to mill my own, not to mention my time, and with a much less professional result.

    Nevertheless I recognise that some people might want to mill their own boards for other reasons (delivery speed for one – those Chinese boards take 2 - 4 weeks to arrive after I e-mail my Gerbers!), so here are my thoughts...

    The solution you propose should achieve the desired end-result, but I feel it's not the best approach. Gerber files from a good PCB CAD program are accurate to at least one thou (0.025mm), so something is going wrong between the Gerber output from Eagle (assuming it is a 'good' CAD program - I have no experience with it!) and the production of G-Code files for Mach3.

    If it were me, I would be checking every step of that conversion process to determine which program is doing it wrongly, then I would junk that program and get a good one. Or at the very least e-mail the author to see if they can fix it.

    This checking process might not be easy, at it probably requires that the file format for each output stage is known and understood. If this is not the case, see if you can beg/borrow/steal an alternative program for each stage, and by using those see if you can nail which of the original programs was the culprit.

    Good luck!
    Thanks Daniel,

    I have sent Gerbers for production straight out of Eagle and they work just fine with regards to scaling.

    I am milling my own as I like the ability to have a PCB layout that can be populated and tested for bugs before sending it to the fabricators for a pro finish. The ability to turn design into working prototype within a day is my aim, without chemicals.

    I will indeed take a closer look at each step as the g-code is generated, then optimised.

    Cheers.

  4. #4
    Join Date
    Mar 2004
    Posts
    1806
    Which version of Eagle and pcbgcode.ulp are you using. If your using the latest Eagle with an older ulp, there is a problem with scaling.
    I believe the latest version of the ulp (which can be gotten in the yahoo group) solves that problem.
    Art
    AKA Country Bubba (Older Than Dirt)

  5. #5
    Join Date
    Dec 2006
    Posts
    3
    Hi,
    The first thing I would do is print one side of the board and check to see that all the measurements are right. Also, I don't use Eagle anymore but isn't there a gerber viewer in it now?

    Rob

  6. #6
    Join Date
    Oct 2012
    Posts
    28
    Quote Originally Posted by Bubba View Post
    Which version of Eagle and pcbgcode.ulp are you using. If your using the latest Eagle with an older ulp, there is a problem with scaling.
    I believe the latest version of the ulp (which can be gotten in the yahoo group) solves that problem.
    Eagle 6.3.0 and pcbgcode 3.5.2.11

    Going to give pcbgcode 3.6.0.4 a try

    Thanks for the heads up Bubba!

  7. #7
    Join Date
    Mar 2004
    Posts
    1806
    Yep, I think that is your problem as Eagle changed its "units" handling in V6+ vs V5+

    Good luck
    Art
    AKA Country Bubba (Older Than Dirt)

  8. #8
    Join Date
    Nov 2012
    Posts
    154
    A 0.1mm error on 0.6mm is a rather large one. A half-decent mill should not need any calibration - I'm saying this as a practical statement, not as some form of philosophical snobbery. It simply doesn't have any room for imprecision - in the typical case the number of steps per revolution of your steppers and the lead per revolution of the leadscrew unambiguously set the distance you move, without possibility of mismatch; all you have to do is set the right (calculated) number of steps/mm in your driver software. Assuming that number is correct, if significant error does still exist, you're either losing steps somehow, you have a spindle with too much runout or you have significant backlash - either condition unacceptable for any sort of fairly high precision work, like PCB milling. Calibration won't help much with either, they really need to be sorted out in hardware. In theory it is of course possible that your leadscrew isn't quite precise, but in practice I've never heard of significant long-distance pitch mismatch, and local variances are usually negligible for all practical purposes.

    If the error is not originating in hardware, there's something really fishy going on there; all forms of layout (gerbers, g-code etc.) is precise to a rather high degree - even if they display something like 9.999 instead of 10 due to different units being used internally, that should never become a problem, it should always be way more precise than the physical mill could ever hope to be - the single exception to this being the use of a irresponsibly imprecise setting for the gerbers / gcode decimals, like "x.xx" (4:2 etc.), 2 digit precision with inch units. That sort of thing should be configurable in the generating software, and is easily verifiable with a text editor.

    Similarly, since all these formats are text-based, it should be easy to pick two known coordinates and follow them through the chain trying to see where, if anywhere, is the error being introduced. Good luck!

  9. #9
    Join Date
    Oct 2012
    Posts
    28
    Quote Originally Posted by blinkenlight View Post
    A 0.1mm error on 0.6mm is a rather large one. A half-decent mill should not need any calibration - I'm saying this as a practical statement, not as some form of philosophical snobbery. It simply doesn't have any room for imprecision - in the typical case the number of steps per revolution of your steppers and the lead per revolution of the leadscrew unambiguously set the distance you move, without possibility of mismatch; all you have to do is set the right (calculated) number of steps/mm in your driver software. Assuming that number is correct, if significant error does still exist, you're either losing steps somehow, you have a spindle with too much runout or you have significant backlash - either condition unacceptable for any sort of fairly high precision work, like PCB milling. Calibration won't help much with either, they really need to be sorted out in hardware. In theory it is of course possible that your leadscrew isn't quite precise, but in practice I've never heard of significant long-distance pitch mismatch, and local variances are usually negligible for all practical purposes.

    If the error is not originating in hardware, there's something really fishy going on there; all forms of layout (gerbers, g-code etc.) is precise to a rather high degree - even if they display something like 9.999 instead of 10 due to different units being used internally, that should never become a problem, it should always be way more precise than the physical mill could ever hope to be - the single exception to this being the use of a irresponsibly imprecise setting for the gerbers / gcode decimals, like "x.xx" (4:2 etc.), 2 digit precision with inch units. That sort of thing should be configurable in the generating software, and is easily verifiable with a text editor.

    Similarly, since all these formats are text-based, it should be easy to pick two known coordinates and follow them through the chain trying to see where, if anywhere, is the error being introduced. Good luck!
    Thanks blinkenlight,

    Turns out it was the IC footprint I was using. The TQFP-32 straight out of Eagle for the part chosen was not to the correct pin-pitch dimensions. I used the measure tool in the library editor to check it. I replaced it with one that measured correctly and it now fits perfect.

    Taught me to double-check footprint files for each part, before milling.

    Thanks for all the suggestions.
    Andy

  10. #10
    Join Date
    Nov 2012
    Posts
    154
    Glad you worked it out in the end, and thanks for letting us know about the cause.

  11. #11
    Join Date
    Jun 2014
    Posts
    1

    Re: PCB Scaling problem

    I know this is from a long time back, but did you or anyone ever find out what the problem was because I'm having a similar problem and I think it might be steps per in mach3. I have a 3020t DJ desktop router and I'm using 400 steps per and It is off a little because when I used the pocket wizzard for a 4x6 inch rectangle it needed to make another pass all the way around to be right.

    edit...whoops sorry I didn't realize I was not on the last page

  12. #12
    Join Date
    Jul 2014
    Posts
    2

    Re: PCB Scaling problem

    I have the 3020t and I had the same issues with mine at first. Then I fully read through the handy barely English manual that mine luckily included and it has a chart for all the stepper speeds for all their models.

    I'm looking at it now and the 3020t states that the x steps per = 400, speed = 1200, and acceleration =300. This is the same numbers for the y and z on this model. However there is a 3040c-h80 that looks identical to the 3020t and it has different numbers. In Mach 3 you need to seed each of the motors individually. To do this got to Config>Motor Tuning and Setup. then select the axis and set the steps per, velocity, and acceleration for each axis. then make sure you click SAVE AXIS SETTINGS on each motor as you change it or it will revert back to MACH 3's defaults which are way wrong for that machine.

    Hope this info helps someone out there having this issue. I would gladly send a PDF of the manual to anyone who has this router and doesn't have the book.

    Now if only someone could tell me how to set up an Auto Zero on Z for this machine I would be set.

  13. #13
    Join Date
    Nov 2012
    Posts
    154

    Re: PCB Scaling problem

    Quote Originally Posted by Groomaar View Post
    Now if only someone could tell me how to set up an Auto Zero on Z for this machine I would be set.
    I'm not using Mach3 myself so I'm afraid I can't help you with specifics, but you're welcome to read up on it here - it should be more than enough to get you on track: http://www.cnczone.com/forums/mach-w...ification.html

Similar Threads

  1. SCALING IN X ONLY V24
    By zachf in forum BobCad-Cam
    Replies: 2
    Last Post: 08-07-2012, 10:46 PM
  2. V24 scaling
    By hatchmar in forum BobCad-Cam
    Replies: 4
    Last Post: 08-01-2012, 07:14 PM
  3. Scaling
    By caddisfly in forum Haas Mills
    Replies: 4
    Last Post: 05-27-2011, 05:25 PM
  4. G51 Scaling: how to?
    By Donkey Hotey in forum Haas Mills
    Replies: 6
    Last Post: 06-07-2010, 04:08 AM
  5. Scaling problem
    By kentigens in forum LinuxCNC (formerly EMC2)
    Replies: 1
    Last Post: 03-24-2009, 02:34 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •