New project - MSFS C++ USB interface


Results 1 to 40 of 163

Threaded View

  1. #32
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,646


    Did you find this post helpful? Yes | No

    Default Re: New project - MSFS C++ USB interface

    I think the secret to making nice double-sided PCBs on a mini-CNC is to establish a procedure. This is what I do on the mini-CNC:

    Code:
    1. Install 3.175mm drill bit.
    2. Home X, Y and Z axis.
    3. Probe Z-axis.
    4. Drill Left Alignment Holes.
    5. Drill Right Alignment Holes.
    
    6. Install 30deg V-bit.
    7. Probe Z axis.
    8. Height-map PCB, if required.
    9. Route Top layer.
    
    10. Install 0.8mm endmill bit.
    11. Probe Z axis.
    12. Route Top layer Cutout.
    
    13. Flip PCB using Alignment Pins.
    
    14. Install 30deg V-bit.
    15. Probe Z axis.
    16. Route Bottom layer.
    
    17. Install drill bit.
    18. Probe Z axis.
    19. Drill Bottom layer.
    
    ... repeats steps 12 - 14 for all Drill files
    
    20. Install 2 Retention Pins in Screw Holes.
    
    21. Install 0.8mm endmill bit (Make sure drill clears Retention Pins).
    22. Probe Z axis.
    23. Route Bottom layer Cutout.
    I take notes while I'm using the machine, and improve on the process.

    This is what I do to generate the G-code files from FlatCAM:

    Code:
    =========================== FlatCAM ===========================
    
    Start WinPythonPowershell
    
    cd ..
    cd ..
    cd flatcam
    python .\flatcam.py
    
    
    ========== Do Height Map before drilling, if required. ==========
    
    
    	*** do not import Drill file for 3 Fiducials ***
    
    
    ****************** Alignment Holes and Mirror ******************
    
    Generate Drill files and Mirror Bottom:
    	- select MechanicalNofiducial file.
    	- click on 2-Sided.
    	- Axis = X.
    	- Reference = Box.
    
    	- click on Gerber.
    	- Select Bottom layer.
    	- click on Mirror.
    
    	- click on Excelon.
    	- Select Drill file.
    	- click on Mirror.
    	...
    	- repeat for all Drill files.
    
    	- Drill Dia = 3.175mm.
    
    	- point on desired coordinates Upper Left above Outline.
    	- Shift + Left Click.
    	- click Create Excelon Object.
    
    	- point on desired coordinates Upper Right above Outline.
    	- Shift + Left Click.
    	- click Create Excelon Object.
    
    	- select 1st Alignment Hole Drill file.
    	- click Properties.
    	- rename to "1 - Alignment_Holes_L_3.175mm".
    	- click Drilling.
    	- Cut Z = -10.0mm.
    	- Travel Z = 1.0mm.
    	- Feedrate = 25mm/min.
    	- SpindleSpeed = 7500rpm.
    	- Start Z = 1mm.
    	- EndMove Z = 1mm.
    	- EndMove X,Y = 0,0.
    	- Preprocessor = GRBL_11_No_M6.
    	- Click GenerateCNCjob Object.
    
    	- select new Alignment CNC Job.
    	- Save CNC job (include drill dia and side in file name).
    	...
    	- repeat for 2nd Alignment Hole Drill file with:
    	  - "2 - Alignment_Holes_R_3.175mm",
    	  - EndMove Z = 25mm.
    
    	- Save Project.
    
    
    ************************ Milling Layer ************************
    
    Generate Geometry file:
    	- hide all other layers.
    	- select Gerber file for Top layer.
    	- click Properties.
    	- click Isolation Routing - Advanced.
    	- click Calculators, if necessary:
    		- Tip Diameter = 0.1mm
    		- Tip angle = 30deg.
    		- Cut Z = -0.1mm
    		- click Calculate.
    		- Copy Tool Diameter of 0.1536mm.
    	- Paste Tool Diameter.
    	- Shape = C1, circular with 1 flute.
    	- Passes = 2.
    	- Overlap = 20%.
    	- Enable Combine.
    	- Click Generate Geometry.
    
    	- Save Project.
    
    Generate CNC file:
    	- Select Geometry file.
    	- click Properties.
    	- click Milling - Advanced.
    	- Tool Dia = 0.1536mm.
    	- Job = Isolation.
    	- Cut Z = -0.1mm
    	- Travel Z = 1mm.
    	- Feedrate X-Y = 120mm/min - 140mm/min.
    	- Feedrate Z = 10mm/min - 12mm/min.
    	- Spindle Speed = 9500rpm - 12000rpm.
    	- EndMove Z = 25mm.
    	- EndMove X,Y = 0,0.
    	- Preprocessor = GRBL_11_no_M6.
    	- click Generate CNCjob Object.
    	- Save CNC job (include mill shape in file name).
    
    	- Save Project.
    	...
    	- repeat 2 steps for Bottom layer.
    
    
    *************************** Holes ***************************
    
    Generate Drill file:
    	- select excelon file for alignment holes.
    	- click Properties.
    	- click Drilling - Advanced.
    	- Cut Z = -2.0mm (small), -3.0 (large), -10.0 (Retention Pins).
    	- Travel Z = 1.0mm; height above PCB for traveling.
    	- Feedrate = 25mm/min (large) to 40mm/min (small).
    	- SpindleSpeed = 7500rpm.
    	- Start Z = 1mm; height when operation starts.
    	- EndMove Z = 25mm; height to raise after operation.
    	- EndMove X,Y = 0,0; return to origin.
    	- Click GenerateCNCjob Object.
    	- Save CNC job (include drill dia in file name).
    
    	- Save Project.
    
    
    ************************** Cut-out **************************
    
    Generate Geometry file:
    	- hide all other layers.
    	- select Gerber file for MechanicalNofiducial.
    	- click Properties.
    	- click Cutout - Advanced.
    	- Tool Diameter = 0.8mm.
    	- Cut Z = -0.5mm (top layer), -1.3mm (bottom layer).
    	- Passes = 0.10mm.
    	- Margin = 0.
    	- Gaps = None.
    	- Click Generate Geometry.
    
    	- Save Project.
    
    Generate CNC file:
    	- Select Geometry file.
    	- click Properties.
    	- click Milling - Advanced.
    	- Tool Diameter = 0.8mm.
    	- Job = Finishing.
    	- Cut Z = -0.5mm (top layer), -1.3mm (bottom layer).
    	- Multi Depth = enabled, 0.1mm - 0.15mm.
    	- Margin = 0mm.
    	- Gaps = None.
    	- Travel Z = 1mm.
    	- Feedrate X-Y = 100mm/min - 360mm/min.
    	- Feedrate Z = 10mm/min - 30mm/min.
    	- Spindle Speed = 9500rpm - 12000rpm.
    	- EndMove Z = 25mm.
    	- EndMove X,Y = 0,0.
    	- Preprocessor = GRBL_11_no_M6.
    	- click Generate CNCjob Object.
    	- Save CNC job (include endmill shape in file name).
    
    	- Save Project.
    There's been a lot of tweaking and adjusting since day 1. Most of those values are now set as the default values in FlatCAM. I have a lot less room for errors, except in things like trace isolation and PCB cut-outs; I use Milling operation for both of them, but use a V-bit for isolation, and an endmill for cutting out the board. Those 2 bits don't use the same speeds.

    Robert
    Last edited by Demon; - 22nd October 2023 at 01:32.

Similar Threads

  1. USB interface
    By Frozen001 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 28th December 2011, 19:37
  2. Host for USB interface?
    By Carrasco in forum Off Topic
    Replies: 4
    Last Post: - 3rd August 2007, 23:59
  3. USB Interface using PIC
    By Tissy in forum mel PIC BASIC Pro
    Replies: 21
    Last Post: - 22nd May 2006, 16:04
  4. USB interface from PIC16F877 to PC
    By headshouter in forum USB
    Replies: 0
    Last Post: - 26th February 2006, 04:58
  5. USB project
    By NL2TTL in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 18th January 2005, 21:59

Members who have read this thread : 23

You do not have permission to view the list of names.

Posting Permissions

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