FabPCBMaker



First step after creating my rough sketch was to draw a 2D sketch of the parts of the machine.



Structure


  • I decided to use fusion360 as I became quite familiar with using it to design the structure. My idea is to use 18mm plywood and cut it using the CNC machine.


  • I used the same commands as documented before in the weekly assignments.


Mountain View

  • I Then extruded all the pieces.


Mountain View

Mountain View

  • Next step was to assemble the parts together to make sure the design is correct


Mountain View


Mountain View

  • After making sure that the sketch is okay I exported it as Dxf .


Mountain View

  • I imported the Dxf file to Rhino so I can layer the different processes of milling.


Mountain View

Mountain View

  • I used EasyWorker MasterPro 2513 CNC to do the milling.

-Here are the settings I used:
  • Safe Z: 70mm
  • Start Z: 18.5 mm
  • Final Z: -0.02 mm -->for cutting all the way through but not in case of engraving
  • Z Step down: 2.6 mm
  • Feed rate: 2000
  • Plunge rate: 800
  • Tool diameter: 6 mm
  • Cutting method: Inside for holes, Outside for outside outlines and Pockets for engravings.



Mountain View

  • Here are all the parts of the machine


Mountain View

Bearings


I decided to make my own bearings for the linear guides. My idea was to use POM and machine it using the CNC. Again I used Fusion360 to design the bearings and I also used the it's cam processor to generate the milling G-code.


  • I started by drwaing a 2D sketch of the part


Mountain View

  • Then I extruded it into an object


Mountain View

  • Then I extruded it into an object


Mountain View

Mountain View

  • As the machine needs 6 parts 2 per each axis I decided to mill them in one go as they are realatively small


Mountain View

  • I switched to model environment and added a new setup. Firstly I set the axes correctly as shown.


Mountain View

  • Next step was to set the stock size.


Mountain View

  • I added firstly a roughing strategy using adaptive clearing.


Mountain View

  • Here are the parameters I used.


Mountain View

Mountain View

  • I added a finishing strategy using Ramp because without the holes were not milled.


Mountain View

  • Here are it's parameters.


Mountain View

Mountain View

  • I simulated the process to make sure there weren't any collisions.


Mountain View

Mountain View

  • Eventually I posted the process for Roland MDX-40 milling machine as I decided to use it for this task.


Mountain View

  • This is how the parts looked like after miling and drilling some holes manually in them.


Mountain View

Mountain View

Mountain View

Motor holder

For the motor holder I decided to use the same material as the bearings, fusion360 to design it and The Easy worker CNC machine to mill it .



  • I started by making a 2D sketch of the main components of the part


Mountain View

  • I exported those components placed them correctly, and performed the right boolean operations on them


Mountain View

  • I added some fillets and made some final modifications to the part and finally was satisfied with this


Mountain View

  • I projected the object to have a sketch of the final version of the part


Mountain View

Mountain View

  • I switched to CAM environment and added a new setup more or less as the same as the one for the bearings


Mountain View

Mountain View

  • I added an adaptive clearing milling strategy to start with. Here are the parameters I used.


Mountain View

Mountain View

  • I tried using the Ramp strategy as a finishing process because the adaptive clearing one didn't make the holes in the model. The problem was that the machine started to melt the material while making the holes. I stopped the machine immediately once I saw this. the piece was not damaged so I changed the strategy to drilling and gave it another go.


Mountain View

  • I simulated as before and posted the process but this time for the Easy worker CNC machine.


Mountain View
  • I made some holes manually and attached the threaded collar of the stepper's screw

Mountain View

Mountain View

Mountain View

Mountain View

Electronics

Regarding the electronics of my machine I decided to be as efficient as possible, meaning if it's cheaper to make it on my own I make it, If otherwise I buy it. Following this approach I decided to make a microcontroller board and a distribution board but buy the stepper drivers.
The microcontroller board is a slightly compact version of SatshaKit and the Stepper drivers are Pololu A4988 .
I used Eagle to design the PCBs and Roland MDX-40 machine to mill them.



Microcontroller Board

  • I used the original schematic of the Satshakit I just added some VCC and GND more pins


Mountain View

  • I moved some of the components of the board and made the board a little more compact


Mountain View

  • I exported the board as .png and edited the image to get the files necessary for milling


Mountain View

Mountain View


Distribution board

  • I started by drawing the schematic of the board


Mountain View

  • I routed the board and this is how It looked


Mountain View

  • I exported the board as .png and edited the image to get the files necessary for milling


Mountain View

Mountain View

  • I used Roland MDX-40 and Fabmodules to mill the boards


-Here are the settings I used:

  • Input format: Image.png
  • Output format: Roland Mill.rml
  • Process: 1/64 -->for PCB milling
  • Send Command: --> In my case
  • Server: 2000
  • Cut depth: 0
  • Tool diameter: 0.2mm
  • Number of offsets: 4
  • Offset overlap: 60
  • The rest is the same as default



Mountain View

Mountain View

  • This is how the boards looked after soldering


Mountain View

Mountain View

Mountain View

Mountain View

Assembling

As the structure is made of wood it was really easy to assemble, I just needed a small plastic hammer to fit the joints together. There were some other tasks related to the assembling like fixing the motors to their holders and the bearings in their right place.



  • To fix the motors I had to drill M3 holes but I was concerned that they might not be properly aligned so I laser cut a mask as a guide for the drilling the holes.


