##Hardware##
Inspiration
CNC concept from 3D printer.
What it does
We designed a CNC drawing/writing machine. Using Inkscape, we convert a digital image into the G-code, which is code that tells the computer how to reproduce the image. Then, we used Universal G-code Sender to send instructions to the Arduino and the motors.
How we built it
On the electrical side we used the Arduino Uno 3, a V3 CNC shield, 2 Nema 17 stepper motors, 1 servo motor (SG90), 2 limit switches, and 2 stepper motor drivers (A4988). We implemented limit switches to perform homing cycle before it draws. First we started using Inkscape to turn an image into G-code. After that we took the code into the universal G-code sender (UPS) and were able to control our motors from there. We also used the serial monitor on Arduino IDE to test our code and debug the electrical parts.
On the mechanical side we started out designing the framework pieces of our machine using Onshape. Then we printed them using a 3D printer. After we combined the pieces together, both the electrical and mechanical.
Challenges we ran into
On the mechanical side we ran into an issue with the tension of our belt. We had to go back and redesign and reprint our design to make it have a tighter belt.
On the electrical side we ran into an issue with powering our motors. At first we struggled with the stepper motors getting them to establish homing cycle and understanding how the G code and the configuration worked. After we resolved that issue, we ran into an problem with the servo motor. The GRBL extension we were using did not support Z axis movement for the servo motors to work. To solve this, we used MI-GRBL and Inkscape 0.48 instead of 0.92 for compatibility.
Accomplishments that we're proud of
Our team is very proud of how we were able to build the complete CNC practically from scratch. The concept of CNC and G-code were new to most of the members of our team. Yet, we were able to not only learn lots a lot about them, but also to find a common ground and collaborate to build the machine like we targeted to.
We are proud it started with just a line of code in Arduino IDE, to designing it in CAD, and to full functionality.
What we learned
We learned the importance of flexibility and adaptability. We had to change our design and approach to this project multiple times, and the only way we were able to finish it was to be open to new approaches and ideas.
What's next for CNC drawling machine
Since our team has students from different schools with different skill levels, we were able to build this machine through collaboration. This process has allowed us all to learned new skills from each other across our different discipline: mechanical and electrical. Moving forward, we hope to be able individually built our own CNC machines. Additionally for our next build of CNC, we think having a better wiring management system would greatly improve our machine.
Log in or sign up for Devpost to join the conversation.