Create a CNC lathe that can machine a 2D drawing mapped onto an 3D irregular sphere
The final project video is shown below:
.
This is the summary slide
The final project is to create a CNC Lathe that can mill a 2D design onto irregularly shaped sphere (Pumpkin), based on mapping the 2D design onto a point cloud scanned from the target object in four (possibly five) iterations:
For the past several years, I have used my Laser Cutter/Engraver to etch a drawing onto pumpkins. This requires wearing special eye protection and venting the fumes.
My laser is not strong enough to cut, so the best that it can do is to etch a line. The darkness of the etching varies based on the distance from the laser's focal point. Additional work needs to be done after etching to carve the pumpkin using the etched lines. The goal of the project is to have a "finished" pumpkin when the process completes.
Here are some previous projects and what applies or does not apply to my problem:
CNCs
CNC Lathes
Hardware and Software
This project is highly dependent on previous work on generation of tool paths in G-Code and execution of the G-Code using GRBL and CNC control using Universal G Code Sender (UGS).
Lithophane (if time remains)
I haven’t found any direct way to generate Lithophane tool paths from a design. Here are some early concepts, that I will explore if I have time.
The figure shows a dynamic model of the final project. Move the left mouse button to rotate the assembly. Rotate the mouse button to zoom in or out.
This section is organized by the assemblies that make up the project. The following figures and tables answer the following questions for each assembly:
The case is sized to fit the pumpkin that I laser cut last year. It is made from .5 in Baltic Birch with cross braces for stability.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
1 | Case Assembly | http://www.crosscuthardwoods.com/ | ||||||
1.1 | Case - Right Side | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
1.2 | Case - Left Side | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
1.3 | Case - Back Side | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
1.4 | Case - bottom support | 2 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
1.5 | Case - cross support | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
1.6 | rotating axis motor bracket | 1 | PLA Filliment | *2 | Make | 3D Print | ||
1.7 | large pinion 60 circ v2 | 2 | 1/2” HPDE | Tap Plastics | *3 | Small CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_cutting_boards/346 | |
1.8 | NEMA23 Stepper - 270 in-oz (57BYGHH627) | 3 | Wantai Motor - eBay via Makerspace Order | $20 / ea | Buy |
*1 - 5' x 5' Russian Birch Plywood - $50. *2 - PLA 3D Printer filament - $20 *3 - 6" x 6" x .5" HPDE - $10
The gantry moves up and down on an HDPE rack and pinion system and holds a router which moves in and out on a similar rack and pinion system.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
2 | Gantry Assembly | |||||||
2.1 | Up/Down Rack Assembly | 1 | Make | Large CNC | ||||
2.1.1 | innerRailBrace | 4 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.1.2 | outerRailBrace | 4 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.1.3 | 15.5 in Rack - Right | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.1.4 | 15.5 Rack - Left | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.2 | Gantry Cross Bracket | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
2.3 | Corner Bracket | 4 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
2.4 | In/Out Rack Assembly | 1 | ||||||
2.4.1 | left - short inner brace | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.4.2 | left - short outer brace | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.4.3 | right - short outer brace | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.4.4 | right- short inner brace | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.4.5 | 11 in Rack | 1 | 3/8” HPDE | Tap Plastics | *4 | Make | Large CNC | https://www.tapplastics.com/product/plastics/cut_to_size_plastic/hdpe_sheets/529 |
2.4.6 | Router Bracket | 1 | PLA Filliment | Make | 3D Print | |||
2.4.7 | NEMA23 Stepper - 270 in-oz (57BYGHH627) | 1 | Wantai Motor - eBay | $20 / ea | Buy |
*4 - 2" x 3" x .375" HPDE - $60
The base rotates using two pulleys and a timing belt attached to a stepper motor. The weight is taken by a lazy susan bearing. The size force of the pulley is applied against a 5/8 bolt sitting loosely in a holes in the center of the base and the cross pieces.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
3 | Rotating Axis Base Assembly | 1 | ||||||
3.1 | Lazy Susan Mount | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
3.2 | Rotating Base | 1 | 1/2” Plywood | Crosscut Hardwoods | *1 | Make | Large CNC | http://www.crosscuthardwoods.com/ |
3.3 | "12"" Round Lazy Susan - 28985" | Rockler Woodworking and Hardware | $10.00 | Buy | ||||
3.4 | "1/2” Wd. .375 Pitch, L Series Timing Belt" | 1 | $15.00 | Buy | https://www.mcmaster.com/timing-belts |
The probe assembly is used to stop the G38.2 command. It consists of 4 3D printed halves of a plunger and cylinder pressing on a limit switch. The probe fits in the router bracket housing.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
4 | Probe Assembly | |||||||
4.1 | Probe Housing | PLA Filliment | *2 | Make | 3D Print | |||
4.2 | Probe | 1/16 Metal Rod | Buy | |||||
4.3 | Limit Switch | Scrap Materials from Makerspace | Free | Acquire |
The Jog Controller was done over several week's assignments. The silicone was cast in Moulding And Casting. The Electronics were built in Input Devices. The software was written in Interface and Application Programming.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
5 | Jog Controller Assembly | |||||||
5.1 | Silicone button casting | Free | Acquire | |||||
5.2 | Jog Controller PCB | Make | PCB CNC | |||||
5.3 | Jog Controller Case | PLA Filliment | *2 | Make | 3D Print |
The electronics consist of two boards. One is a modified version of the Satshakit Serial board and the other is a modified version of a CNC Shield to drive DRV8825 drivers.
Item No. | Name | Quantity | Material | Source | Cost | Make/Buy | Process Used | Reference |
---|---|---|---|---|---|---|---|---|
6 | Electronics | |||||||
6.1 | 24v 15a DC Universal Regulated Switching Power Supply | EAGWELL (amazon.com) | $24.68 | Buy | https://www.amazon.com/EAGWELL-Universal-Regulated-Switching-Computer/dp/B01IOK5FM0/ref=cm_cr_arp_d_product_top?ie=UTF8 | |||
6.2 | PCB Assembly | |||||||
6.2.1 | GRBL board | Make | PCB CNC | |||||
6.2.2 | Stepper Motor driver shield | Make | PCB CNC | |||||
6.2.3 | DRV 8255 - Stepper Motor Driver | Scrap Materials from Makerspace | Acquire |
My questions were related to risks associated with unknowns
The tool chain runs from CAD through CAM. There are several ways this could be done. This is an example of milling an oval.
First, a design is created. This can be done in an SVG tool such as Inkscape or if the design is simple, directly in a CAM tool such as Easel.
The CAM tool is used to generate G-Code. The G-Code is exported and imported into G-Code Ripper. This tool is used to generate the x/y grid of points to be scanned.
This grid is exported and used as input to a Python script that I wrote that reads the g-code 38.2 probe commands, sends them using REST to Universal G-Code Sender which then sends them to the CNC and moves the probe.
After each probe, a query is made for the current coordinates. This produces the Z value where the probe stopped. These x, y, z values are written to a file. This file is loaded back into G-Code ripper along with the original G-Code and used to map the design to the surface. Last the mapped G-Code is loaded into Universal G-Code Sender and executed on the CNC.
Ultimately, the final evaluation is "Will my wife allow me to put pumpkins created by the CNC on the front porch?"
The real benefit of this activity is not the CNC, but the knowledge of how to build CNCs. I expect to build a larger x/y/z CNC as alternative to my smaller CNC. It is likely that I could build a vinyl / fabric cutter for my wife's quilting crafting. Bottom line is that this class did what was advertised, it helped me to learn how to build almost anything.
Earlier assignments covered building the jog controller assembly, and the CNC. This section covers creation of the electronics for the final project.
The main board is based on the satshakit-grbl board but a different UART. I couldn't source a CH340G USB to Serial converter from Digikey, so I substituted an FT232RL-REEL UART. It required some small changes to the wiring but it does the same thing with better driver support.
Because I wanted to drive my CNC shield, I rewired the headers to match the normal Arduino GRBL pin out.
I am using the TI DRV8825 stepper drivers. I needed to build a shield to hold the drivers. The shield is based on the CNC shield.
The traces that supported the steppers needed to handle up to 2 amps of current. The traces were widened for this reason.
This picture shows the components ready to be placed on the milled board.
This picture shows the board after reflow.
This picture shows the two completed boards. (Note the DRV8825 drivers are not shown in this picture.)
This picture shows the assembled base and shield.