Difference between revisions of "DIY 6-Axis Servos Control Palletizing Robot Arm Model for Arduino UNO MEGA2560"

From SainSmart Wiki
Jump to: navigation, search
(Detail Step to Getting Start)
 
(38 intermediate revisions by one user not shown)
Line 14: Line 14:
 
*Connect wire                    x2
 
*Connect wire                    x2
 
*SainSmart DIY 6-Axis Servos Control Palletizing Robot Arm x1
 
*SainSmart DIY 6-Axis Servos Control Palletizing Robot Arm x1
1.Give number to each servo
 
 
<br clear="all" />
 
<br clear="all" />
[[Image:DIY6A4.jpg |thumb|none|600px|]]
+
[[Image:DIY6A4.png |thumb|none|600px|]]
 
<br clear="all" />  
 
<br clear="all" />  
 +
==Detail Step to Getting Start==
 +
Step1.Give number to each servo and Mark the cable
 +
<br clear="all" />
 +
[[Image:DIY6A5.jpg |thumb|left|400px|'''Servo Number 1-6''']]
 +
<br clear="all" />
 +
<br clear="all" />
 +
[[Image:DIY6A6.png |thumb|none|400px|'''CableNumber  1-6''']]
 +
<br clear="all" />
 +
Step2.Upload the test  code to Arduino UNO
 +
 +
<br clear="all" />
 +
