Introduction: DIY Robotics | Educative 6 Axis Robot Arm

The DIY-Robotics educative cell is a platform that includes a 6-axis robotic arm, an electronic control circuit and a programming software. This platform is an introduction to the world of industrial robotics. Through this project, DIY-Robotics wishes to offer an affordable but quality solution to all those who would like to learn more about this fascinating field. This project is an excellent opportunity to develop various knowledge and skills in the fields of mechanics, electrical as well as computer science. With the DIY-Robotics educative cell, robotics is within everyone's reach.
This manual shows the various steps for mechanical assembly, electrical assembly and the installation and use of the DIY-Robotics Educational Cell V1.0 software. You will find all files related to the development of the educational robotic cell in the compressed folder. It includes the 3D drawings of the robot, the electrical diagrams of the controller, the Arduino code, the software source codes as well as the bill of materials required. Before getting started, be sure that you have access to a 3D printer and to buy all the components required. You will find a list of all the components required along with their price and where to order them in the bill of materials (bill-of-materials.pdf). If you get stuck or need help make sure to check the DIY-Robotics Forum. You can create an account for free and ask your question to our community of accredited specialists and robotics enthusiasts. Let’s begin! (and have fun!)

Download the whole project:https://diy-robotics.com/

Step 1: Arduino Programming

Download the Arduino IDE software directly from the Arduino website:

https://www.arduino.cc/en/Main/Software

Open the DIY_ROBOTICSEDUCATIVECELL_Arduino_V1_0.ino file included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.

Connect the Arduino Micro to your computer with the USB cable.

Select the type Arduino / Genuino Micro and the correct communication port.

Refer to image 1.

Program the Arduino Micro by pressing the Upload button:

Refer to image 2.

Step 2: Robot Electronic Controller (PCB) Assembly

1. Overview

The electronic controller of the robotic educative cell is the bridge between the programming software and the robot. The microcontroller used on the printed circuit, the Arduino Micro, performs the following tasks:

• Communication between the electronic controller and the programming software
• Control of the 6 robot motors (5V servo motors)
• Control of 3 digital output signals (0-5V logic levels)
• Reading of 3 digital input signals (0-5V logic levels)

Refer to image 1 to see the description of the PCB.


2. Printed circuit board (PCB) order

The printed circuit board (PCB) of the robot controller can be ordered from any PCB manufacturer with the "GERBER" files included in the compressed folder DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip.

We suggest you to order from the manufacturer JLCPCB (jlcpcb.com) which offers a fast, simple service at a very low price. Follow the following steps to order the PCB:

A) On the jlcpcb.com home page, select QUOTE NOW, then Add your gerber file.
Select the Gerber.zip file in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.

B) Select the default parameters.

C) Select Save to cart and proceed with payment to complete the order.

3. Printed circuit board (PCB) assembly

Once the robot controller PCB in hands, proceed to its assembly. You will have to solder all the components.

Each component of the PCB is identified.

bill-of-materials.pdf material list included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder will help you to sort the components.

Refer to image 2.

Pay particular attention to the polarity of the following components:

LED1, LED2, U1, U3, C1, C2, D1, D2, D3, D4, D5, D6, Q1, Q2, Q3

These components must be soldered the right way, otherwise they will burn. For example, notice that the light emitting diodes (LEDs) and the capacitors (C) have a long pin and a short pin. The long pin, the anode, must be inserted and soldered into the hole identified by a +.

Refer to image 3 to solder these components the right way.

Finally, 3 resistors of 10k Ohm must be added to the circuit in order to make the digital input signals (Di) functional. These resistors are described as follow in the material list:

RES 10K OHM 1/4W 5% AXIAL

Refer to image 4 to see where to solder those additional resistors.

Step 3: Robot Mechanical Assembly

1. Overview

In order to mechanically assemble your robot, you will need the following components and tools:

  • 4 MG966R servo motors
  • 2 9g Micro servo motors
  • 8 3D printed robot parts
  • 24 metric M2 nuts
  • 24 metric M2 bolts
  • 2 metric M2.5 bolts
  • 4 metric M3 bolts
  • 3D printer
  • Soldering iron
  • Lighter
  • Hex keys

Refer to the DIY_ROBOTICSEDUCATIVECELLV1_0_BOM.pdf material list included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip.

2. 3D printing

You will find the 3D files of the 8 robot parts in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.

Print the parts using a 3D printer. We recommend that you use the following settings:

  • Top layer 4 layers
  • Bottom layer 4 layers
  • Wall 4 layers

3. Align the servos

Before assembling the robot, it is important to make sure that all the servo motors are at midpoint. In order to align the servos, make sure you have previously programmed the Arduino microcontroller and assembled the robot controller. Follow the instructions below to align the servo motors:

Connect the 6 servo motors to the robot controller.
Make sure the connectors are plugged in the correct way.

  • Brown wire : 0V (-)
  • Red wire : 5V (+)
  • Orange wire : PWM

Connect the 12V regulator to your 120V AC wall outlet.
Connect the 12V regulator to the power connector of the robot controller.
Activate the power switch SW1.
The LED1 light should turn on and the LED2 light should flash.
The robot should position all of its servo motors at 90 degrees.
You can turn off the power on the robot controller and disconnect the servo motors.

Refer to image 2.

4. Insert the nuts

