Introduction

Herkulex DRS-0401 is state of the art modular smart servos incorporating motor, gear reducer, control circutry and communications capability in one single package. Through Premium FAULHABER Coreless DC, this servo can provide the stall torque up to 5.1 N.m at 14.8V, which is really amazing.

Equipped with serial adapting pieces including Horn, Horn Bolt(M 3*6), Bracket Assembly Bolt(M 2.6*4), Wire Harness(200mm) and with it's amazing structure, DRS-0401 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

Mechanical specification

Electrical specification

Connection Diagram

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(12V)

Blue :TXD

Yellow :RXD

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

Servo Motor Pinout

Black :GND

Red :VDD(12V)

Blue :TXD

Yellow :RXD

Sample Code for UNO

#include <Herkulex.h>

int n=0xfd; //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=0xfd; //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

DFshopping_car1.png Get DRS - 0401 HerkuleX Smart Servo from DFRobot Store or DFRobot Distributor.

Category: DFRobot > Sensors & Modules  >  Motors & Actuators & Drivers > Servo Motors

category: Product Manual category: SER Series category: Motors-Servos category: source <!--Hidden Categories--!>

category: Diagram category: DFRobot-->

Turn to the Top