Shop OBEX P1 Docs P2 Docs Learn Events
Digital servo's on USB servocontroller - Page 2 — Parallax Forums

Digital servo's on USB servocontroller

2»

Comments

  • LawsonLawson Posts: 870
    edited 2009-12-07 23:45
    I read the data sheet on the voltage level translators the PSC uses a few months ago. These level translators are bidirectional and automatically sense signal direction on a pin by pin basis. The specific method the chips use to sense signal direction is what I think is causing a problem. First, both sides of the chip are always a weak output. Next when a logic transition (say HI to LOW) is detected on a pin (say on the 3.3v side), the other side (say at 5v) of the same pin-pair briefly activates a strong output with the same state. (a logic LOW in this case) [noparse][[/noparse]ug, the data sheet explains this much better]

    In this case I think the servo input of the digital servo draws enough current to over-ride the weak output of the level translator chip and cause it to switch directions. After switching directions the level translator tries to pull the prop output low. It can't, so the translation direction switches again and a logic HI is briefly generated on the servo side. Pretty soon the high power drive on the servo side turns off and the servo's input load pulls the output of the level translator chip low, repeating the above chain of events.

    Jumper the level translation chip with about a 100 ohm resistor and I bet everything will work.

    Lawson

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Lunch cures all problems! have you had lunch?
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2009-12-07 23:46
    "The output drivers of the TXB0108 have low dc drive strength. If pullup or pulldown resistors are connected externally to the data I/Os, their values must be
    kept higher than 50 kW to ensure that they do not contend with the output drivers of the TXB0108"

    Could these servos have pull ups or similar? I suspect they are the culprits. Can someone try one of these servos straight from a proto-board?

    Cheers,

    Graham
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2009-12-07 23:48
    Sorry Lawson I posted at the same time, I agree!
  • SkalTuraSkalTura Posts: 14
    edited 2009-12-08 06:45
    rough_wood said...
    Can a Parallax employee pipe in on this? I will be in the market for controlling 24+ servos before long and will go with Parallax if it can get buttoned down, otherwise I gotta grab that Lynxmotion one. I'd rather stick with Prop if possible.
    I did send an email to Parallax support about this problem before I posted my question on this forum. They responded that digital servo's use the same 1-2ms signal as normal servo's and therefor should work normaly.
  • SkalTuraSkalTura Posts: 14
    edited 2009-12-08 15:31
    Lawson said...
    I read the data sheet on the voltage level translators the PSC uses a few months ago. These level translators are bidirectional and automatically sense signal direction on a pin by pin basis. The specific method the chips use to sense signal direction is what I think is causing a problem. First, both sides of the chip are always a weak output. Next when a logic transition (say HI to LOW) is detected on a pin (say on the 3.3v side), the other side (say at 5v) of the same pin-pair briefly activates a strong output with the same state. (a logic LOW in this case) [noparse][[/noparse]ug, the data sheet explains this much better]

    In this case I think the servo input of the digital servo draws enough current to over-ride the weak output of the level translator chip and cause it to switch directions. After switching directions the level translator tries to pull the prop output low. It can't, so the translation direction switches again and a logic HI is briefly generated on the servo side. Pretty soon the high power drive on the servo side turns off and the servo's input load pulls the output of the level translator chip low, repeating the above chain of events.

    Jumper the level translation chip with about a 100 ohm resistor and I bet everything will work.

    Lawson


    I think your right !!
    As you can see in the picture, I added a 10k resistor in the signal wire of the digi-servo, and it works !!!

    So... is Parallax going to make new version of the servo controller ?



    Many, many thanks to all who helped solve my problem

    .
    1024 x 768 - 139K
  • hover1hover1 Posts: 1,929
    edited 2009-12-08 16:03
    @Lawson
    I started to make an attempt at bypassing the TXB0108, but there realley are no access points on the board and the fine pitch on the chip makes it impossible to get a resister in there.

    @SkalTura
    Upon further testing with your fix, I found I could go down to 1K ohm in series. At 100 ohm, it stopped working. These are my findings on the JR DS8711 Digital Servo.

    There is hope afterall! And thanks everyone for your input!

    Jim
    SkalTura said...
    Lawson said...


    Jumper the level translation chip with about a 100 ohm resistor and I bet everything will work.

    Lawson


    I think your right !!
    As you can see in the picture, I added a 10k resistor in the signal wire of the digi-servo, and it works !!!

    So... is Parallax going to make new version of the servo controller ?



    Many, many thanks to all who helped solve my problem

    .
  • LawsonLawson Posts: 870
    edited 2009-12-08 16:37
    @SkalTura
    Ha, never thought of doing that! Cool to see that an inline resistor works.
    hover1 said...
    @Lawson
    I started to make an attempt at bypassing the TXB0108, but there realley are no access points on the board and the fine pitch on the chip makes it impossible to get a resister in there

    Yea, not much space on the chip leads. Looking closer at the datasheet for the level translator, looks like it could be replaced with a SMD resistor array. Digikey OSOPT-1KACT-ND or one of it's brothers with a higher or lower value looks like it'd fit as a replacement "chip". I'd also remove pins 2, 10, and 19 on the resistor pack to avoid linking 3.3 to 5 volts and excessively loading the prop pin that drove OE.

    Just one more option,
    Lawson

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Lunch cures all problems! have you had lunch?
  • SkalTuraSkalTura Posts: 14
    edited 2009-12-08 19:34
    Lawson said...
    @SkalTura
    Ha, never thought of doing that! Cool to see that an inline resistor works.

    So that was not what you meant ?
    Whahaha... funny that my mistake, due to poor English, also works.
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2009-12-08 19:39
    Excellent news, that's great!

    If I were you I would simple put the serial resistor in line the the resistor's lead, a little heat shrink and no one will know and it should still work fine on a receiver.

    I think that Parallax should reconsider using this device on the next version but these seems a reasonable solution in the shorter term.

    Graham
  • hover1hover1 Posts: 1,929
    edited 2009-12-08 19:41
    SkalTura

    Lawson's original intent was to put a resistor (100 ohm) on P0 of the Propeller chip and the other end to the signal pin of the servo, basically bypassing the Voltage Translator chip. But you idea is easier to implement.

    Jim
    SkalTura said...
    Lawson said...
    @SkalTura
    Ha, never thought of doing that! Cool to see that an inline resistor works.

    So that was not what you meant ?
    Whahaha... funny that my mistake, due to poor English, also works.
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2009-12-08 19:43
    SkalTura said...
    Lawson said...
    @SkalTura
    Ha, never thought of doing that! Cool to see that an inline resistor works.

    So that was not what you meant ?
    Whahaha... funny that my mistake, due to poor English, also works.

    Lawson intended for you resistor to bipass the chip, connect the input to the output. But cool you misunderstood! [noparse]:)[/noparse]

    I think the reason what you have done works is because you have weakened the effect of the pull up (or similar circuit) within the servo. If you look at my post that quotes the datasheet, I think this may have been the problem.

    Graham
  • hover1hover1 Posts: 1,929
    edited 2009-12-08 20:14
    Posted at the same time! Same feelings about the reduced effect of the feedback from the servo. Luckily my project is land based,·so I can pursue it
    without any problems with people getting hurt if it fails.smile.gif
    Jim
    Lawson intended for you resistor to bipass the chip, connect the input to the output. But cool you misunderstood! [noparse]:)[/noparse]

    I think the reason what you have done works is because you have weakened the effect of the pull up (or similar circuit) within the servo. If you look at my post that quotes the datasheet, I think this may have been the problem.

    Graham
  • hover1hover1 Posts: 1,929
    edited 2009-12-08 20:25
    Interesting aricle:

    ·http://e2e.ti.com/forums/t/8737.aspx

    High Frequency noise.

    Jim
  • David CarrierDavid Carrier Posts: 294
    edited 2009-12-11 18:54
    SkalTura,
    The Propeller USB Servo Controller cannot drive loads less with than 5 kΩ of impedance. I have never seen servos that do not have high impedance inputs, but the oscilloscope traces you recorded are typical of a TXB0108 driving a low impedance load. If you do not need bidirectional communication, a series resistor of 5 kΩ or more will stop the ringing.

    -- David Carrier
    Parallax Inc.
  • SkalTuraSkalTura Posts: 14
    edited 2009-12-11 19:10
    David Carrier (Parallax) said...
    SkalTura,
    The Propeller USB Servo Controller cannot drive loads less with than 5 kΩ of impedance. I have never seen servos that do not have high impedance inputs, but the oscilloscope traces you recorded are typical of a TXB0108 driving a low impedance load. If you do not need bidirectional communication, a series resistor of 5 kΩ or more will stop the ringing.

    -- David Carrier
    Parallax Inc.

    Thanks for your information David.
    As I posted a few messages ago, I tested it with a 10k resistor, and it works perfectly now.

    Thanks !!
  • KevinKKKevinKK Posts: 27
    edited 2009-12-14 23:15
    David Carrier (Parallax) said...
    SkalTura,
    The Propeller USB Servo Controller cannot drive loads less with than 5 kΩ of impedance. I have never seen servos that do not have high impedance inputs, but the oscilloscope traces you recorded are typical of a TXB0108 driving a low impedance load. If you do not need bidirectional communication, a series resistor of 5 kΩ or more will stop the ringing.

    -- David Carrier
    Parallax Inc.
    David
    We just·connected the GWS S03T-STD analog servo to PSCU but it can't work unless we add a series 450Ω register inline with signal line of servo. But the same servo can work well with the previous PSC. Is Parallax going to make a new version ? or better suggetion to me ?·

    Kevin
  • SkalTuraSkalTura Posts: 14
    edited 2010-02-03 15:24
    Just bought a few analog servo's on eBay, and these also need a resistor inline.

    Can't figure out what the difference is between the servo's. The digital servo's I had that didn't work without a resistor where from Graupner, but the analog servo's I recently bought are from Futaba and also need a resistor. Others analog servo's from Futaba (very old models by the way) work fine without the resistor inline.



    Very strange...
Sign In or Register to comment.