How To Use "Other" Servos?
I have a zillion servos - virtually all of them are Hitec servos - some are digital, some aren't.
I know how to send a 750 pulse to the Parallax standard rotation servos to center them and move them around using 750+/-
Considering the information from Hitec (below), aren't their servos similar - shouldn't I be able to run them just like the servos I have from Parallax?
Can I control digital and non-digital servos w/the BASIC Stamp 2?
Thanks,
Scope
[noparse]:)[/noparse]
I know how to send a 750 pulse to the Parallax standard rotation servos to center them and move them around using 750+/-
Considering the information from Hitec (below), aren't their servos similar - shouldn't I be able to run them just like the servos I have from Parallax?
Can I control digital and non-digital servos w/the BASIC Stamp 2?
Hitec Servo Manual said...
All Hitec servos require 3-5V peak to peak square wave pulse. Pulse duration is from
0.9mS to 2.1mS with 1.5mS as center. The pulse refreshes at 50Hz (20mS).
Voltage Range
* All Hitec Servos can be operated within a 4.8V-6V. range.
Wire Color Meanings
* On all Hitec servos the Black wire is 'ground', the Red wire ( center ) is 'power' and the
third wire is 'signal'.
Direction of Rotation
* All Hitec servos turn Clockwise direction ( CW ).
Thanks,
Scope
[noparse]:)[/noparse]
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
ThAnKs!
[noparse]:)[/noparse]
Differences to be aware of between all servos (digital or not):
* Rotation: 90 and 180 degrees are common. Special applications may have 300. Geared servos (external gear sets) can be all over the range, incluidng multi-turn.
* Torque: Generally, the smaller the servo, the lower the torque. Putting a larger servo in an application may result is other parts breaking. Likewise, dropping down in size may result in not having enough power.
* Voltage Limits: Most "hobby" servos are designed for 6 Volts max. They will generally run on 7.2 volts, but with a decreased life, and increased possibility for internal damage. Some "robot" servos are desinged for 7.2 volts (or higher).
Reference Voltage "polarity": (This probably isn't the right term...) When I was adapting some HiTec servos to the propeller, I was having some problems. I put a Futaba servo in, and it worked great, swapped the HiTec back in, and no joy. I'm probably not explaining this right, but what I found was that the Futaba seemed to be "tied to ground" internally, and pulses were "seen" just fine. The HiTec seems to be "tied to positive" internally, and the lower voltage of the propeller ended up causing the servo to see a "constant on" as the base level of the pulses was "pulled up". I swapped in a Stamp (5v. in stead of 3.3 V) and all worked with either. Again, the scope showed a pulse train with a flat "bottom" at 0 v, but peaks at 5v for the stamp, and 3.3 for the Prop when using the Futaba servo. With the HiTec, The peaks of both processors were at 6v (the power voltage), but the bases were either 5v or 3.3 lower. A change in the restistor value between the prop and the signal line on the servo "fixed" the issue.
Why Digital:
* Typically, a digital servo will "update" it's position "internally" more often, 300 Hz seems to be a common rate. Note that this is not the true "refresh" rate, as a the fastest the incoming signal can change is 50 Hz.
* Many digital servos are "programmable" by various means. This allows setting max rotation speeds, end limits, center point, etc. Each servo/brand may support other programmable features.
* Set and hold: Some digital servos will "remember" the last pulse width they received. This means that (for some digital servos), you don't need to continuously send the pulses at 50Hz. You can just send one (or a few) every time you change positions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
Click here to see my Nomad Build Log
Something else, the servo's STOP isn't necessarily in it's positioning range...... The lowest position for a particular servo might be 650, but if you send it lower than that, say 500 it will ZZZIP and crash against the stop..... not interpolated, just go.
Last thing, in my experience you have to send a command repeatedly to get the servo to move..... If it's at the 8 o'clock position and you want it to go to the 3 o'clock position, you need to send the 3 o'clock command repeatedly until it's there. Otherwise it steps once and that's it.
' {$STAMP BS2px}
' {$PBASIC 2.5}
' This code should be working code to stroke a servo in one direction and back. You may have to adjust the MIN and MAX (600 and 2200)
counter VAR Word
DEBUG CLS
main:
DEBUG "Counterclockwise",CR
FOR counter = 600 TO 2200 STEP 2 ' Rotate clockwise for ~5 seconds 650/2500
DEBUG DEC counter, CR
PULSOUT 12, counter
PAUSE 20
NEXT
DEBUG "Clockwise",CR
FOR counter = 2200 TO 600 STEP 2
DEBUG DEC counter, CR
PULSOUT 12, counter
PAUSE 20
NEXT
GOTO main
END
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"puff"...... Smile, there went another one.
I'll play with them and see if I can figure out what goes on without damaging/destroying them.
Puff happens.
|
|__it works!!!___
|
|
|__thanks!!!___
|
|