Before assembling, insert a M2 x 0.4mm nut into each hexagonal hole of the 3D printed parts to allow assembly.
Use a soldering iron to facilitate insertion.

Refer to image 3.

5. Cast the gears in the junction holes

The mechanical junction between the servo motors and the 3D printed robot parts are direct: the gear must be inserted directly into the hole.
To ensure a good mechanical junction, the holes are slightly smaller than the gears after 3D printing.
With a lighter, slightly heat the hole, then insert the gear of a servo motor (as straight as possible). The melted plastic will take the form of a gear. Complete the insertion by gently tightening a bolt. Repeat this step for each junction.
Be careful, overheating 3D printed parts could deform them and make them unusable.

Refer to image 4.

6. Assembly

Use M3 metric bolts to attach the servo motor gears to the 3D printed robot parts.
Use M2 metric bolts to attach the servo motor housings to the 3D printed robot parts.
Use M2 metric bolts to assemble the two 3D printed robot parts from J2 to J4.
Assemble the robot so that each joint is at its mid-point (straight robot, as illustrated below).

Refer to images 1 and 5.

Step 4: Robot Programming Software Setup

1. Software setup

Open the setup file included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.

Follow the installer instructions to complete the installation.

When the installation is complete, run the software by clicking on the DIY Robotics icon on your desktop.

2. Navigating the interface

Refer to image 1 and 2 for software panel descriptions.


3. Creation of a robot program

The programming panel allows you to create a robot program with up to 200 instruction lines. Here is a description of each type of instruction:

POINT instruction

Saves a robot point (position).

Executing this instruction will move the robot according to the saved position and speed.

To save a robot point in an instruction, manually move the robot at the desired position and select the desired movement speed using the buttons in the control panel. Press the Point button. An instruction line is then added in the programming panel. The instruction line shows the value in degrees of each joint as well as the speed of movement.

DO instruction

Changes the state of a Do output signal.

Executing this instruction will change the state of one of the output signals Do (ON/OFF).

To create a DO instruction, press the Do button. A parameter panel is displayed. Choose the Do output signal number (1, 2 or 3) as well as the desired state (ON or OFF). Press the Add Instruction button to add the instruction.

An instruction line is then added in the programming panel. The instruction line shows the Do signal number and the change of state.

LABEL instruction

Adds a label in the robot program.

Executing this instruction will have no effect. This line is a label that will allow the JUMP instruction to jump to this LABEL instruction line.

To create a LABEL instruction, press the Jump Label button. A parameter panel is displayed. Choose the Label option and the number of the desired label (1 to 5). Press the Add Instruction button to add the instruction.

An instruction line is then added in the programming panel. The instruction line shows the label number.

JUMP instruction

Jumps to the program line that contains the corresponding label.

Executing this instruction will cause a jump in the program to the line that contains the corresponding label.

To create a JUMP instruction, press the Jump Label button. A parameter panel is displayed. Choose the Jump option and the number of the desired label (1 to 5). Press the Add Instruction button to add the instruction.

An instruction line is then added in the programming panel. The instruction line indicates the number of the target label.

If several labels have the same number, the JUMP instruction will jump to the first corresponding label from the top of the program.

If there is no label corresponding to the JUMP instruction number, the program will jump to the last line of the program.

WAITDI instruction

Waits for a specific state of a Di input signal.

Executing this instruction will put the robot controller on hold as long as the state of the Di input signal is different from the expected state.

To create a WAITDI instruction, press the Wait Di button. A parameter panel is displayed. Choose the Di input signal number (1, 2 or 3) as well as the desired state (ON or OFF). Press the Add Instruction button to add the instruction.

An instruction line is then added in the programming panel. The instruction line indicates the Di input signal number and the expected state.

Step 5: Connect Robot + PCB + Software

1. Electrical connections

Connect the 6 servo motors of the robot to the robot controller.
Make sure the connectors are plugged in the correct way.

Brown wire : 0V (-)
Red wire : 5V (+)
Orange wire : PWM

Connect the 12V regulator to your 120V AC wall outlet.
Connect the 12V regulator to the power connector of the robot controller.
Activate the power switch SW1.
The LED1 light should turn on and the LED2 light should flash.
The robot should position all of its servo motors at 90 degrees.

Connect the USB cable from the robot controller to your computer.

Refer to image 1.

2. Run the software

Run the DIY Robotics Educative Cell V1.0 software by clicking on the DIY Robotics icon on your desktop. The software opens on the connection panel.

Refer to image 2.


3. Set PC <-> Robot serial communication

Press the Scan serial ports button.

Select the correct communication port from the drop-down list.

Press the Connect button.

Refer to image 3.

4. Let the creation begin

Control the robot from the control panel.

Create your robot program from the programming panel.

Have fun!

Step 6: Conclusion

Want to go further?

You enjoyed learning about the world of industrial robotics? You’re ready to pimp your new robotic arm? Join the DIY-Robotics Forum now! The DIY-Robotics Forum is a place to talk programming, share ideas and solutions, and work together to build cool stuff in a supportive, smart community.

Need help?

The DIY-Robotics community is there to help if you need some support as you build the DIY-Robotics educative cell. Subscribe to the DIY-Robotics Forum and ask your question to the community.

https://diy-robotics.com/

Arduino Contest 2020

Participated in the
Arduino Contest 2020