[[Image:DIY6A1.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
Choose the .ino file and open it by Arduino IDE
 +
<br clear="all" />
 +
[[Image:DIY6A2.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
Choose"Arduino UNO" "COM UNO" on Arduino IDE
 +
<br clear="all" />
 +
[[Image:DIY6A3.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
Click  ''verify''  then  Click ''upload''
 +
Make sure upload the test code successful
 +
 +
Step 3.Connect the 6-Axis Robot Arm to Arduino UNO
 +
 +
<nowiki>
 +
  myservoA.attach(3);  //  Control waist (A) port number is  3   
 +
  myservoB.attach(5);  //  Control lorearm(B)port number is 5   
 +
  myservoC.attach(6);  //  Control  Forearm(C)port number is 6
 +
  myservoD.attach(9);  // Control Forearm rotation (D) port number is 9
 +
  myservoE.attach(10); // Control wrist(E)port number is 10 wrist
 +
  myservoF.attach(11); // Control wrist rotation (F) port number is 11
 +
</nowiki>
 +
Define 1-6 servo to Arduino  digital PIN3、PIN5、PIN6、PIN9、PIN10、PIN11
 +
<br clear="all" />
 +
[[Image:DIY6A8.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
The Robot Arm need a External DC-5V Power Supply
 +
<br clear="all" />
 +
[[Image:DIY6A7.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
*DONT USE THE Adruino POWER PINS!
 +
<br clear="all" />
 +
[[Image:DIY6A9.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
 +
==OPERATION==
 +
The Robot Arm have three work mode!
 +
*Automatic operation
 +
*Computer serial port control
 +
*Standstill
 +
<nowiki>
 +
String mycommand="";    /// Serial capture  #auto: automatic operation  #com: computer serial port control  #stop: standstill
 +
static int mycomflag=2; // #auto:2 automatic operation  , #com: 1  computer serial port control    #stop:0  standstill
 +
</nowiki>
 +
you can change  work mode by write the different number to ''mycomflag''
 +
<nowiki>
 +
void setup()
 +
{
 +
  pinMode(13,INPUT);
 +
  pinMode(12,INPUT); 
 +
  Serial.begin(9600);
 +
  myshow=0;
 +
  mycomflag=2;        // the  ARM default  state: 2 automatic operation
 +
  myservoA.attach(3);  //  Control waist (A) port number is  3   
 +
  myservoB.attach(5);  //  Control lorearm(B)port number is 5   
 +
  myservoC.attach(6);  //  Control  Forearm(C)port number is 6
 +
  myservoD.attach(9);  // Control Forearm rotation (D) port number is 9
 +
  myservoE.attach(10); // Control wrist(E)port number is 10 wrist
 +
  myservoF.attach(11); // Control wrist rotation (F) port number is 9
 +
  </nowiki>
 +
When you want control the Arm by serial port
 +
Let ''mycomflag=1''
 +
<br clear="all" />
 +
[[Image:DIY6A10.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
And open the serial monitor let the boud rate = 9600
 +
<br clear="all" />
 +
[[Image:DIY6A11.png |thumb|none|600px|]]
 +
<br clear="all" />
 +
''If you post data with a, it means that the first servo data, such as serial port 85a''
 +
''If you post data with b, it means that the second servo data, such as serial port 85b''
  
=Detail Step to Getting Start=
+
==RESOURCE==
 +
*[http://s3.amazonaws.com/s3.image.smart/download/101-20-127/Robot%20Arm/DX_4axis/DX_6axis.rar Test code]
 +
*[http://s3.amazonaws.com/s3.image.smart/download/101-20-127/20-014-304.zip 20-014-304]
 +
*Buy [http://www.sainsmart.com/robotics/robot-arm/diy-6-axis-servos-control-palletizing-robot-arm-model-for-arduino-uno-mega2560.html it] now!
 +
*Watch the [https://youtu.be/BDbg6lRWgZ4 Video]

Latest revision as of 06:04, 3 June 2020

SainSmart DIY 6-Axis Servos Control Palletizing Robot Arm

Introduction

SainSmart DIY 6-Axis Servos Control Palletizing Robot Arm Model for Arduino UNO MEGA2560

  • Simulate real palletizing robot arm structure
  • PVC material, CNC processing
  • Adopts MG996 55g metal gear servo 4pcs
  • Active joint bearing connection

Preparations

  • Arduino UNO board x1
  • SainSmart sensor shield x1
  • DC Power supply x1
  • USB cable x1
  • Connect wire x2
  • SainSmart DIY 6-Axis Servos Control Palletizing Robot Arm x1


DIY6A4.png


Detail Step to Getting Start

Step1.Give number to each servo and Mark the cable

Servo Number 1-6



CableNumber 1-6


Step2.Upload the test code to Arduino UNO


DIY6A1.png


Choose the .ino file and open it by Arduino IDE

DIY6A2.png


Choose"Arduino UNO" "COM UNO" on Arduino IDE

DIY6A3.png


Click verify then Click upload Make sure upload the test code successful

Step 3.Connect the 6-Axis Robot Arm to Arduino UNO

  myservoA.attach(3);  //  Control waist (A) port number is   3    
  myservoB.attach(5);  //  Control lorearm(B)port number is 5    
  myservoC.attach(6);  //  Control  Forearm(C)port number is 6
  myservoD.attach(9);  // Control Forearm rotation (D) port number is 9
  myservoE.attach(10); // Control wrist(E)port number is 10 wrist
  myservoF.attach(11); // Control wrist rotation (F) port number is 11
 

Define 1-6 servo to Arduino digital PIN3、PIN5、PIN6、PIN9、PIN10、PIN11

DIY6A8.png


The Robot Arm need a External DC-5V Power Supply

DIY6A7.png


  • DONT USE THE Adruino POWER PINS!


DIY6A9.png


OPERATION

The Robot Arm have three work mode!

  • Automatic operation
  • Computer serial port control
  • Standstill
String mycommand="";    /// Serial capture   #auto: automatic operation  #com: computer serial port control  #stop: standstill
static int mycomflag=2; // #auto:2 automatic operation  , #com: 1  computer serial port control    #stop:0  standstill 
 

you can change work mode by write the different number to mycomflag

void setup() 
{ 
  pinMode(13,INPUT);
  pinMode(12,INPUT);  
  Serial.begin(9600);
  myshow=0;
  mycomflag=2;         // the  ARM default  state: 2 automatic operation
  myservoA.attach(3);  //  Control waist (A) port number is   3    
  myservoB.attach(5);  //  Control lorearm(B)port number is 5    
  myservoC.attach(6);  //  Control  Forearm(C)port number is 6
  myservoD.attach(9);  // Control Forearm rotation (D) port number is 9
  myservoE.attach(10); // Control wrist(E)port number is 10 wrist
  myservoF.attach(11); // Control wrist rotation (F) port number is 9
  

When you want control the Arm by serial port Let mycomflag=1

DIY6A10.png


And open the serial monitor let the boud rate = 9600

DIY6A11.png


If you post data with a, it means that the first servo data, such as serial port 85a If you post data with b, it means that the second servo data, such as serial port 85b

RESOURCE