Mountain View

  • I did the same thing with the holes for the bearings and the brushless motor


Mountain View

  • This is how it looked during the process


Mountain View
Mountain View
Mountain View
Mountain View
Mountain View
Mountain View

  • And finally this is how it looked liked


Mountain View
Mountain View

Programming

To control the machine I decided to use GRBL to send the Gcode which I generate using Fabmodules



  • First step was to burn the boatloader to the board using the arduino IDE and an arduino Uno board. I uploaded a simple blink sketch as a test code to make sure it works. How I did this is already mentioned before in previous assignments


Mountain View

  • Next I uploaded the GRBL to the Satsha kit


Mountain View


Mountain View


-Here are the parameters I used:
  • Input format: Image.png
  • Output format: Gcodes.nc
  • Process: 1/64 -->for PCB milling
  • Speed: 4
  • Cut depth: 0
  • Tool diameter: 0.1mm
  • Number of offsets: 2
  • Offset overlap: 60
Mountain View


Mountain View

  • I used $$ command to get the current settings then I modified them to work with my machine. Here is a guide to all Commands


Here are the final settings that I used

  
$1 = 25    (Step idle delay, milliseconds)
$2 = 0    (Step pulse invert, mask)
$3 = 0    (Step direction invert, mask)
$4 = 0    (Invert step enable pin, boolean)
$5 = 0    (Invert limit pins, boolean)
$6 = 0    (Invert probe pin, boolean)
$10 = 1    (Status report options, mask)
$11 = 0.010    (Junction deviation, millimeters)
$12 = 0.002    (Arc tolerance, millimeters)
$13 = 0    (Report in inches, boolean)
$20 = 0    (Soft limits enable, boolean)
$21 = 1    (Hard limits enable, boolean)
$22 = 1    (Homing cycle enable, boolean)
$23 = 0    (Homing direction invert, mask)
$24 = 250.000    (Homing locate feed rate, mm/min)
$25 = 500.000    (Homing search seek rate, mm/min)
$26 = 250    (Homing switch debounce delay, milliseconds)
$27 = 3.000    (Homing switch pull-off distance, millimeters)
$30 = 1000    (Maximum spindle speed, RPM)
$31 = 0    (Minimum spindle speed, RPM)
$32 = 0    (Laser-mode enable, boolean)
$100 = 400.000    (X-axis travel resolution, step/mm)
$101 = 400.000    (Y-axis travel resolution, step/mm)
$102 = 400.000    (Z-axis travel resolution, step/mm)
$110 = 500.000    (X-axis maximum rate, mm/min)
$111 = 500.000    (Y-axis maximum rate, mm/min)
$112 = 500.000    (Z-axis maximum rate, mm/min)
$120 = 10.000    (X-axis acceleration, mm/sec^2)
$121 = 10.000    (Y-axis acceleration, mm/sec^2)
$122 = 10.000    (Z-axis acceleration, mm/sec^2)
$130 = 200.000    (X-axis maximum travel, millimeters)
$131 = 200.000    (Y-axis maximum travel, millimeters)
$132 = 200.000    (Z-axis maximum travel, millimeters) 

Testing

To evaluate how good is my machine I set a challenge which is milling a working FabISP. In this section I am documenting the testing process of my machine.



  • First of all I tested the movement without connecting the spindle


Mountain View

  • I tested the home sequence and simulated milling without the spindle



  • Next I connected the spindle, attached 0.1mm tool to it and tried to engrave something on a piece of MDF

Mountain View

  • I replaced the piece of wood with a copper plate and gave it a shot


  • After some trials and adjustments of the Z height I got to this result.

I found out 3 important issues
  • By looking under the microscope I saw that the tool was more of scratching than engraving so I decided to change to a 0.2mm drilling one
  • The second thing was that the feedrate was too high this can be seen as the straight lines were no longer straight.
  • The milled boards were mirrored. This meant that one of the axes X or Y had to be flipped but I just decided to flip the image and continue testing as my focus was on the quality of milling itself

Mountain View
Mountain View

  • I changed the tool and the speed and tried again.



  • And finally I got the perfect result


Mountain View

Final Product

After all the trials and errors I found the correct settings for the machine to work properly. Here are all the tips


  • The 0.2mm tool is better than 0.1mm
  • Fixing the tool properly to the motor is crucial. The screws of the collar have to be tightened gently the perfect way would be to use a tool with 0.1 Newton force.
  • The cutting speed should be less than 2
  • Finding the correct Z height is also crucial the quality and the thickness of the traces depend on it

Mountain View

Machine specifications

  • 100x160x50mm working area
  • 0.0025mm theorethical resolution (0.04mm realistic)
  • 18mm plywood CNC milled frame
  • POM bearings and motor holder
  • brushless spindle motor
  • 3 x Pololu A4988
  • 3 x Nema 17 threaded rod stepper motors
  • 8mm linear rods

Bill of Materials


Mountain View

  • 18mm plywood
  • 3 x Nema 17 threaded rod stepper motors
  • Brushless motor
  • POM()
  • 8mm linear rods
  • 3 x Pololu A4988
  • Tool collar
  • M3 Bolts, Nuts and washers
  • End stops

Source code is licensed under the terms of the GNU Lesser General Public License v2.1 (LGPL).

Projects, drawings, images and videos are licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Ahmed Abdellatif 2017