I completed the first successful candle carving this weekend! The carving is approximately 60mm in diameter and 92mm tall. It took 5 hours and 50 minutes to machine the spiral fluted vase design from a pillar candle. Both the roughing and finishing machining operations were performed with a 1/8in diameter router bit.
I generally only post project logs when I have an interesting visual of project progress. All the challenges I had to solve to get to that point often go undocumented. So just for fun here, these are all my previous failed attempts at candle carving with this custom cnc system:
My computer shut down after 40 minutes per the "power & sleep" settings I forgot to change -> the Arduino stopped receiving g-code and the operation stopped
I didn't zero the system properly prior to starting the machining operation -> the bit rammed the candle
I was using wax bur bits and the rotational feed rate was too fast -> the plywood frame flexed and the bit dug into the side of the candle
I hand tightened the bit into the chuck -> bit came out during the machining operation
I forgot to set "$1" of the grbl config to 255 -> the motors would "disable" between movements and motor synchronization was lost
The ground connection on the x-axis enable of the stepper motor driver came loose -> the x-axis stopped moving
I ran using too high of cut depth per pass -> it pushed the candle out of the longworth chuck
I input the wrong stock material size in the rotatory machining program that generates the g-code -> the bit rammed the candle
Moving on from all the setbacks. I didn't end up laser cutting a custom electronics enclosure for this first prototype build. Instead, I drilled holes and mounted the electronics to a spare 12x24in plywood sheet I had available.
One minute of the roughing operation:
One minute of the finishing operation:
Overall, I was happy with how the first candle carving turned out. The motors stayed synchronized and did not overheat while in operation for almost six hours. The 1/8in router bit was sharper than the wax bur bits that I had been using previously and allowed a much faster feed rate. The dimensions of the final part matched closely to the modeled part dimensions.
Even so, there is still room for improvement. Adding torsional stiffness about the vertical axis would allow higher tool feed rates. The candle chuck can be redesigned to achieve a more rigid connection between the candle and the machine (possibly hold the candle from both top and bottom). The base rotational axis can be redesigned for ease of assembly. Its probably worth exploring alternatives to the v-bearings. Even with six of them on each axis there is still a little play and they tend to vibrate and create noise during operation.
I designed an electronics mounting panel for the cnc candle carver this week. It includes the 24 VDC power supply, a motor speed controller, three stepper motor drivers, a power switch, and a Aruduino Uno with grbl. The bottom and side panels are to be laser cut out of 1/8in baltic birch.
Turns out a commercially available CAM software called DeskProto has the capabilities to generate the rotary machining tool path instructions needed to operate the cnc candle carver machine. I will put the custom software on the hold now while I learn the parameters that the DeskProto software uses to generate the tool paths. The video below explains how to use the software to generate tool paths for complex geometries.
I chose to fully develop the mechanical and electrical components of CNC Candle Carver without even considering how challenging it might be to develop the control strategy for the machine. I take this approach to push the limit of my programming skills and to achieve more immediate gratification during the programming stage the project. Once I make a little progress on the code, I get to test it with the physical machine and start carving right away. Planning for small victories early on and throughout development has been a key part of maintaining motivation during my reach projects.
Fortunately, I think it's going to be possible to copy many of the techniques developed for 3D printing to generate the CNC candle carver tool paths from solid model files. The first major decision is to use the STL 3D solid model file format (STL file format Wikipedia page). The STL file format stores 3D geometry using triangles and a unit normal associated with each triangle that indicates the direction away from the 3D soild object. Triangles ought to be one of the easier 3D geometry representations to wrap my mind around so already I like where this is going. Also like 3D printing, I intend to "slice" the 3D geometry into horizontal layers. At each horizontal level, the candle will rotate and the carving bit will move in and out to follow the contour of the 3D geometry. My first thought here is to dig into the open source CuraEngine (https://github.com/Ultimaker/CuraEngine) to understand how the popular Cura 3D printing software slicer works. The end result of the slicing operation will be a 2D horizontal cross section of the 3D geometry at the specified vertical height.
The major difference from 3D printing is that candle carving is a subtractive manufacturing method (i.e. removes material to create the geometry; 3d printing is additive). So I really only care about the outside contour of each 2D horizontal cross section for this project. On this front, it would probably be easier to copy the techniques developed for cnc milling machines.
Please leave comments on any of your favorite open source cnc milling CAM software packages. I will dig into the code of each to understand what I might be able to copy for this project.
The video above shows the Longworth chuck in action on the rotary axis. I have chosen to use a Longworth chuck because it can be used to mount and center candles of a wide range of diameters and can be relatively low profile. With a shorter chuck profile it's possible to carve closer to the base of the candle. The way it works is that you place the candle on the top, rotate the top plate so the fingers move in to touch the outside of the candle, then tighten down the fingers. When the fingers are tightened the rubber stoppers (white cylinder in video above) expand radially from vertical compression to hold the candle in place. Issues I am having with it are that it is very difficult to move even when none of the fingers are tightened, it doesn't do a good job of self centering the candle (likely a fit tolerance issue) and even when tightened, the rubber stoppers don't do a good job of securing the candle. I am going to live with it for now, but ultimately I will probably transition to a design that uses nails that go into the wax of the candle for a stiffer mechanical connection.