For this assignment we start from a reference, the machine designed and developed by the students in the Fabacademy 2018 class called ZeroCNCv2 which was created as a desktop CNC with 3-axis that are centralized in the middle of the machine.
The machine is composed by three main parts:
With the help of our instructor and as a team we started to think about what do we want our machine to do? And for all of us was important to continue the development of the ZeroCNC in honor to all the effort made previously and also as a team of designers we think that our machine should draw using the same mechanism and improve it.
One big change in relationship with the previous version is about the type of the stepper motor that we are using because in this new design the axis go trough the motor.
Our plan is to divide the work in three:
ANALIZING THE PREVIOUS SYSTEM:
The previously bearing system was designed using CAD and made with CAM and also buying some parts.
One problem of the previous design was about that the machine wasn't to accurate because of the X and Z axes guides were at different levels causing that the piece act as a pivot when it was operating.
Measuring the dimensions:
The Fasteners diameter is 16.18 mm and it should be inserted as a press fit in the lateral holes of the bearing system.
The guides diameter is 0.5 inches and also should be inserted as a press fit in the front holes of the bearing system.
The Threaded rod diameter is 10 mm and it should be cut in a half of each sides to be inserted in the center of the front side of the bearing system to to be secured on both sides.
NEW DESIGN FOR THE BEARING SYSTEM.
To correct that issue this new design propose to put the guides located at the same level for that I use Freecad to create the new design of the bearing system following the next work flow:
Freecad:
Flash print: Is a slice software used by FlashForge 3D printer. Work flow:
Printing (FlashForge Finder-hardware):
Firs I had to level the 3d printer this process was very easily because the machine had a sensor and I just need to adjust the screws. Also the bed of the printer needs be protected using scotch tape which is covered by a layer of stick glue. And after 6 and a half ours the cylinder guides are ready to be tested.
TESTING THE 3D PRINTED BEARING SYSTEM
Problem:
When I assembly the 3d printed bearing system with the linear motion shafts and the 3d printed motor holder made by Jorge the 9 cm distance between the axis was ok but the holes for nylon insulation washers was too tight and the holes for the linear motor shafts were too loose so for this time I had to use thread seal tape to secure the linear motor shafts to the holes. Also I had to use a drill dremel to sand the interior of the 3d printed bearing system so the nylon insulation washer can fit well and the linear motor shafts can slide easily.
Debugging:
First I changed the size diameter of the interior hole from 16.125 mm to 16.46 mm leaving a tolerance of 0.28 mm. A tolerance of 0.30 mm will be better. With a tolerance of 0.32 mm the fasteners are too loose from the 3d printed bearing system and the press fit doesn't work to good.
The second thing I changed was the diameter dimension of the two front side holes from 12.65 mm to 13.2 mm leaving a tolerance of 0.5 mm.
After that I add a extrusion of 6 mm at the front side leaving the holes with a depth of 15 mm because the linear motor shafts should be attached to the bearing system as a press-fit.
The result of the tests was very good with a few observations:
You can download the files:
Assembly the parts: we achieve the goal of build the mechanical parts and operate it manually.
Digital fabrication allow us to design and produce our own parts individually and after assemble all of them to create a system.
If we are going to create pieces that has to fit together is better to make little test and find the right tolerances.
Starting from a previously developed design helped us a lot to understand how the machine work and from that design we analyzed the most weak points of the mechanism and we improved it.
For this part of the assignment we divide the work in three:
PREVIOUSLY DESIGN 2018
The CNC shield developed by the students of the fabacademy 2018 and designed by Alex worked well but it doesn't look very good because the DC power Jack supply was loose from the shield.
Zero CNC Electronic configuration 2018Arduino nano
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328P. Works with a Mini-B USB cable. Tech specs.
3-Axis CNC/Stepper Motor Shield for arduino
It uses opensource firmware on Arduino to control 4 stepper motors using 4 pieces of A4988 Stepper Motor driver breakout board, with this shield and ArduinoUno/Mega. Datasheet.
NEW DESIGN 2019
So we decided to improve the design and attach the DC power supply to the board.
Eagle
I add three new components to the file a DC Power Jack which will feed the motors and the spindle through two terminals (AK300/2) connected through cables.
The idea for the design was to place the power supply of 5V and 12V at the same side to make easier the connection.
You can download the files:
Mods
I had to make some tests until reach the desired result and this are the settings:
Traces
Cut
You can download the files:
Machining
The milling tool was a new one of 60 degrees and I had to use a Dremel to drill the holes in to the PCB also a blade to separate two traces that the CNC didn't cut.
Solder
I had to use PBC connectors to connect the systems mounted on PCBs and transfer signals or power from one PCB to another. I use this two types:
After soldering all the connectors I mount the CNC shield and the arduino nano on the board and connect the terminals with the power supply trough cables.
Motor connections
To connect the motor cables we need to review the Nema stepper motor data sheet and also the CNC shield datasheet to know the right order in relationship with the colors of the cables.
Software:
CNCJS is a web-based interface for CNC milling controller running Grbl, Smoothieware, or TinyG. It runs on an Raspberry Pi or a laptop computer that you have Node.js installed. We download the app from this link.
The students of the fabacademy 2018 program the arduino nano so we just need to connect the shield to the PC. You can check the process at this link. After installing the app we did the next workflow:
As you can see in the video the voltage is 8.8 and the current is 2.7 at that moment we didn't know what's happening and we started increasing the voltage until reach 12 volts and the motors stop working. So we had to test the motors to know if they were not burned for that I use my easy driver and they were ok.
So another possibility was about the software so we try to upload the GRBL with Arduino 1.8.8 version and the software doesn't recognize the library and after trying with other versions of arduino the 1.6 version work very well and we realized that the software wasn't the problem.
Other possibility was about a blown fuse and that was the problem.
I had to desolder the component from the board and solder an external fuse using a fuse holder and a fuse of 2 amps. It' better if we had the fuse out of the board in case it blown so we can replace easily.
After doing that we had to figure why the current and voltage was varying to much and we realized that the drivers had to be configured and for that with Alex help we did the next work flow:
Fixing a connection issue:
I had to solder a cable to connect GND from the DC Power Jack with GND of the terminal because when I connect the power supply the energy doesn't flow. Before that I use a multimeter to check the connection between the GND pins of the power jack that's why I just connect one GND pin of the dc power jack because I tough they were connected internally but after I realized about that mistake Alex explain me when I connect the power supply the GND pin is disconnected internally with the other GND pin.
GRBL is a firmware for arduino boards(uno,nano,Duemillanove) that controls stepper motors and spindles/lasers. Because GRBL arduino boards you just hook it up to a free usb port. I found this link with information about how to install the software.
Now with firmware on the board we need to adapt grbl to your specific machine. To communicate with your board you need to open the Arduino IDE serial monitor. You should see a message like this "Grbl x.xj ['$' for help]" if you dont see the message, make sure that your are connected to the correct port and use the baudrate of 115200. Type "$$" and a list of commands should appear, like this:
To save time we are using the same configuration made by the students of the last year.
We download this file from Thingiverse to support the cables and also give mobility we decided to 3d print the cable chain and add more digital fabrication processes in relationship with the other pieces.
Links: are one modules which are repeated until form a chain inserting pins from one side into the other side holes until reach the chain shape.
Locks: are modules that we use them to secure the cables.
Final result:
Check the video of the machine drawing
We didn't assembly all the parts in a digital file so we had a mistake in the dimensions of the rods and we realized about that we assembly all the parts and review the right dimensions of the rods also we check in the real model.
Improving a previous development was a good decision because we safe time and also we contribute to all the effort made previously by the students of the previous years.
Always is better to review the datasheet of the components to know the current and voltage necessary and also to know some details about how is working.
PLA is a flexible material so will be better if we use steel for the bearing system but to understand the principles of the machine I think work very well.