Herkulex DRS-0201 Servo
EricPellaton
Posts: 6
Hi,
I bought some Herkulex DRS-0201(seems like geat servos), and i was wondering if anybody wrote any spin code for it for the propeller.
Thank in advance
Eric
I bought some Herkulex DRS-0201(seems like geat servos), and i was wondering if anybody wrote any spin code for it for the propeller.
Thank in advance
Eric
Comments
Code for `normal` servos you find in OBEX and in the Forums in many different languages. SPIN, PASM, TACHYON, PropForth, and many others
Wow, that is one heck of a lot of servo.
However, it doesn't appear to use conventional "RC" analog pulse width control. (Unless I missed it in the manual.)
These are controlled with a serial digital multi-drop addressable interface.
Duane J
The documentation is pretty clear; is "speaks" serial (out of the box at 115200 baud, easy for the Propeller). You should be able to use FDS and follow the protocol examples in the manual.
FWIW, that plague called Arduino (just joking Arduino fans, don't get your panties in a bunch) means that there is probably Arduino code for anything you're looking for. When stuck, I often search using that as one of the terms. Most of the code is surprisingly bad (not joking), but does sometimes point me in a direction that is helpful.
Along the way I found this -- you might want to have a read before creating your object.
-- http://botscene.net/2012/10/20/getting-started-with-the-herkulex-drs-0101/
-- http://botscene.net/2012/11/30/config-herkulex-without-manager/
Yes, they are not conventional Servos. They speak serial.
The documentiation is pretty clear, but there is a lot checksum handling and i was hoping to fine a easy spin to save time. Yes, Arduino as a library, but i sure like the Propeller way way way better. the propeller is GREAT and my project is using the prop, actually many props.
I did go through the botscene links before and it was helpfull, I have been able to flash leds on servo, good start, but cannot make the servos move even when i turn on the torque.... ??????
Regarding Checksum:
The manual says:
Checksum1=(PacketSize ^ pID ^ CMD ^ Data[0] ^ Data[1] ^.....^Data[n] & 0xFE
Checksum2=(~CheckSum1) & 0xFE
and I programed the followingas an example:
Checksum1:= $0C ^ $FD ^ $05 ^ $00 ^ $02 ^ $04 ^ $FD ^ $3C
Checksum1:= Checksum1 & $FE
Checksum2:= !Checksum1 &FE
it seems match what is in the manual. Let me know if you see a mistake there?
Thanks for quick response, i will keep trying.
As it is becoming a popular Servo (Daisy chain is nice), i was hoping to find a spin to make my life easier
Eric
I'm pretty sure there's at least one Dynamixel object in the OBEX. It might be helpful in how to do the checksum calculations and how to assemble packets. I'm pretty sure the Dynamixel checksum comes at the end of the packet instead of near the beginning.
I'm curious why you purchased these Herulex servos instead of Dynamixel servos? I haven't researched these servos much but I think the Herkulex have a few extra features the Dynamixel servos lack. Was there something they have that made you choose them over the Dynamixels?
Here are the Dynamixel objects I could find.
David Ratcliff's Driver
An object I wrote to identify servos with unknown IDs and/or baud settings.
I went with the herkulex as i thought they were faster, and also for the voltage.... and they look cool.
Anyway, I checked again the Dynamixel line and they are actually pretty fast.
I ordered few and will try.
Do you know if the obexs will work also for the RX28 and MX28 Dynaminex series.
Eric
I've only used the Dynamixel AX-12+ (an earlier version of their AX-12A) servos. I was under the impression the other servos used the same protocol but some of them use RS-485 instead of TTL.
One thing I like about the AX-12 are the brackets that come with the servo. The brackets make it really easy to mount the servos to each other and to other parts of a robot.
Very helpfull and very quick response.
I ordered some Dynaminex and will try them and compare them with Herkulex.
Eric
Love the Propeller.