Difference between revisions of "Ant PCB Maker"

From Hackerspace ACKspace
Jump to: navigation, search
 
(12 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
Also create needed manuals on how to operate it.
 
Also create needed manuals on how to operate it.
 
}}
 
}}
 +
Hardware completed. Documentation work in progress
 +
 
== Characeristics ==
 
== Characeristics ==
* Maximum supported size of PCBs: 150mm x 80mm
+
* Maximum size of PCB designs: 120mm x 80mm
 +
* Smallest isolation routing achieved at this point: 0.3mm (with 30 degrees engraving bit)
 
* DC power supply: 12V 10A
 
* DC power supply: 12V 10A
 +
* Maximum RPM spindle: 24000 (Modded from original 12000)
  
 
== Software used ==
 
== Software used ==
 
* Flatcam 8.97 Beta
 
* Flatcam 8.97 Beta
 
* bCNC
 
* bCNC
 +
 +
== Software installation ==
 +
The instructions below were tested on Debian 10 with contrib, non-free and backports repositories enabled. <br/>
 +
First, install the following required packages using the following command <br/>
 +
<code>sudo apt update</code><br/>
 +
<code>sudo apt instal git python-pip python3-pip</code>
 +
=== Flatcam ===
 +
Clone the flatcam git repository<br/>
 +
<code>git clone https://bitbucket.org/jpcgt/flatcam.git</code><br/>
 +
Enter the flatcam dir and switch to the beta branch<br/>
 +
<code>cd flatcam</code><br/>
 +
<code>git fetch && git checkout Beta</code> (At time of writing, we were using commit 2907a73)<br/>
 +
Install the needed dependencies<br/>
 +
<code>chmod +x setup_ubuntu.sh</code><br/>
 +
<code>sudo ./setup_ubuntu.sh</code><br/>
 +
Might be enough, but I aint installing my VM to make sure :-). So install the packages below as well:<br/>
 +
<code>sudo apt install python3-opengl python3-tk python3-fonttools libspatialindex-dev</code><br/>
 +
<code>pip3 install rasterio simplejson ezdxf svg.path freetype-py ortools vispy shapely</code><br/>
 +
You are now able to start flatcam like so:<br/>
 +
<code>python3 FlatCAM.py</code><br/>
 +
Go to Edit -> Preferences and set your units to mm.
 +
=== bCNC ===
 +
Run the following commands:<br/>
 +
<code>sudo apt install python-tk</code><br/>
 +
<code>pip2 install --upgrade bCNC</code><br/>
 +
From now on, you can launch bCNC by running:<br/>
 +
<code>python2 -m bCNC</code>
 +
 +
== Generating gcode from gerber files ==
 +
This guide assumes you have generated a gerber file from you design which is compatible with Flatcam.<br/>
 +
Each CAD program is different in this regard, and is beyond the scope for the documentation of this page.<br/>
 +
=== Generate isolation routing gcode ===
 +
* Start Flatcam
 +
* File -> Open -> Open Gerber
 +
* Select your gerber file
 +
On the right side, you will see a preview of your gerber file<br/>
 +
Verify that the dimension are correct and the bottom left corner is located at coordinate 0,0<br/>
 +
If something is wrong, go back to your CAD program and fix the problem with your gerber file<br/>
 +
* On the left side, on the Project tab, Select your gerber file
 +
* Switch to the Selected tab
 +
We're assuming that a 30 degrees engraving bit will be used. If you're using something else, you'll need to tweak the below values.
 +
* Set Tool Dia to 0.3
 +
* Click FULL Geo
 +
On the right side, you will now see red lines where you will be milling.<br/>
 +
Verify that all traces are actually being isolated. If not, your clearance is <0.3mm at this point.<br/>
 +
Fix your design and try again (or try your luck and use a smaller tool diameter)
 +
* Configure the values as shown below:
 +
** Cut Z: -0.08
 +
** Travel Z: 2
 +
** Feed Rate X-Y: 150
 +
** Feed Rate Z: 150
 +
** Spindle speed: 12000
 +
* Scroll down and hit Generate
 +
* After generation finished, click save CNC Code
 +
* Save as <yourfilename>.gcode
 +
This file can later be used by bCNC to mill out your traces
 +
=== Generate drilling gcode ===
 +
TODO
 +
 +
== Milling the PCB ==
 +
=== Mounting the PCB ===
 +
Grab the wooden plate with the attached PCB clamps<br/>
 +
Slide a blank PCB underneath the clamps<br/>
 +
