Shop OBEX P1 Docs P2 Docs Learn Events
Sanity Check, Please... — Parallax Forums

Sanity Check, Please...

I picked up a couple LewanSoul LX-16A actuators a few months ago, probably inspired by a forums post. Today I actually started writing a driver for it (Spin sitting on top of FDS). On connecting a 'scope to measure the message turn-around time I saw something I didn't expect. It looks -- to me, anyway -- that the LX-16A is driving the line to 3.3v for a "1" instead of allowing the line to be affected by the pull-up.

Am I mistaken?

I'm almost done with the driver so I'll post it later. The LX-16A doesn't match the Dynamixel, but it is pretty good and quite a lot cheaper.

Comments

  • jmgjmg Posts: 15,144
    JonnyMac wrote: »
    .. Today I actually started writing a driver for it (Spin sitting on top of FDS). On connecting a 'scope to measure the message turn-around time I saw something I didn't expect. It looks -- to me, anyway -- that the LX-16A is driving the line to 3.3v for a "1" instead of allowing the line to be affected by the pull-up.
    Am I mistaken?
    Some 5V tolerant systems can do this, I believe.
    ie They can float to 5V, if disabled/open drain but if you enable the CMOS drive, they have P-FETS to 3v3, for faster pullups.

    Their SCH shows a light 10k pullup, to 5V, and active 74HC126 tristate buffers.
    Should be fine in a P1 system, and probably Ok with any 5V MCU too.

    Digging for a 5V tolerant CMOS part, finds this Nexperia data
    '74LVC126A Quad buffer/line driver with 5 V tolerant input/outputs; 3-state
    The 74LVC126A consists of four non-inverting buffers/line drivers with 3-state outputs, which are controlled by the output enable input (nOE). A LOW at nOE causes the outputs to assume a
    high-impedance OFF-state.
    Inputs can be driven from either 3.3 V or 5 V devices. When disabled, up to 5.5 V can be applied to the outputs."

  • I'm using a MOSFET bi-directional level shifter on my board, hence you see the master idle state at 5v.

    I think it may be safe to connect to an unbuffered Propeller pin using a stiff pull-up. Do you agree?
  • jmgjmg Posts: 15,144
    JonnyMac wrote: »
    I think it may be safe to connect to an unbuffered Propeller pin using a stiff pull-up. Do you agree?
    From a comms viewpoint, that would work, but I'd be cautious about accidental shorts to the servo power, so it may pay to design/suggest a pin shifter to tolerate a short to the next-pin voltage ?
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-04-03 23:26
    I wonder if the servo is actually 3.3V logic with 5V tolerance and the 5V pull-up is just for the Arduino crowd. Have you tried a pull-up to 3.3V instead?

    BTW - no need for a sanity check, since you a forumista you are insane to some extent :)
  • JonnyMacJonnyMac Posts: 8,918
    edited 2021-06-30 23:57

    Have you tried a pull-up to 3.3V instead?

    I didn't then, but I have done that recently. I was struggling over the weekend and found a box of LX-16A near my desk, so I decided to start on a P2 driver. I put a 10K pull-up to 3.3V to keep the line at idle state when the P2 is booting up or the LX-16A is not transmitting. So far, so good.

Sign In or Register to comment.