7. Computer controlled machining¶
Group assignment¶
You can see our group assignment in detail here.
Before starting work, we went through a safety briefing, where we learned:
- never reach for the tool when it is working
- make sure that the part is well fasten to the machine
- always wear safety glasses
- wear earpads
- don’t wear gloves while operating the machine
Then we got acquainted with the various parts of the machine a ShopbotPRSalpha:
As well as the key to start the spindle
As well as a spindle control unit
Considered various types of cutters that need to be selected depending on the size and shape of the material.
We used the VCarve Pro software to prepare the material for processing on the machine when we did the test.
Before cutting, we fixed the material on the fixing layer and set the zero point along the Z axis.
When we started work, we monitored the process and, if necessary, stopped the machine.
In the end, we checked the accuracy and dimensions of our cut parts and found out that we have some nuances related to the accuracy of the cut and the use of different types of cutters.
Individual assignment¶
As part of my individual work, I wanted to make a clock. A good inspiration for me was the following video.
Test¶
The clock will consist of many gears cut out of plywood on a CNC machine. For them to rotate freely, I need bearings and metal rods. To make them move I need a stepper motor, and to make it work I need an Arduino Uno board. And for the direct operation of the stepper motor, I need an Arduino MOTOR SHIELD R3. In the future, to ensure the watch’s performance, I plan to replace the Arduino boards with self-made boards in order to reduce the cost of the watch.
Stepper motor operation¶
To solve this problem, I did not have a systematic solution. I decided to do some experiments. For me, working with stepper motors was new. I asked my instructor Babken Chugaszyan and he helped me to solve that problem.
Since this week does not cover Embedded Programming, I will not go into details for this reason. There is a detailed written article. And the code that I used to run the engine is the following:
// Include the Stepper library:
#include <Stepper.h>
// Define number of steps per revolution:
const int stepsPerRevolution = 200;
// Give the motor control pins names:
#define pwmA 3
#define pwmB 11
#define brakeA 9
#define brakeB 8
#define dirA 12
#define dirB 13
// Initialize the stepper library on the motor shield:
Stepper myStepper = Stepper(stepsPerRevolution, dirA, dirB);
void setup() {
// Set the PWM and brake pins so that the direction pins can be used to control the motor:
pinMode(pwmA, OUTPUT);
pinMode(pwmB, OUTPUT);
pinMode(brakeA, OUTPUT);
pinMode(brakeB, OUTPUT);
digitalWrite(pwmA, HIGH);
digitalWrite(pwmB, HIGH);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
// Set the motor speed (RPMs):
myStepper.setSpeed(60);
}
void loop() {
// Step one revolution in one direction:
myStepper.step(stepsPerRevolution);
}
The key value in this code is the following line, which affects the rotation speed:
// Set the motor speed (RPMs):
myStepper.setSpeed(60);
Also important is the following variable:
// Define number of steps per revolution:
const int stepsPerRevolution = 200;
It depends on the specific stepper motor, which can be found in its documentation.
Cutting test gears¶
In such cases, it is not possible to do without testing. If my stepper motor makes 1 revolution in 1 second, then in order for the second hand to make 1 full revolution in 1 minute, it is necessary that the ratio of rotations be 1/60. For obvious reasons, these revolutions had to be divided into several, which in total will give 60. And so I decided to make the smallest gear of 12 teeth. If a 12-tooth gear rotates a 48-tooth gear, then for 4 revolutions of the 12-tooth gear, one revolution of the 48-tooth gear will occur. This can be read as follows 48/12 = 4. And so if you choose the following pairs of gears: 48 with 12, 48 with 12 and 45 with 12, you get 4, 4, 3.75. And as a result, the number of revolutions will be reduced by 4 * 4 * 3.75 = 60 times.
I decided to draw the gears in Fusion 360, as there is a built-in plugin for generating gears.
At the very beginning, I drew 2 gears of 12 and 48 teeth to make sure it worked.
Test result¶
And here is what the result looks like.
And this is his work with the motor.
Watch design¶
The test was successful and it was time to start designing the watch. Fusion 360 is ideal for this task. However, when working with gear generation in FreeCAD, you can get more detailed characteristics, which will greatly simplify the computational tasks.
Axle placement¶
For the correct placement of the axes of rotation, it is necessary to take into account the characteristics of the gear, including its diameter of the pitch circle. Gear pitch circle is an imaginary circle passing through the points of contact between the teeth of one gear and the teeth of the mating gear.
Let’s use the diameter of the pitch circle from FreeCAD:
Number of teeth | module | pitch circle diameter (dw) |
---|---|---|
12 | 6.0 mm | 72 mm |
45 | 6.0 mm | 270mm |
48 | 6.0 mm | 288 mm |
36 | 6.0 mm | 216mm |
12 | 7.5mm | 90mm |
36 | 7.5mm | 270mm |
Let’s start drawing:
First you need to open the sketch. Then, in the center of coordinates, using the Circle tool, draw a circle with a diameter of 72 mm (72 mm is the diameter of the circle divider).
The idea is to first align all axes on the same line. It is important to first determine the location of the axes between two adjacent axes. Then you can rotate them to achieve the desired location of the axes in the plane. Based on this arrangement of axes, you can draw a watch case.
You can then copy (using the keyboard shortcut Ctrl+C and Ctrl+V) this circle. The program will automatically offer to place a copy relative to the characteristic point of the element (the center of the circle). I want the first 12-tooth gear to rotate the 45-tooth gear, so I need to move the copy a distance equal to half the sum of the pitch circle diameters: (72 + 270) / 2 = 171mm.
You can then change the diameter of the copied circle.
To continue the down-rotation transmission system, you need to put a 12-tooth gear on the axis of a 45-tooth gear (as previously explained), copying the original gear and moving it.
Let’s build the second and minute axes based on the diameters of the pitch circles of the gears.
It remains to arrange the axis for the hour hand. The last axis located is a minute axis, i.e. one complete rotation of this axis must occur in 60 minutes. To get the axis for the clockwise, it is necessary to reduce the number of gears by 12 times. To do this, I will place the 12 tooth gear on the minute axis and from there transfer the rotation to the 48 tooth gear and reduce the number of revolutions by 48/12=4 times (this can be done by copying).
Then it remains to reduce the rotation for the next axis by 3 times. You can use 12 tooth and 36 tooth gears. If we take 6 mm gears as module, then the Hours hand axis will intersect with the 48 tooth gear.
To solve this issue, you can increase the module of the last two gears to 7.5 mm.
Number of teeth | module | pitch circle diameter (dw) |
---|---|---|
12 | 7.5mm | 90mm |
36 | 7.5mm | 270mm |
The distance between the axles will become (270 + 90) / 2 = 180 mm, which will solve the problem.
You can use the Sketch Scale tool to correct the size of the circles. I did not change the number of gear teeth, but increased the module and to ensure the transmission of movement, the distance between the axle should be 180 mm, and the current distance is 144 mm. It is possible to write 180/144 as a coefficient of scale increase.
If displayed on the drawing, then the relative reduction in the number of turns will be as follows:
All axes have been added, now it will be possible to reposition in the plane by rotating relative to the axes to obtain the desired design (while the distance of the axis from two adjacent axes will be preserved).
But there is one caveat. If the driven gear rotates clockwise, then with this choice of gear system: the second axis will rotate counterclockwise, and the minute and hour hands will rotate clockwise. To solve the issue of the correct rotation of the second hand, there is a solution. The solution is to add a 48 tooth gear which will be rotated by a 48 tooth gear on the seconds axis.
Let’s do that:
In fact, what has been created so far are auxiliary figures. For this reason, let’s change the type of these lines. This can be done by selecting the necessary items and clicking on the Construction icon in the right menu:
And now, in order not to accidentally move the construction lines, let’s fix them using the Fix tool.
Front case design¶
With the gear axles in place, it’s time to draw the housing. The size of the plywood that is in our laboratory is 1520mm by 1520mm. To get both the front of the case and the back from the same plywood, I will draw a rectangle with a side of 722 mm (leaving space for fastening on both sides). To ensure equal spacing of the ends of the gears on all four sides, I will make the other side equal to 1122 mm.
And in order to fix the contour, you can fix the location of the top and side sides relative to one axis:
And now let’s draw the location of the clock faces of such sizes that the gear teeth are visible:
Now let’s draw circles for the location of the axes with a smaller diameter than the diameter of the gears, but a larger diameter several times greater than the diameter of the gears (in the future, bearings for the rotation of the axles will be located this way).
And then with the help of the OFFSET tool we will set a frame with a size of 30 mm:
Next, let’s connect the places where the watch faces are attached to the case.
To do this, draw auxiliary perpendicular lines from the center of the circles to the frame. Then, from the points of intersection with the frame, we will construct tangent circles.
Then, with the help of the OFFSET tool, we will construct a coaxial circle larger in radius by 30 mm:
Then I’ll use the TRIM tool to remove the unwanted parts:
Then, using the Fix tool, you need to fix those parts that should be fixed:
Then let’s make the connection nodes with beautiful transitions, for this you need to draw circles and make them tangent (Tangent tool):
Then you need to remove the extra parts of the lines (Trim tool):
Let’s make the connections between the remaining axial circles and the frame like this:
The result will be the following:
The bottom of the watch case will match the top. And the volume of the inner part can be obtained by creating connecting parts of the appropriate sizes.
Let’s start building connections. Since I’m going to use 10mm thick plywood, which requires sanding, after sanding, according to preliminary calculations and my experience, the thickness of the plywood will be 9.8mm. Based on this value, I will use 9.8mm plywood thickness in my calculations.
First of all, to build connections, you need to use the “Offset” tool and build a rectangle equidistant from the original one by 9.8 mm on all sides.
I’m going to build the connection points based on them falling into the boxed places. I want to make standard 30mm connections.
Let’s build the first joint 15mm from the edge. To do this, I need the construction of auxiliary lines. For the correct connection between the parts, I’m going to round off the sharp edges. This is required for the reason that the section of the cutter during rotation is a circle that does not pass into sharp edges. This will require the application of dependencies in particular Fix and Tangent.
After removing the extra lines, the junction will take the following form:
Let’s copy and paste along this side where it intersects with the frame:
And now let’s copy the connection points and move them to other sides of the case:
It is also necessary to add circles in the places of the axes, which during cutting will help us to make the location of the bearings. For now, I will draw a circle with a diameter of 16mm, and in the future, based on the size of the bearings, I will change the diameter in the VCarve Pro program.
Thus, the design of the front of the watch case is ready.
Back case design¶
To implement the back of the watch case to make it easier to work with, the first thing I’ll do is mark the sketch I just drew and export it in DXF format. Then I’ll create a new sketch and paste the previously exported sketch into it.
Those circles that were constructive changed their status and became visible. First of all, I will remove them, leave the outer contour and bearing places, and get the following result:
Now let’s add wall hanging points to the back of the case. Since the gear system allows you to make it so that the clock can be placed both horizontally and vertically, I will make holes for nails with for two situations:
Now let’s place the stepper motor that will power the whole system. Let’s look at the features of this motor. Its body is a circle with a diameter of 55 mm. In addition, there are mounting points spaced 68mm apart on the case that we can use. You also need to take into account the side wires.
Based on the dimensions of the stepper motor, let’s draw its projection from the top side and place it in a place where it will set the gear in motion.
Also, let’s allocate a place for the location of the motor and electronics. I will allocate a space of 120mm by 240mm. Additionally, depending on the distance between the gears, I allocate the appropriate height space.
Let’s make the connection points of the electronics block on the back of the watch case based on the selected area.
Now let’s copy this sketch and use it to create a part of the top part of the electronics compartment:
And for the bottom of the watch case, the design will be as follows:
Placement of gears in space¶
It’s time to determine what the internal space should be so that all the gears fit in it in height. To make the right decision, let’s draw the gears according to their dimensions and place them in space in height.
First of all, let’s define the thickness of the front and back of the case. To do this, use the Extrude tool and select the appropriate area. You can then move the top of the case up.
I already know which gears will be used in the project: the main parameters are modulus and number of teeth, and based on these data, the dimensions of the gear are determined. The only thing left is to determine the thickness of the gears. Considering that perfect placement of gears is not practical, it would be wise to make 12 gears out of thicker plywood to ensure good engagement between the gears. In my case, for cutting out 12 gears, I will use 18mm plywood (which will be 17.6mm when machined) and 10mm for the rest of the gears (which will be 9.8mm when machined).
You can use a script to create gears in Fusion 360. To do this, go to the UTILITIES section, then click on ADD-INS, then select SpurGear from the list.
Then a window will open where you can enter gear parameters. In my project, 5 types of gears are used. For each, you need to register your parameters:
Let’s take turns creating and moving to the respective axes. Then it will be possible to move vertically so that the gears do not intersect with each other. And you can also turn the gears so that the teeth match.
After the work done, the gears were positioned so that the smallest gear closest to the body was 5 mm away from it, this would allow the gears to rotate freely.
The position of the gears made it clear that 74 mm of space in the housing was sufficient for the location of the gears and the operation of the system.
Side details¶
Now let’s create the side details. In order for the gears to be visible from the side, I decided that to get the sides I would use small parts at the junctions. I will assume that the height should be 74mm plus two plywood thicknesses, and the width 30mm of joint distance plus two 15mm on both sides. And also round off the sharp corner so that the plywood easily enters the joint (Joint).
Now let’s set the part thickness to 9.8mm.
And now let’s copy the part and place it at the joints:
Let’s create the sides of the electronics case in the same way. We will assume that for the location of the torque gear and for the possible placement of the motor and electronics, 33 mm of space is the best option.
Now Let’s set the thickness of the electronics case parts and place them in their places:
If you turn on the visibility of other parts, then the general view of the entire drawing will be as follows:
Working with CNC milling¶
After the design is ready, you can proceed to work with CNC milling. In order to cut parts, it is necessary to generate a G-code based on the drawings. VCarve Pro program is used to generate G-code for CNC milling ShopbotPRSalpha.
Working with VCarve Pro¶
First of all, I open the VCarve Pro program and create a new document, where you need to specify the dimensions of the material used. The size of the plywood used in our laboratory is mainly 1520mm by 1520, and the size of our CNC milling machine is 1220mm by 2440mm, then basically a large piece that we put on the table is 1520mm by 1220mm. For this reason, I indicate 1520 by 1220 as parameters. And I indicate the thickness of plywood 10.2 mm. I select the zero report along the Z axis on the table surface.
This program can create and modify a drawing.
Let’s change the design a bit. Since the design of the clock is designed to ensure that the gear system is visible, it will be necessary to close it with acrylic to restrict access. Let’s provide a place for inserting a restrictive glass on the front of the case. For this I will use the Offset tool.
Then select Outwards / Right, then select Distance, then mark the vector and press *Offset.
Then I want to draw three circles in the places of the axes, which later explain why they are needed:
Then it’s time to place the drawing in place of the cut, the parts can be arranged so that the material consumption is minimal:
Fixing the part¶
First of all, a sheet of plywood is fixed to the sacrificial table with the help of clamps. And in the same places where there is no space for clamps (clamps) can be attached using two pieces of plywood and a screw:
Since I use 10mm thick plywood that can bend and I will use a 6mm cutter Up Cut as the main cutter, it is possible that during cutting the plywood can rise up and damage Tabs and the cut part will come off from the sheet. To solve this issue where there are voids, I will draw circles, mark these circles and set the Drilling Toolpath operation:
For Cut Depth I have entered a value of 0.5mm because I need to know where the screw can be safely placed. And further fastening of the part to the sacrificial table with the help of a screw can be done by opening the hole with a drill.
Operation Pocket Toolpath¶
The next thing you can choose is to select the places for fixing the organic glass, and select Pocket Toolpath as the operation. As a cutter, I choose a 6 mm cutter. As Cut Depth I push 3.6mm (This figure is related to the thickness of organic glass).
For a 6 mm cutter, the parameters are as follows:
Spindle speed is 12600rpm, travel speed is 25mm/s, depth of pass is 4.0mm, etc.
After pressing the Calculate button, a G-code will be generated, you can even see the trajectory of the cut:
Output for cutting¶
In order to give a G-code for execution, it is necessary to save it. In the right menu there is a list created by G-codes. You can select multiple files to save at once.
An important factor is that if you decide to save several operations in one file, then the cutter must be the same. The sequence of the selected files is also important.
After the desired file is saved, you can open the ShopBot management program. When you press the Cut Part button, a menu will open from which you can select a file:
After the file is selected, you can click on the START button. A pop-up warning window will open that the spindle must be rotated with a separate button, only after that press OK.
After clicking the end of this operation, you can see the following result:
Bearing support locations¶
In order to make the place of the bearing stand, you need to use 1/8 inc. cutter. The parameters are as follows:
In order to make places for the bearing stand, you need to do 3 operations Pocket Toolpath:
After performing three operations, we get the following result:
2D Profile Toolpath¶
Now let’s cut out the details. For cutting, you must select the operation 2D Profile Toolpath. Specify Cut Depth 10.1mm. After Cut Depth has been specified, in the lower section, depending on the parameters of the selected tool, the number of Passes will be indicated (If you click on Edit Passes, you can change the number and value of Passes).
The 2D Profile Toolpath operation has three options: Outside, Inside and On, i.e. relative to the vector how the cutting will take place.
If you tick Add tabs to toolpath in the lower window, then enter the values, and then click on Edit Tabs ...., then you can manually or automatically add Tabs . This will allow you to leave connections between the part and the plywood sheet at the cutting points, which will allow you not to spoil the part when cutting.
Let’s also create other operations:
And after saving the G-codes, let’s cut it out:
After removing from the table, we get:
Cutting out the remaining details¶
12 tooth gears are designed for 18mm thickness. In order for the driven gear to attach to the stepper motor, instead of a round hole, it must have a hole in the shape of a gear. I generated the gear design in Fusion 360, Number of Teeth indicated 14 and Module indicated 0.8.
To perform the Pocket operation, I choose a cutter with a diameter of 1/32 inc ..
Then, for cutting, I chose a cutter with a diameter of 6 mm as a cutter:
Then I cut it out by machine and got the following result:
Let’s move on to cutting out the back of the case.
The difference from the design will be that the watch will have a mirror look. When I cut out the front of the body, I didn’t mirror it before cutting it out. For this reason, I will mirror the back of the case.
Let’s generate a G-code for the rear case cutout:
And then cut out:
Then cut out the remaining necessary gears:
Handmade¶
After design and cutting on CNC milling, manual work is required before proceeding with assembly.
Separating parts from a sheet¶
After the cut plywood sheet is removed from the surface of the CNC milling table, the parts cut by the mill will be glued (stuck) to the sheet in the places applied by TABS.
To separate the parts from the sheet, I will use cutter.
Sanding¶
After cutting on CNC milling, roughness appears on the surface and in the places of the cut. To remove roughness you can use a *** wood sander machine ***.
And in hard-to-reach places, you can use a manual sandpaper.
In my case, I also used the machine created in our laboratory (Fab Lab Armenia Dilijan). It is a wood file rotating around its axis. When the material is brought to it, the material is polished.
Mounting bearings¶
As bearings, I will use the bearings that we have in our laboratory from a disassembled old printer.
The bearing locations are already made by CNC milling.
In order not to damage and not affect the performance of the bearings, I will insert them into their destinations using a rubber mallet. After the work done, all bearings are put in place:
Cutting steel round bars¶
For the axles for the gears, I will use steel round rods 8 mm in diameter, which we have in our laboratory from a dismantled old printer.
Ordinary axes on which the arrows will not be fixed will not go out. As a result, I will need 5 rods 84 mm long and 4 rods 105 mm long. Since there are no rods of the required length, I will have to cut it out with a grinder.
Using a grinder does not provide greater cutting accuracy, for this reason I cut the rods longer than the required value, and then shorten them using whetstone machine.
Placing the gear in a predetermined position¶
To transmit rotation, it is necessary to prevent the rotation of the gear around the axis. I created holes in the gears that fit snugly on the axle so that the transmission of rotation is carried out using friction. Since the holes in the gears are smaller in diameter compared to the axles, the hammer blow method was used to place them in a given position.
Assembly¶
To make it easy to disassemble the watch, I made the connection points so that the case parts were assembled using screws.
Using a drill or drill with a special nozzle, you can make hidden places for screws
If the bulges were made a little larger relative to the concavities, then screws could not be used, but since we are talking about a watch mechanism, they may need to be disassembled to get it working.
The stepper motor on which the drive gear is located is attached to a special housing:
Inside the case is placed electronics that drives the stepper motor:
Inside the case there is a connector for turning on the power:
Now you can place the gear system in its place:
Let’s take a look at the placed gears:
Let’s turn on the power and see how the system works:
After this test, let’s fix the top of the watch case:
The problem is that after complete assembly, the gear system does not rotate properly. Perhaps this is due to the deformation of the metal rods, which occurred as a result of hammer blows when placing the gears in the specified places. In addition, due to the hammer blows, the friction force between the rods and the 10mm plywood gears has been reduced, resulting in gaps in the transmission of motion.
Conclusion¶
This week has been very busy. I liked using the CNC router to carve the working mechanism out of the gears in the plywood. Although there were some problems, in my opinion they are solvable. In order for the clock project to work properly, I will approach their solution. Work on the watch project will continue as part of the final project, to which additional features will be added.