Herkulex_DRS 0401_SKU_SER0034 - jimaobian/DFRobotWiki GitHub Wiki

Herkulex DRS-0401_SER0034

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

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

Mechanical specification

  • Premium FAULHABER Coreless DC Motor
  • Rotation angle range: 320° Continuous Rotation (Velocity Control)
  • Resolution: Approximately 0.163° (2048 steps)
  • Stall torque: 5.1 N∙m (14.8v)
  • Maximum Speed: 0.162s/60° (14.8v)
  • Gear: 1:202, Super Reinforced Metal
  • Size: 56mm(W) x 35.0mm(D) x 38mm(H)
  • Weight: 123g

Electrical specification

  • Working Voltage: 9.5-14.8VDC(Optimized 12V)
  • Rated Current: 30mA @ 14.8V
  • 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: 1Mbps
  • Feedback: 4 Position, Speed, Temperature, Load, Voltage, Real Time Tick etc.
  • Various Control Algorithm: PID, Feedforward, Trapezoidal Velocity Profile, Velocity Override, Velocity Control 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(12V)

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(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

image:nextredirectltr.pngGo shopping herkulex drs-0401_sku:ser0034 category: Product Manual category: SER Series category: Motors-Servos category: source

category: Diagram category: DFRobot

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