Group Work - Task

My work in this assignment was to write the first code and tuning motor movement. We decided to use Arduino One boards (3), with a CNC shield for stepper motor control.

Our machine had 2 core opeartions:

  • XYmovement
  • RGB LEDs

We were using one Arduino One to recive all info from the UI and this board will be sending serial data to the other 2. Another board would be carrying the CNC shield, and will be the "motor" board. The last one will be the LED controller.

Program.

As said before, Arduino 1 (A1), will be recieving data as a code. M followed with two digits. This part will be read by Arduino with the CNC shield (A2 o AMotor), and will read the two digits following. THe idea behind, is there are going to be "predifined positions", for each pin. So every time A2 reads a position, will send the correct number of steps to the motors.

Same operation will follow the Arduino 3 (LEDs). The second segment sent by A1, will have and identificator (L) in front and two digits. As motors, there are going to be predifined colors for each digit.

Test

This are videos of our tests. Free motor movement and how LED works within each pin.

6

Driver Tuning

We are using a CNC shield with 4 motor drivers from Texas Instruments (DRV8825). Those drivers need to set for each stepper motor. Each unit controls current passing to the steeper, if the driver let to much current (driver > rated value motor) might damage the stepper.

For this type of driver, there is a formula using reference voltage. For a tutorial for current limiting pololu webpage details how to.

Files

All files can be found at here.