Assignment of the week is to document a final project that integrates the range of units covered, answering:
For my final project, I will be building a low-cost 3-axis CNC machine. The machine should be able to mill PCBs, acrylic, wood and aluminum. Some of my design goals for my final project are:
The prototype can be used as a dismantlable PCB milling machine and soft material 3-axis scalpting for example, milling modeling Wax for molding and casting objects. It should be able to mill fairly precise 2D-milling traces, including sharp corners and TH holes.
It's been quite tough trying to make up my mind on what to do for the final project, but I've finally decided to make a low cost CNC machine. My reasons for chosing this as my final project is very simple:
DIY CNCs are very popular hobbyist projects. There are many sites on the Internet with information on building such machines, ranging from fully manually fabricated and assembled to 3D printed CNC. MIT's Centre for Bits and Atoms has a special group focussing on Machines that Make, with many inspiring project examples based on CNC applications.
Even though many people and fablabs have built CNCs before, I believe that this is a very useful skill and knowledge for us here at Aalto Fablab. Considering the Situation with the recent Pandamic lockDowns, I bleave having a functional low budget Milling machines that we could provide/ lend out to our Fablab users could help with getting R&D projects moving forward regardless of external factors. We are still relatively new to machine building and I would like to develop our in-house capability to build machines of any kind and this would be a first step in that direction.
I've looked at previous 'Duino clones designed by Fab Academy students. As most clones do not follow the standard Arduino pinout and therefore cannot be used with existing Arduino shields. Since one possible approach for my final project is to make use of common Pololu RAMPS 1.4 shield that is compatible with the an Arduino board, I have decided to design my own Atmega328-based 'Duino clone that uses standard Arduino pinout. This makes it compatible with existing Arduino shields available in the market. Standing on the shoulders of giants I started from looking at builds on the excellent prior work done by Jens Dyvik in the Fellesverkstedet - Fabricateable machines project and the Satsha-boards Satshakit made by Daniele Ingrassia.
There were 2 possible approaches that I had been considering to approche the electronics control: Using gestalt nodes or Using arduino compatible board running gbrl, with custom made RAMP holder shield that needs to be designed. I've looked at previous 'Duino clones designed by Fab Academy students. As most clones do not follow the standard Arduino pinout and therefore cannot be used with existing Arduino shields. Since one possible approach for my final project is to make use of common Pololu RAMPS 1.4 shield that is compatible with the an Arduino board, I have decided to design my own Atmega328-based 'Duino clone that uses standard Arduino pinout. This makes it compatible with existing Arduino shields available in the market. Standing on the shoulders of giants I started from looking at builds on the excellent prior work done by Jens Dyvik in the Fellesverkstedet - Fabricateable machines project and the Satsha-boards Satshakit made by Daniele Ingrassia.
Links to some popular sites with CNC builds:
During my research for this project, I also got familiarized with the firmware called GRBL. I designed electronics for it based on Fab in a Box and Arduino Uno clone. The GRBL firmware was ready almost out of the box and the GUI called GRBL Controller worked out of the box. I tested electronics, firmware and GUI with an example G-code and the machine we made on the machine building week with my group mates.
Custom mechanics: I designed custom mechanics based on the most common 20x20 aluminium extrusion pupular structure used in most low priced 3d Printers such as ( Plusa and Luzbots). I start designing the CNC-machine from the scratch, according to my original sketch using Fusion 360. The Nema17 stepper motors and 8 mm lead screws and guides models come from Mc master insert function in Fusion. My design was heavily dictated by the length of lead screws and attachments we scavenged in the lab from old 3d printers. I used commercially available bearings, screws and t8 nuts connections and pockets and and sunk to the walls of the gantries was designed accordingly . We also had a broken Ronald MDX-20 milling machine at the lab and I decided to recycle the Spindle -DC Motor and hence designed a custom attachment to the Z axis Gantery and a spindle controller. In the future i will need to re-design this part to accomodate more easly accesable Spindle unit. The choice of frame put also into consideration that the build plate could be extended if a longer linear screws will be used in the future. The cross section of the X- and Y-axis has pockets for six linear bearings and nuts for the lead screws. Motor mounts for the x and Y-axis was water jet cut.
Custom electronics: I redesigned the free GRBL stepper motor driver board to be able to drive 4 stepper motors at a time incase of future 4 axis add on. For the the control board I started with Daniele Ingrassia satsha board design and modified it to incorporate a FTDI232 chip for serial to USART connectivity integration. Power switch and power LED were added to the casing. Having a FTDI's chip in the control board is very convenient as it only needs to be connected with a regular USB-cable instead of a special serial cable.
The frame of the CNC-machine is made of 20x 20 Aluminuim Extrusions. The gantry. rail holders and some other connection parts are 3d printed of PLA. I also use a water jet cut X&Y motor mounts. Mechanical parts include three Nema17 motors, 8 mm guides and lead screws, aluminium motor coupler, linear bearings and radial ballbearings. The power source is a transformer capable of 13.5 V and 14.9 A. The control box is 3 mm plywood. The most essential electronic components are the FTDI's chip, Atmega328p and Allegro a3967 stepper motor drivers. There is also a bunch of wires, M5 screws, nuts, bolts, resistors, capacitors and 16 MHz resonator. PCBs are FR1.
Other than stepper motors, motor couplers, threaded rods, smooth guide rods, and bearings recycled from an old 3d printers, everything was found in the lab. Most electronics components such as resistors and capacitors are in the Fab inventory list, exept the 16 MHz resonator, 22uF 1206 capacitor and FTDI's chip. everything else was recycled left over in the lab I was allowed to use.
The mechanical components bought for the machine are:
Amount | Material/Component | Function | Source | Price | Make/Buy |
---|---|---|---|---|---|
20x20mm | Aluminium Extrusion | Structure & rack. | rsdelivers.com | ~€24 | Buy |
3 | Nema17 Stepper motors 57BYGH902 | Motion | banggood.com | ~€30 | Buy |
3 | 4 4A Stepper drivers | Individual motor control | Components from pololu, aliexpress | ~€60 | |
1 | Spindle Motor Unit (MDX-15) | Milling | Delivered from roland | €93 | Buy |
1 | 24V 15A Power supply | Provide electric power | from Digikey | ~€90 | Buy |
6 | Limit switches | Restrict motion | Personal supply | ~€5 | Buy |
3 m | Cables | Wire all electronics | Local stores (Biltema, ) | ~€5 | Buy |
- | Connectors and Switches | Connect all electronics | Farnell | ~€5 | Buy |
1 | Controller | Motion planning and control | Components from fab lab invetory | ~€4 | Made in Week15 |
- | - | Total: | ~€316 + Shipping | - |
The electrical parts are:
Rest of the materials were recycled or left overs I was allowed to use. I evaluate HDPE around 30€, power 20€ and other small supplies 30€. (Wires, 3D-printing, screws, etc.)Doing all together in total 138.55€. I calculated BOM with USB to Serial cable despite of the fact I made another version of it. We also found a spool of EDM wire less than 90€. That means the whole machine would be around 250€!
The result is a fully functional CNC-machine. The workflow from fusion drawing to 3d printing and profile cut object and assembly were tested. Parts made in this work include:
Processes used were:
Including no less than all the core processes.
Before I can begin building the CNC router, there are a number of factors that I need to consider:
Step 1: Key Design Decisions
Step 2: The Base and X-axis Frame
Step 3: The Y-axis Gantry Design
Step 4: The Z-axis Assembly Design
Step 5: The Linear Motion System
Step 6: Mechanical Drive Components
Step 7: Choice of Motors
Step 8: Cutting Table Design
Step 9: Spindle Options
Step 10: The Electronics
Step 11: The CNC Controller Options
Step 12: Selecting the Software
Phew! Loads of sweat & nervous chewing of fingernails... That's a lot of stuff that need to be considered when designing a CNC machine. I hope to make some headway over the next few weeks, so that I can begin working on some of the subsystems as we progress in the course.
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.
I found answers for how to make mechanical parts with Fab lab equipment. I am also got familiar with the firmware and functionality of the software stack to use the machine. Tooling paths can be made with Fab Modules. I know now how to make a CNC-machine and use it. The work also covered the use of all essential Fab lab machinery.
I evaluated the machine by making a test cut with a soft material. The whole working flow and system will be tested. I also need to run a demo presenting the machine.
Considering the tight schedual there was absolutely no room for errors in mechanical design. Although I have done mechanical design earlier, given the shortage of time and the type of stepper motors the tolerance of the design needes to be very close to perfection to reduce the amount of torque required on these small stepper motors. I would count it as a success, if I had something that looks like a machine presenting the skills required to make such parts and if I knew what I did wrong. Everything needs to fit at its place, After assembly and calibrations everything need to work and the cut object need to correlate with the g code sent with good accuracy.
CNC Router | PCB Milling | Laser Engraver | 3D Printer |
Some of the sites that I have researched for my project include:
To read more about my design & build process, click on the links that follow:
The CNC router consists of the following subsystems: