Week 15
Machine Design
Assignment
Individual
• actuate and automate your machine.
• document the group project and your individual contribution.
Programming process
Software Used
Grbl
Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. It will run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328. The controller is written in highly optimized C utilizing every clever feature of the AVR-chips to achieve precise timing and asynchronous operation. It is able to maintain up to 30kHz of stable, jitter free control pulses. It accepts standards-compliant g-code and has been tested with the output of several CAM tools with no problems. Arcs, circles and helical motion are fully supported, as well as, all other primary g-code commands. Macro functions, variables, and most canned cycles are not supported, but we think GUIs can do a much better job at translating them into straight g-code anyhow. Grbl includes full acceleration management with look ahead. That means the controller will look up to 18 motions into the future and plan its velocities ahead to deliver smooth acceleration and jerk-free cornering.
From :https://github.com/grbl/grbl
Universal g-code sender
A full featured gcode platform used for interfacing with advanced CNC controllers like GRBL and TinyG. Universal Gcode Sender is a self-contained Java application which includes all external dependencies, that means if you have the Java Runtime Environment setup UGS provides the rest.
Hardware Used
• arduino uno
• Cnc shield
• Pololu motor drivers
• 12v 10A power supply
Compiling grbl
Follow the instructions as shown from: https://github.com/grbl/grbl/wiki/Compiling-Grbl
Uploading grbl to arduino
To Flash Grbl: Using the Terminal, first make sure you're in the same directory as the grbl.hex file you want to flash to the Arduino, which we'll call $GRBLHEX. Then, type one of the following command lines in to flash:$AVRPATH -C$CONFPATH -pm328p -carduino -P$DEVPATH -D -Uflash:w:$GRBLHEX
Universal G-code sender
Connect to com port as shown.
Checking settings enter the $$ command and press enter to get the following.
Problems encountered
The following popup appeared when I tried to run the machine from the machine control tab.
When this occured I tried running from the serial terminal on arduino using 115200 baud rate. This worked.
I used the interface to test the stepper motors and to determine whether the speed of motion set by the default settings was optimal. The speed turned out to be too fast so I changed the settings using the $100=100 command. This set the x axis steps per mm . the $101 and the $102 commands set the y and z so i changed that too on the command tab. The speed was now ok as seen in the video below.
Video link:
After optimising the speed it was time to run the machine.
After mounting the motors and doing the onnections using the timing belts and ensuring everything is well connected it was time to test if the machine will be able to move properly as shon on the x and y axis.