Modular DIY CNC Machine

by:Lxshow     2020-03-13
I am a college graduate with a degree in mechanical engineering and love architecture.
For my work, I can design and integrate parts for large expensive satellite components, but I don\'t have much work to do due to the size.
I \'ve always been interested in CNC machines and laser cutting machines/engraving machines, but I \'ve never really had the money or space to buy one myself.
I decided to test my engineering background and build my own CNC machine to be able to upgrade and use as few tools as possible.
This Instructure includes what I designed and how to create my own machine by following these steps.
For the first iteration and documentation of my design, please refer to my initial instructions: modular diy cnc machines for about $300.
When I designed and built my first Machine version, I originally wrote this structure.
After two 3D printers and several design iterations, I finally created a machine that I believe is solid enough for others to create.
You can refer to the pictures in the attached file to get the documentation and questions for my other versions and see why I designed this machine the way I did.
I have recreated the assembly process using the rendered image provided by Inventor.
This makes it easy for people to see where what went and it\'s easy to track at home.
If for some reason the image in the step is hard to read, you can refer to the attached PDF of the instructions.
For some steps, I do provide additional tips and tricks in the instructions that are not included in the PDF.
I hope you find this Instructure helpful in your own CNC build and feel free to leave any comments or questions below!
If you like what you see, please vote for me in some of the competitions I \'ve been in!
I want to make this CNC machine as proof of concept while creating something I can upgrade in the future.
I created my design using Inventor until I found something that could optimize my build area while also solving my previous iteration.
The traveling area of the cutting tool is 8 in X, 2 in 14 and Z in Y, but this may increase if longer aluminum profiles are used.
The workpiece itself is fixed on the scrap board under the machine.
In my first version, the artifacts actually moved and the gantry was still, but I found a lot of problems with the design.
Gantry along Y-
The shaft is driven by the belt and there are Motors on both sides of the frame. The X-
Moving perpendicular to the Y axis
Along the shaft of the gantry, also driven by a belt.
Attached to Xaxis is the Z-
Shaft, drive up and down by screw.
The overall design is similar to X-
Mix engraving with Open build Acro laser cutting system.
Again, the goal of the machine is to allow it to upgrade later.
This means that you can zoom in or out of the squeeze depending on your needs and budget.
I also designed Z-
The shaft has a basic connection scheme, which means that multiple tools can be connected as long as the adapter design has matching mounting holes.
For my purposes, I created an attachment for my Dremel and 2. 5W laser.
You can also design adapters for pens or even 3D print heads to list several options.
The total cost of this machine is around $325, excluding Dremel or laser.
I hope you find this manual useful if you decide to build your own CNC.
There are a lot of resources to do this, and I hope I \'ve created something to help focus a small part of this information.
Since I live in an apartment and don\'t have a lot of tools to start this project, I have selected components based on ready-made or through online vendors.
By cutting the profiles yourself, using different suppliers or completely different materials, this item may be cheaper, but I find this to be the easiest option.
Frame: all aluminum profiles come from 8020.
Net, it provides services for cutting and mining of all profiles.
This means that the chop saw that cuts the metal is not necessary because everything has been ordered for length. The T-
Slot extrusion is also fairly standard, meaning their hardware is easy to find and is not proprietary hardware for a single vendor.
The frame is assembled together with small brackets and bolts and can easily adjust the geometry and make it bigger if I want to in the future.
Carriage and transmission system: the X-axis and y-axis use carriage movement to reduce friction and facilitate the connection of profiles, motors and other electronic equipment.
For the Shipping Board, I chose to use the laser cut acrylic resin I ordered through Ponoko, mainly because my 3D printer did not fit my design and I wanted the board to be fairly solid.
V is also used in cars-
Slot wheels with bearings, when you add them up, it starts to get expensive.
However, I found that the wheels work very well and they improve the overall efficiency of the machine.
The motor on each compartment then moves along the frame using a belt drive system. For the Z-
Shaft, I found it simple, just designed the carriage, sliding T-
Slot In extrusion.
The shaft is also driven using screws and nuts directly attached to the motor.
Electronics: Based on research on CNC designs and machines for other online sales, I decided to choose Arduino Uno as the brain.
I found a kit on Ebay that includes a generic Arduino Uno, a stepping motor shield, 4 motor drives, some limit switches and 3 stepping motors.
These parts can be purchased separately for cost savings, but this is handy as I know they are compatible with each other and have an extensive guide online.
I also purchased the 4 th step motor with a 2-axis so I can easily lift the Z-axis.
The kit includes radiators for each step drive, but I found them still warm.
I added one on a cheap computer fan powered by Arduino, which is very effective for lowering the temperature.
The laser I bought is also powered by a wall socket, so there is no easy way to turn it on or off without unplugging it.
To fix this, I added a cheap relay controlled by Arduino to turn on the power off of the old extension line.
This allows me to insert my tool and use it when the Arduino control is active.
Custom parts: I used Ponoko custom cut my carriage as mentioned earlier.
Other custom parts include machine leg Z-
Z-shaft alignment, fan and wire stand
Brackets and all tool adapters.
Due to the smaller and more complex parts, I decided to use my 3D printer (
Select Mini v2)to make them.
This allows me to iterate over their designs until I find something that fits my machine.
You can find all the parts on this Instructure so you can print them yourself or have the online supplier print them for you. -----------------------------------------------------------------------------------------------------------List of materials :-
Estimated cost: approximately $325 (
Not including Dremel or Laser)-
For all parts, prices, and links, see the Excel file in the attachment.
One of the main goals of this project is to create CNC machines by using as few tools as possible.
This does increase costs in some places, but most of the tools needed are very basic or easy to get.
I am using: several parts need to be prepared in order to fit the machine perfectly.
Note: You may need to add (2)0.
032 \"thick washers on each M5 x 45mm bolt between the inside of the Y plate and the outside of the Y plate, so the slider does not rub against the extrusion.
I chose to use the two-axis stepping motor of the Z axis.
This makes it easier to manually lift and lower tools when needed.
Note: You may need to add (2)0.
The 032 \"thick gasket on each M5 x 45mm bolt is located between the inside of the X plate and the outside of the X plate, so the slider does not rub against the extrusion.
Can also be added (1)0.
032 \"thick gasket between 0 each.
25 \"cap screws and T-
Connecting the outside of the X plate to the 1010x6 \"extruded slot nut is recommended to test all electronic products first before placing.
This makes it easier to troubleshoot all faults, but this can still be done if the parts are already placed.
The first part I received was actually the CNC kit, which was fine as it gave me the chance to play with the motor and made sure I could move my CNC.
You also need the power supply, otherwise there is actually nothing to move the motor.
Make sure to connect the power supply correctly, otherwise you may short-circuit the assembly and possibly damage your electronics.
I plugged the power into the surge protector just in case.
To connect to the power supply, I took an old computer power adapter and removed the wires, which showed the live, negative and ground wires.
Make sure there is a ground connection for any cable you use.
You can use multiple
The meter is used to determine which wire is which, or you can consult the online source as most cables are the same.
Once I \'ve identified which wires it is, I tag them so I don\'t mix them up later.
I then connect them, plug the power into the socket and measure the output voltage using a multi-power supply
Meter to make sure I get the 24 v I need.
I have a potentiometer on my power supply so I adjusted the power supply to get the value I want.
The next step is to load the GRBL onto the Arduino Uno as this is to communicate with the motor and transfer the G-CNC code.
I put the motor shield on top of the Arduino Uno and the motor driver on top.
It is best to test one motor and motor driver at a time to make sure GRBL is working properly.
Once you \'ve identified how GRBL works, you can connect the rest of the motors and play with them.
I think this step is cool because it is one of the main factors that make CNC a CNC.
There are various programs online that can send GCode to Arduino, most of which are very simple and clear. I like Grbl-The best panel (linked below)
, But you can find several other programs by quick search.
I have also attached some guidelines I use to install GRBL and other electronic trouble shooting: At this point you can also configure the 4-axis and micro-step using the jumpers included in the CNC kit
Configuring the fourth axis will tell which axis of the shield motor is inserted into the \"A\" port on the board control.
For this CNC, since the two motors control the Y-axis, two jumpers are placed on the Y pin.
The next step will be further discussion.
Note: Make sure the power is off while fiddling with Arduino and CNC shield.
If you don\'t, then you have the risk of damaging the motor drive, shielding, and even the Arduino.
Believe me, it\'s hard for me to understand this and it\'s not fun trying to figure out what caused the problem.
My original routing scheme was to place the Arduino on The X board and route everything to it, as shown in the figure (Option A).
However, I was never very happy with this, so I changed the route so the Arduino was placed next to the power supply on the waste board (Option B).
This means that since the original cable is not long enough, I need to add wires for each motor and limit switch.
I also added a couple of drag chains to clean everything up.
The results are much cleaner than before and mimic routes similar to many other CNC machines.
Once everything is put together, you can run almost your first test program.
However, the CNC will not have the correct settings completely, which means your program will not be executed accurately.
The CNC has to be calibrated now, so it\'s actually where Gcode tells it.
For example, CNC does not know how far a revolution in the motor actually makes the machine move.
To configure this, you need to set the step/mm that tells the motor how far the amount specified in the move Gcode needs to rotate.
You may need to iterate the step value before you get the value that produces the most accurate result.
The main formula you need is: the best way to find the step value is: you can also use microsteps to make the motion smoother in case of torque loss.
For this reason, in order to make the movement as smooth as possible, it is best to minimize the overall friction of the machine.
To integrate this, you need to connect the appropriate jumper on the CNC shield and adjust the step value.
The new formula you need is: for my machine I use the following settings: I also use the following link as a reference: GRBL settings can be set up and G-sent using the following program-
Code: if your stepping motors are not moving, if your motors are plugged in, but they are not moving when you send the command, make sure to send the correct current or voltage to the stepping driver.
You can measure with the multimeter mentioned here and then adjust the potentiometer until the correct value is reached.
You should run the motor according to the specifications.
If you look at these values, you are at risk of damaging the motor or stepping drive.
Now here\'s the interesting part: Make things!
To do this, all you need to do is create a design, make Gcode and send it to the machine.
There are many different ways to create the code, but I found it successful to use the Inkscape and gcodetols plugin to convert your design.
You can also use Easel for XCarve, but you can change the settings to match your machine and export the Gcode.
The basic steps to run the machine after generating Gcode are as follows: Make sure to zero the machine to set working coordinates.
If you don\'t, the machine will think that zero is at home, which means it will hit the finish line.
This is standard for most CNC machines, so there are a lot of online resources on this.
I also like to use the Gcode visualisation tool to make sure the design is actually transmitted correctly and find that CAMotics is a good program.
I also run Gcode before using any tool to avoid damaging the tool in case the Gcode is not quite correct. -----------------------------------------------------------------------------------------------------------
Fixture: There are many different types of fixtures, so it depends mainly on the user\'s preferences.
I love what Marius Hornberg does, or you can find it on Thingiverse as well.
Alternatively, you can also use the tape, but make sure that the workpiece is firmly fixed on the garbage board so that it doesn\'t fly away.
Tips and tricks: Possible improvements :-----------------------------------------------------------------------------------------------------------
In this way, you have finished creating and setting up your own CNC!
Thank you for reading this manual and leaving comments and questions below!
After many repairs, I found that the screw bars and nuts in the z axis do not have enough precision and power.
When the motor turns, it takes a few laps before the shaft moves.
So I replaced the rod with the ACME thread bar (~$20 on Amazon)
Similar to what is used in a 3D printer.
The z-axis slider was also redesigned to fit the new ACME nut that came with the bar, and I updated the sliding configuration to minimize misplacement.
I originally designed a wheel transport system but found it difficult to keep alignment.
The wheel is unnecessary because the rod seems to withstand most of the force, so it is easier to use a sliding Z adapter.
I also found a quick-release Bosch router stand on Thingiverse and redesigned the stand file so it can install the adapter board.
All other related files can be found through the Thingiverse link.
Z axis upgrade sliding configuration BOM: Z axis upgrade wheel frame configuration BOM :-
As you can see in the picture, I created a shell to place the CNC.
This is a metal shelf unit I bought from Lowes.
The wood used is a mixture between the pellet board, 2x 4S, and some other scrap wood laid around me.
The window is acrylic and a branch of Lois.
This will help reduce the confusion caused by dust and noise from the router.
Another upgrade in the future is to make dust-proof shoes and possibly install insulation on the housing to further suppress noise. -
Additional step file for STL file in step 2 (
Updated Dremel fixture included)-
Additional step files for all plates.
For files that have been set up, order plates directly from them using the Ponoko link-Created a Z-
Shaft knob easy to adjust-
Create an adjustable stop at Y-
Custom message
Chat Online 编辑模式下无法使用
Leave Your Message inputting...