Noodle
07-07-2009, 06:36 AM
Hello there!
A servo is addressable via Pulse Width Modulation. Which basically pulses high, then pulses low at certain times for certain lengths. A 90* Pulse is typically, depending on your servo 1500ms. However this can vary. Servo's are often driven from a separate servo controller, or from a radio controller, rather than the microcontroller itself, however it is still possible to directly control a servo from a microcontroller.
Serial servos are different, infact a whole different game. Instead of pulsing each servo individually, servo's are given an ID. You then tell the servo where to go via a serial connection. This is theoretically a better approach as it removes the need for a servo controller and for examples the AX-12's boast a 300* range and pretty good torque. However this does come at a price.
Standard servos also come in digital and analog form but both are more common than serial servos.
lnxfergy
07-07-2009, 09:21 AM
>> However this does come at a price
I think if we crunched the numbers, we'd find that oz-in for oz-in, the AX-12's are the less expensive choice actually...
Not to even mention the features like thermal shutdown, overload protection, and already having a built-in pivot point on the opposite side of the case (something you'll only find on the really high-end PWM robot servos)
However, on the subject of "removes the need for a servo controller", I might have to disagree a bit. While you don't need a crazy number of I/O that can generate very precise PWM, you will be forced to implement certain features that controllers like the SSC-32 have: for instance, interpolation will be entirely left to you the programmer, it's not incredibly tough, but it's something to take into account.
-Fergs
Noodle
07-08-2009, 03:22 AM
>> However this does come at a price
I think if we crunched the numbers, we'd find that oz-in for oz-in, the AX-12's are the less expensive choice actually...
This wouldn't surprise me in the slightest. You pay for what you get and you should only pay for what you need. Therefore only get what you need. You wouldn't use an ax-12 to pan an ultrasonic sensor or to mod to become a continuous rotation servo, not at that price. I've you're building a mech, it's a different question.
Adrenalynn
07-08-2009, 11:06 AM
And given their other features and terribly inexpensive cost - yeah, I would. As Mike pointed-out - they don't need to be modded, and "modding" is software, not hardware as it is with traditional servos. They actually make really effective little drive motors for a small bot.
Buying one or two starts looking pretty inexpensive when you start figuring on needing a PWM controller for some servos but not others on a bot.
lnxfergy
07-08-2009, 11:39 AM
And given their other features and terribly inexpensive cost - yeah, I would. As Mike pointed-out - they don't need to be modded, and "modding" is software, not hardware as it is with traditional servos. They actually make really effective little drive motors for a small bot.
Buying one or two starts looking pretty inexpensive when you start figuring on needing a PWM controller for some servos but not others on a bot.
Don't forget the nicer voltage range (7-12V)... cheap hobby servos on 5V can be tough, since either you have to have a separate battery, or add an extra regulator (as you typically can't run 5V electronics off 4-1.5V cells)
-Fergs
brickbob
07-11-2009, 08:51 AM
I got this Protocol from here http://forums.trossenrobotics.com/showthread.php?t=2854
This thread start by milw so I copy the protocol and change the hex file. Its work. I dont really understand what I am doing but it's work using BS2.
I got the leg move to standing position.
Equipment - I mean equipment to get the protocol.
' {$STAMP BS2}
' {$PBASIC 2.5}
Lleg CON 8
PAUSE 1000
SEROUT Lleg,396,[255,5,0,101,181,154,00,186] '441 'hip, ankle NOT powered
SEROUT Lleg,396,[255,5,125,101,181,154,126,182]' B6 'repeated 7X, leaning
SEROUT Lleg,396,[255,5,124,101,181,154,125,180]' B4 'raise leg at hip
SEROUT Lleg,396,[255,5,124,101,181,154,124,179]' B3
SEROUT Lleg,396,[255,5,123,101,181,154,124,178]' B2
SEROUT Lleg,396,[255,5,123,101,181,154,123,177]' B1
SEROUT Lleg,396,[255,5,122,101,181,154,122,175]' AF
SEROUT Lleg,396,[255,5,121,101,181,154,122,174] ' AE
SEROUT Lleg,396,[255,5,121,101,181,154,121,173]' AD
SEROUT Lleg,396,[255,5,120,101,181,154,120,171]' AB
SEROUT Lleg,396,[255,5,120,101,181,154,120,171]' AB
SEROUT Lleg,396,[255,5,119,101,181,154,119,169]' A9
SEROUT Lleg,396,[255,5,118,101,181,154,118,167]' A7 ' repeated 16X
SEROUT Lleg,396,[255,5,116,102,182,154,118,167]' A7 'other joints begin motion
SEROUT Lleg,396,[255,5,113,103,184,154,118,167]' A7
SEROUT Lleg,396,[255,5,111,104,186,154,118,168]' A8
MikeG
07-11-2009, 10:21 AM
You just posted the protocol. If you want to know all the Isobot commands, you'll need a working controller, someone to give you the commands, or simply play around with the BS2 code until you figure it out on your own.
I must not be explaining myself very well or I'm completely off my rocker... Can someone help me out here?
Adrenalynn
07-11-2009, 11:30 AM
No, Mike. No soup for you! :P
From the thread you posted, the protocol is contained here: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1237771631
Do you mean that you need help learning to read and implement the source-code to make it do what you want?
vBulletin® v3.8.1, Copyright ©2000-2010, Jelsoft Enterprises Ltd.