Wednesday, December 19, 2012

Experiments with auto levelling and PCB routing

By their nature, PC boards are not as flat and smooth as we would like.  I have equipped my CNC with a sacrificial table (MDF) that can be leveled using set screws.  I can attach a dial caliper to my Z axis, and I can dial in the platform to within a thousandth-or-two.  Still, my PCBs are sometimes cut too shallow, forcing me to risk fingertips using an x-acto knife, or too deep, ruining the fine geometries I try to keep.

The concept of an 'auto leveler' makes great sense, and I decided to give it a try.

My setup

EDIT - see current posting 
  • EMC on Linux (the version numbers escape me).  
  • CadSoft Eagle 6.3.0 on Windows 7
  • Testing the PCB-GCODE with the auto leveller  pcbgcode_tags_2.0-alpha1-r68.zip from the PCB GCODE forum on Yahoo
  • CNC machine is homebuilt based on the BuildYourOwnCNC machine
  • I have created my own 'anti backlash' nuts that allow me to place SMD devices with 50mil lead pitch
    That's about as fine as this old man can solder, so it's good enough for now.

Day one, wasted

After two half-days of getting frustrated, I turned to the forum, Art was very prompt to respond. I needed to move the autoleveller code outside of C:\Program Files(X86).  I moved them to my D:\ drive and progress was made.

Lesson 1:  Install the AutoLeveller files NOT in the Program Files directory.  (for Windows 7 at least)

Setting the initial entries into all the PCB-GCODE-SETUP fields was helped by Dan, MoDFI on the Forums. This is a good starting place

Download the new math.h if you are using Eagle 6.  Replace the old one by renaming it 'math_old.h' - don't delete anything!

How the autoleveller works

Moved to my web page: Autoleveler


Milling the board

It took me a couple of attempts to figure out the flow.  
  1. Align the board and do the top etch 
  2. Drill the bottom two mounting holes (0.125").  These are used when
    the board is flipped to align for back milling
  3. mill bottom traces
  4. mill outline of board
  5. drill holes
Lessons 4 and 5:  Careful not to "spot drill" the holes too deeply.  First board was ruined as the default spot drill depth (-0.011") was too deep and wiped-out most of my vias.  Changing to -0.004" was fine.
Also, drill the two alignment holes after probing/milling - the probing/leveling process stops if you happen to probe within one of the mounting holes.

The board

I designed a board (CADsoft Eagle) modeled loosely after the "Arduino" concept - a small, basic CPU "motherboard" into which 'shields' could be plugged.  I am currently playing with the Microchip PIC processor family, so I made a modified PICduino setup.   The motherboard gives me a +5 and optional +3.3V supplies, connection for the ICSP (In Circuit Serial Programmer) a PIC 16F777 44 pin, TQFP package, optional crystal and a power indicator.  There is a LOT of space left over for whatever I can think of for Rev 01.  Traces are typically 0.016" unless there is a powerful reason to go smaller (not on this board).


Top (Click for larger image)


Bottom (Click for lager image)
CPU detail (Click for larger image)











Helpful Links

Mill PCBs 







 http://woodworkerbcncrouterproject.blogspot.com/2013/11/new-autoleveller-software.html

No comments:

Post a Comment