Tighten 5 out of 6 clamps<br/>
 +
Grab a male to female jumper cable
 +
Jam the male end of the jumper cable underneath the 6th clamps<br/>
 +
Tighten the 6th clamp<br/>
 +
Slide the wooden plate into the ant<br/>
 +
Tighten down the 2 thumbscrews<br/>
 +
Attach the female end of the jumper cable to the blue jumper cable coming from the Ant<br/>
 +
=== Mill the PCB ===
 +
Connect your Ant to your PC using a Micro USB cable<br/>
 +
Connect your Ant to the 12V power supply and the powersupply to mains power<br/>
 +
Flip the switch to the ON position on the Ant<br/>
 +
Start bCNC<br/>
 +
Click File, and configure as follows:
 +
* Port: /dev/yourdevicehere (usually /dev/ttyACM0)
 +
* Baud 115200
 +
* Controller: GRBL0
 +
Click Open and select your gcode file<br/>
 +
Click Control<br/>
 +
Click Connection (if you get a resource busy error, wait a few seconds and try again. The Ant is still booting in that case)<br/>
 +
Click unlock<br/>
 +
Now you can control the machine using the arrow buttons in the control section<br/>
 +
The number value represents the distance it will travel each click in mm<br/>
 +
Make sure the drill bit is not touching the PCB and move your XY coordinates to where you want the bottom left of your PCB to be<br/>
 +
Click the XY=0 button<br/>
 +
To make sure that you have enough space, click the Move Gantry button and click in the opposite corner<br>
 +
If the gantry can move there without issues, proceed. If not, reposition you XY zero position or adjust your PCB design and start again<br/>
 +
Grab a cable with 2 alligator clips<br/>
 +
Attach one and to the purple jumper cable coming from the ant<br/>
 +
Attach the other end to the engraving bit. Make sure to route the cable through the front of the machine, or else it might get caught on the PCB clamps.<br/>
 +
Click on probe and open the probe menu<br/>
 +
Set the values as follows:
 +
* Fast Probe Feed: 100
 +
* Probe feed: 60
 +
* TLO: 0.0
 +
* Pos: <blank> <blank> -20
 +
Click on probe<br/>
 +
Click Z=0 to zero out the Z axis<br/>
 +
Go to control, lift Z with 1 mm and go back to probe<br/>
 +
Click autolevel<br/>
 +
Click the Margins button at the top<br/>
 +
Adjust the N values until the Step values are +- 7mm<br/>
 +
Set Z Min to -11.0 and Z Max to 1.0<br/>
 +
Click Scan at the top. The ant will now start moving to all over the PCB and create a height map<br/>
 +
After this has finished, click the Move Gantry button and click roughtly in the middle of the PCB design<br>
 +
Go back to Probe -> Probe and do another single manual probe<br/>
 +
Click Z=0<br/>
 +
Go back to Autolevel and click Zero (with the blue crosshair icon) at the top<br/>
 +
Remove the alligator clip from drill bit<br/>
 +
Check again that you remove the alligator clip<br/>
 +
Seriously, I mean it. CHECK AGAIN!<br/>
 +
Go back to Control<br/>
 +
Click start<br/>
 +
Congratulations! your PCB is now being milled<br/>
 +
 +
Manual tool change procedure still to be documented.

Latest revision as of 16:32, 11 September 2019

Project: Ant PCB Maker
Featured: No
State Active
Members Adnub
GitHub No GitHub project defined. Add your project here.
Description Creation of an Ant PCB Maker to prototype PCB design.

Also create needed manuals on how to operate it.

Picture
Ant PCB Maker Picture.jpg

Hardware completed. Documentation work in progress

Characeristics

  • Maximum size of PCB designs: 120mm x 80mm
  • Smallest isolation routing achieved at this point: 0.3mm (with 30 degrees engraving bit)
  • DC power supply: 12V 10A
  • Maximum RPM spindle: 24000 (Modded from original 12000)

Software used

  • Flatcam 8.97 Beta
  • bCNC

Software installation

The instructions below were tested on Debian 10 with contrib, non-free and backports repositories enabled.
First, install the following required packages using the following command
sudo apt update
sudo apt instal git python-pip python3-pip

Flatcam

