##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.

Built With

Share this project:

Updates