Design a machine that includes mechanism + actuation + automation
Build the mechanical parts and operate it manually.
Document the group project.
Individual assignment:
Document your individual contribution.
Machine Design (part 2 of 2)
Group assignment:
Actuate and automate your machine.
Document the group project.
Individual assignment:
Document your individual contribution.
Learning Outcomes:
Work and communicate effectively in a team and independently.
Design, plan and build a system.
Analyse and solve technical problems.
Recognise opportunities for improvements in the design.
Introduction:
In this week we decided to design and make a modular cnc machine that could have many different attachments, all while controlled through a simple interface of G-code. The machine can perform milling and laser engraving operations. For the beginning, we decided to make it like a plotter to draw simple shape with a pen, then we can build and improve its mechanism to be more complex. Yoe can find the all documentation for this week in our . group assignment page
My contribution: Being a mechanical engineer, I have a good experience dealing with mechanical design and mechanisms, I am using a lot of CAD/CAM software and operated a lot of digital and manual machines. But, here I decided to be responsible for the electronics and control part to have different knowledge and experience and to explore this field
Steps in General:
Step(1): Exploring the electronic components.
Step(2): Controling the CNC machine.
Step(3): Final Results
Steps in Details:
Step(1): Exploring the electronic components
Arduino: is a development board and an integrated development enviroment (IDE), it has a microcontroller to be programmed to do specific functions, and also has some input and output pins to communicate with the enviroment, it can take signals from sensors and then instruct actuators to do some tasks. We will use the Arduino UNO to control the machine.
CNC Shield: is a shield which is assembled with the Arduino and has drivers to control the stepper motors. it takes the high power and arduino signals and handle them to the motors.
Actuators: they take signals in order to move with specific speeds, directions and accelerations. We will be using stepper motors (NEMA 17 standard). one motor for the x-axis, 2 motors for the y-axis and one motor for the z-axis.
Power Supply: is the source of electricity to power up the machine. it is defined by volt, ampere and power. we are going to use a 24 volt , 10 amp power supply.
Step(2): Controling the CNC machine:
The next step is to load GRBL onto the Arduino Uno as this is what communicates with the motors and transmits the G-Code to the CNC. I placed the motor shield on top of the Arduino Uno and the motor drivers on top of that. It’s best to test one motor and motor driver at a time to ensure GRBL is running correctly. Once you’ve determined GRBL works, you can hook up the rest of the motors and play with them. I thought this step was pretty cool as it’s one of the main things that makes a CNC a CNC. There are various programs online to actually send GCode to the Arduino and most of them are pretty light and self explanatory. I like SourceRabbit GCode Sender the best (linked below), but there are several other programs available that you can find with a quick search. I also attached a few guides I used for installing GRBL and other electronic troubleshooting;
At this point you can also use the jumpers included with the CNC kit for configuring the 4th axis and microstepping. Configuring the 4th axis will tell the shield which axis the motor plugged into the “A” port on the board controls. For this CNC, place two jumpers across the Y pins since the two motors control the Y axis. Microstepping is discussed further in the next step. CAUTION: Make sure the power supply is off when messing with the Arduino and CNC Shield. If you don’t then you run the risk of damaging the motor drivers, the shield or even the Arduino.
It is importatnt to download and install the Source Rabbit GraalNM to enable java for the software.
After finishing the installation, I opened the SourceRabbit GCode Sender and selected the port, and baud rate to 115200 and the framework to GRBL 0.9 and later and the pressed connect.
A new window appeared showing the tha macine is conneted, machine status and machine control.
I started moving the motors and the worked well and did some calibration to make sure all motors are working in the correct directions.