Herkulex_DRS 0201_SKU_SER0033 - jimaobian/DFRobotWiki GitHub Wiki

Herkulex DRS-0201_SER0033

Introduction

Herkulex DRS-0201 is state of the art modular smart servos incorporating motor, gear reducer, control circutry and communications capability in one single package. Through metal brush coreless DC motor, it can provide torque up to 24kg.cm at 7.4v.

Equipped with a lot of adapting pieces including Horn, Horn Bolt(BHT 2.6X8), Wheel Horn Bushing, Wheel Horn Washer, Wheel Horn Bolt(PHM 3X8), Cable Guard, I-type Joint, L-type Joint, L-type Joint(Single Nut), Bracket Bolt(PHM 2X5), Joint Bolt(PHM 2X5), Wire Harness(200mm) and with it's amazing structure, DRS-0201 is extremely easy to assemble. Two connectors attached to each servo allows serial connection as well as parallel connection if required.

It carries different Control Algorithms like PID, Feedforward, Trapezoidal Velocity Profile so on and so forth, which makes the movement smoothly and precisely. By Using UART Serial communications ,we can lightly change the speed, position, LED, operational compliance, stop and operational status of up to 254 servos simultaneoulsy at once. Meanwhile we can get the feedback such as internal temperature, position, and overload sensors.

Servos are capable of diagnosing seven different types of errors which are then indicated by the LED. And we can directly control the RGB of the LED for diagnostics and decorative purposes. It's especially suitable to mechanical arms, robots, joints and etc.

Application

  • Education
  • Robot Arm
  • Humanoid Robot
  • Hexapod Robot
  • Any other servo driven application

Mechanical specification

  • Metal Brush Coreless DC Motor
  • A lot of adapting pieces
  • Rotation angle range: 320° Continuous Rotation
  • Resolution: 0.325°
  • Stall torque: 24kg.cm (7.4v)
  • Maximum Speed: 0.147s/60° (7.4v)
  • Gear: 1:266, Heavy Duty Metal
  • Size: 45mm(W) x 24.0mm(D) x 31mm(H)
  • Weight: 60g

Electrical specification

  • Working Voltage: 7~12VDC(Optimized 7.4V)
  • Rated Current: 450mA @ 7.4V : 1.7kg.cm
  • Communication Link: Full Duplex Asynchronous Serial(TTL Level), Binary Packet, Multi Drop
  • Multi control through Servo ID: 0 ~ 253, 254(Broadcast only)
  • Maximum Baud Rate: 0.67Mbps
  • Feedback: Position, Speed, Temperature, Load, Voltage etc.
  • Various Control Algorithm: PID, Feedforward, Trapezoidal Velocity Profile, Velocity Override, Torque Saturator & Offset, Overload Protection, Neutral *Calibration, Dead Zone

Connection Diagram

HerkuleX on UNO '''tips: there is only one hardware serial port on uno, so that software serial has to be used. however, the default baud rate of herkulex is up to 115200, which may be unstable when using the software serial. thus it's recommended to change the baud rate of herkulex to 57600 first. '''

Servo Motor Pinout

Black :GND

Red :VDD(7.4V)

Blue :TXD

Yellow :RXD HerkuleX on Mega

Tips: There is no such problem as above with Mega as it has several Hardware Serial port.

Servo Motor Pinout

Black :GND

Red :VDD(7.4V)

Blue :TXD

Yellow :RXD

Sample Code for UNO

#include <Herkulex.h>

int n=0xfe; //motor ID - verify your ID !!!!

void setup()
{
  delay(2000);  //a delay to have time for serial monitor opening
  Serial.begin(115200);    // Open serial communications
  Serial.println("Begin");
  Herkulex.begin(115200,10,11); //open serial with rx=10 and tx=11
  Herkulex.reboot(n); //reboot first motor
  delay(500);
  Herkulex.initialize(); //initialize motors
  delay(200);
}

void loop(){
  Serial.println("Move Angle: -100 degrees");
  Herkulex.moveOneAngle(n, -100, 1000, LED_BLUE); //move motor with 300 speed
  delay(1200);
  Serial.print("Get servo Angle:");
  Serial.println(Herkulex.getAngle(n));
  Serial.println("Move Angle: 100 degrees");
  Herkulex.moveOneAngle(n, 100, 1000, LED_BLUE); //move motor with 300 speed
  delay(1200);
  Serial.print("Get servo Angle:");
  Serial.println(Herkulex.getAngle(n));
}

Sample Code for Mega

#include <Herkulex.h>
int n=0xfe; //motor ID - verify your ID !!!!

void setup()
{
  delay(2000);  //a delay to have time for serial monitor opening
  Serial.begin(115200);    // Open serial communications
  Serial.println("Begin");
  Herkulex.beginSerial1(115200); //open serial port 1
  Herkulex.reboot(n); //reboot first motor
  delay(500);
  Herkulex.initialize(); //initialize motors
  delay(200);
}

void loop(){
  Serial.println("Move Angle: -100 degrees");
  Herkulex.moveOneAngle(n, -100, 1000, LED_BLUE); //move motor with 300 speed
  delay(1200);
  Serial.print("Get servo Angle:");
  Serial.println(Herkulex.getAngle(n));
  Serial.println("Move Angle: 100 degrees");
  Herkulex.moveOneAngle(n, 100, 1000, LED_BLUE); //move motor with 300 speed
  delay(1200);
  Serial.print("Get servo Angle:");
  Serial.println(Herkulex.getAngle(n));

}

Documents

image:nextredirectltr.pngGo shopping drs-0201_sku:ser0033 category: Product Manual category: SER Series category: Motors-Servos category: source

category: Diagram category: DFRobot

⚠️ **GitHub.com Fallback** ⚠️