Introduction
DSS-M15S servos have been well received by customers in these years. It has extremely wide angle control range, huge load capacity and excellent quality. This DSS-M15S with analog feedback has broken its internal potentiometer signal. This is an analog signal with 0~3.3V feedback. You can connect it to MCU to realize close-loop feedback control.
DSS-M15S 270° Metal servo with feedback is compatible with Arduino Servo library. You can drive it with Arduino Board and read the angle value from analog side.
Specification
- Electronic specifications
- Operating voltage: 4.8-7.2V
- 6V test environment
- Operating speed (no load): 0.18 sec/60 degrees
- Resting current: 80mA
- Locking torque: 11.5KG*cm
- Stall current: 1.4A
- Standby current: 4mA
- 7V test environment
- Operating speed (no load): 0.16sec/60 degrees
- Resting current: 100mA
- Locking torque: 12KG*cm
- Stall current: 1.76A
- Standby current: 5mA
- Mechanical specifications
- Gear material: metal gear
- Operating angle: 270 degrees
- Wiring gauge: 28PVC
- Data line length: 320mm
- Gear bracket spline: 25T/5.80
- Gear ratio: 310:1
- Size: 54.5*20*47.5mm
- Control specifications
- Feedback signal: 0-3.3V
- Control signal: RC PWM
- Pulse range: 500-2500 us
- Median signal value: 1500us
- Clockwise rotation: <1500us
- Control frequency: 50-330Hz (Arduion compatible)
Servo Overview
Num | Label | Description |
---|---|---|
1 | GND | GND |
2 | VCC | 4.8~7.2V |
3 | INPUT | PPM Signal |
4 | OUTPUT | Analog feedback |
Relationship between Angle & Analog value
Formula: Actual angle = Analog value degree *0.47-33.4
Before Usage
There will be some error between each servos. If you want to use the servos with scenes that require precise control, you can calibrate them separately. A quick three-point calibration method is provided here:
- 1. Drive the servo to 90 degrees (1500us), record the actual angle as reference angle A, and record the corresponding feedback analog value a;
- 2. Drive the servo to 0 degrees (500us), record the actual angle as reference angle B, and record the corresponding feedback analog value B:
- 3. Drive the servo to 270 degrees (2500c), record the actual angle as reference angle C, and record the corresponding feedback analog value C
The following formula gives the relationship between Analog value & Angle:
- Actual angle = m * Analog value n
- m=[(A-B)/(a-b) (C-A)/(c-a)]/2
- n=[(Ab-Ba)/(b-a) (Bc-Cb)/(c-b)]/2
If you doesn't need such accurate value, you can use m=0.47;n=-33.4 directly.
Tutorial
Requirements
- Hardware
- DFRduino UNO R3 (or similar) x 1
- SER0044 DSS-M15S 270° Metal Servo
- M-M/F-M/F-F Jumper wires
- Software
- Arduino IDE, Click to Download Arduino IDE from Arduino®
Connection Diagram
Sample Code
void setup()
{
Serial.begin(9600);//Set Baud Rate to 9600 bps
}
void loop()
{
uint16_t val;
double dat;
val=analogRead(A0);//Connect Analog pin to A0
dat = (double) val * 0.47-33.4;
Serial.print("Position:"); //Display the position on Serial monitor
Serial.print(dat);
Serial.println("Degree");
delay(100);
}
Expected Results
Arduino will drive the servo with D9 pin, and receive the Analog feedback from A0 port.
FAQ
For any questions, advice or cool ideas to share, please visit the DFRobot Forum.
Dimension