Shop OBEX P1 Docs P2 Docs Learn Events
How To Use "Other" Servos? — Parallax Forums

How To Use "Other" Servos?

ScopeScope Posts: 417
edited 2010-02-24 02:54 in Robotics
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?
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

  • FranklinFranklin Posts: 4,747
    edited 2010-02-23 03:24
    Most servos will respond to the same pulses since they are designed to plug into RC receivers and work with anybodies system (within limits of course)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • ScopeScope Posts: 417
    edited 2010-02-23 16:49
    Does it matter if a servo is "digital" or not?

    ThAnKs!

    [noparse]:)[/noparse]
  • John R.John R. Posts: 1,376
    edited 2010-02-23 18:49
    Generally, no, it does not matter if the servos are digital or not. Think about having a Radio Control Car/Boat/Plane, and swapping servos. Just about any can drop in and work. They all use a "standard" signal of 1 - 2 mSec pulse at 50 Hz.

    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
  • Spiral_72Spiral_72 Posts: 791
    edited 2010-02-23 22:13
    Mine have generally responded to sending pulses between about 650 and 2400. CW or CCW depends on the servo and the degree of motion depends on the servo.

    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.
  • ScopeScope Posts: 417
    edited 2010-02-23 23:08
    Thanks Stephen, John, & Spiral_72 (?)

    I'll play with them and see if I can figure out what goes on without damaging/destroying them.

    Puff happens.
  • ScopeScope Posts: 417
    edited 2010-02-24 02:54
    |
    |
    |__it works!!!___
    |
    |
    |__thanks!!!___
    |
    |
Sign In or Register to comment.