Clone the flatcam git repository
git clone https://bitbucket.org/jpcgt/flatcam.git
Enter the flatcam dir and switch to the beta branch
cd flatcam
git fetch && git checkout Beta (At time of writing, we were using commit 2907a73)
Install the needed dependencies
chmod +x setup_ubuntu.sh
sudo ./setup_ubuntu.sh
Might be enough, but I aint installing my VM to make sure :-). So install the packages below as well:
sudo apt install python3-opengl python3-tk python3-fonttools libspatialindex-dev
pip3 install rasterio simplejson ezdxf svg.path freetype-py ortools vispy shapely
You are now able to start flatcam like so:
python3 FlatCAM.py
Go to Edit -> Preferences and set your units to mm.

bCNC

Run the following commands:
sudo apt install python-tk
pip2 install --upgrade bCNC
From now on, you can launch bCNC by running:
python2 -m bCNC

Generating gcode from gerber files

This guide assumes you have generated a gerber file from you design which is compatible with Flatcam.
Each CAD program is different in this regard, and is beyond the scope for the documentation of this page.

Generate isolation routing gcode

  • Start Flatcam
  • File -> Open -> Open Gerber
  • Select your gerber file

On the right side, you will see a preview of your gerber file
Verify that the dimension are correct and the bottom left corner is located at coordinate 0,0
If something is wrong, go back to your CAD program and fix the problem with your gerber file

  • On the left side, on the Project tab, Select your gerber file
  • Switch to the Selected tab

We're assuming that a 30 degrees engraving bit will be used. If you're using something else, you'll need to tweak the below values.

  • Set Tool Dia to 0.3
  • Click FULL Geo

On the right side, you will now see red lines where you will be milling.
Verify that all traces are actually being isolated. If not, your clearance is <0.3mm at this point.
Fix your design and try again (or try your luck and use a smaller tool diameter)

  • Configure the values as shown below:
    • Cut Z: -0.08
    • Travel Z: 2
    • Feed Rate X-Y: 150
    • Feed Rate Z: 150
    • Spindle speed: 12000
  • Scroll down and hit Generate
  • After generation finished, click save CNC Code
  • Save as <yourfilename>.gcode

This file can later be used by bCNC to mill out your traces

Generate drilling gcode

TODO

Milling the PCB

Mounting the PCB

Grab the wooden plate with the attached PCB clamps
Slide a blank PCB underneath the clamps
Tighten 5 out of 6 clamps
Grab a male to female jumper cable Jam the male end of the jumper cable underneath the 6th clamps
Tighten the 6th clamp
Slide the wooden plate into the ant
Tighten down the 2 thumbscrews
Attach the female end of the jumper cable to the blue jumper cable coming from the Ant

Mill the PCB

Connect your Ant to your PC using a Micro USB cable
Connect your Ant to the 12V power supply and the powersupply to mains power
Flip the switch to the ON position on the Ant
Start bCNC
Click File, and configure as follows:

  • Port: /dev/yourdevicehere (usually /dev/ttyACM0)
  • Baud 115200
  • Controller: GRBL0

Click Open and select your gcode file
Click Control
Click Connection (if you get a resource busy error, wait a few seconds and try again. The Ant is still booting in that case)
Click unlock
Now you can control the machine using the arrow buttons in the control section
The number value represents the distance it will travel each click in mm
Make sure the drill bit is not touching the PCB and move your XY coordinates to where you want the bottom left of your PCB to be
Click the XY=0 button
To make sure that you have enough space, click the Move Gantry button and click in the opposite corner
If the gantry can move there without issues, proceed. If not, reposition you XY zero position or adjust your PCB design and start again
Grab a cable with 2 alligator clips
Attach one and to the purple jumper cable coming from the ant
Attach the other end to the engraving bit. Make sure to route the cable through the front of the machine, or else it might get caught on the PCB clamps.
Click on probe and open the probe menu
Set the values as follows:

  • Fast Probe Feed: 100
  • Probe feed: 60
  • TLO: 0.0
  • Pos: <blank> <blank> -20

Click on probe
Click Z=0 to zero out the Z axis
Go to control, lift Z with 1 mm and go back to probe
Click autolevel
Click the Margins button at the top
Adjust the N values until the Step values are +- 7mm
Set Z Min to -11.0 and Z Max to 1.0
Click Scan at the top. The ant will now start moving to all over the PCB and create a height map
After this has finished, click the Move Gantry button and click roughtly in the middle of the PCB design
Go back to Probe -> Probe and do another single manual probe
Click Z=0
Go back to Autolevel and click Zero (with the blue crosshair icon) at the top
Remove the alligator clip from drill bit
Check again that you remove the alligator clip
Seriously, I mean it. CHECK AGAIN!
Go back to Control
Click start
Congratulations! your PCB is now being milled

Manual tool change procedure still to be documented.