The Un-Digital Robotic Arm

556When you think of a robotic arm, you’re probably thinking about digital control, microcontrollers, motor drivers, and possibly a feedback loop. Anyone who was lucky enough to have an Armatron knows this isn’t the case, but you’d still be surprised at how minimal a robotic arm can be.

[viswesh713] built a servo-powered robotic arm without a microcontroller, and with some interpretations, no digital control at all. Servos are controlled by PWM signals, with a 1 ms pulse rotating the shaft one way and a 2 ms pulse rotating the shaft the other way. What’s a cheap, popular chip that can easily be configured as a timer? Yep, the venerable 555.

The robotic arm is actually configured more like a Waldo with a master slave configuration. [viswesh] built a second arm with pots at the hinges, with the resistance of the pots controlling the signal output from a 556 dual timer chip. It’s extremely clever, at least until you realize this is how very early robotic actuators were controlled. Still, an impressive display of what can be done with a simple 555. Videos below.

Thanks for the tip, [Ladvien].

Comments

  1. gjoas says:

    Not a robot, just a teleoperator. Build quality is amazing, India at it’s best.

  2. Tom says:

    Really love the simplicity and reliability of this circuit. This is a great (and low cost) way for remote puppeteering DIY movie/halloween props.

  3. mathie says:

    ad a tape recorder, record and playback

  4. garym53 says:

    Well if it’s not digital it’s at least analogue to digital… (hybrid?)

  5. Ladvien says:

    Amazing. Something about the fluidity of uCless is damn sexy.

  6. Brian from Denmark says:

    Analog is so complex and there are so many advances using a microcontroller.
    This is basically just 3 servo-testers. Could be done with a single microcontroller with at least 3 analog inputs.

  7. starhawk says:

    I’d love to see the schematic for this thing… something… anything that’d let me recreate it if I wanted to.

  8. Eric says:

    @Dodo, others, I have a Scorbot ERIII that uses servos — a DC motor with a spindle encoder on the shaft. I wonder how hard it would be to hack that to accept PWM input so that it would appear like a standard hobby servo? Any ideas?

    • Karl [k-ww] says:

      Eric: Measure the width of the PWM pulse, translate to a count, say 0-255, use 128 as mid count, then map the count to an encoder position, and drive the motor/encoder to that count.

  9. Eric says:

    @Karl [k-ww] I should explain that while I can build a circuit from a schematic, my electronics design skills are quite limited. What I have on the Scorbot, is a 12VDC gearmotor which has on its rear shaft an encoder wheel with what appear to be emitter/detector photo transistors (discrete components, not a newer all in one package). These get wired to a heavy duty controller, which I would do away with if I moved this to PWM.

    So to my question: wonder how hard it would be to hack that to accept PWM input so that it would appear like a standard hobby servo? Any ideas?

    • Karl [k-ww] says:
    • cr0sh says:

      The Scor-bot’s encoders are quadrature encoders – basically the same as the ones on a Rhino arm (both are from the same 1980s era). I myself own a Rhino XR-1 (currently in a “non-working” state).

      Likely the Scor-bot has homing limit switches for each joint, so what you would have to do is move the joints until the limit switch is reached, then move the joint in the opposite direction, counting the pulses from the encoder, until the other limit is reached. This will give you a count of “pulses” to control the position with. For instance, turn the motor on and let it rotate while counting the pulses, starting from the limit switch – and the joint should be (approximately) at the half-way rotation point.

      Now, of course, these motors will have the weight of the arm behind them (ie – mass), so you will also need some kind of lead-in, lead-out accel/decel “curve” (via PWM) as you move the motor, monitoring the count, so you don’t overshoot or undershoot (much – you’ll have to keep that in mind as well). Basically, you need to move the joints, keep track of pulses (for both directions), and position the arm joints relative to where they last were. If you happen to be counting, and hit a limit switch before it’s time – you can either just call that “done” (and reset the count), or have the robot go into a “recalibrate” mode or something.

      Servos don’t operate the same, as they use an absolute encoder (hobby servos use a potentiometer; higher-end industrial servos may use absolute digital optical encoders), whereas the quadrature encoders on the Scor-bot arm are relative coders. But because they are quadrature encoders, you can know what direction the arm is moving, even if the motor isn’t powering the joint (if it can be back-driven) – so you can keep a joint “on-station”, so to speak, as well as perform “lead-by-arm” record and playback (if you wanted to).

      In theory, you can do what you are thinking with the Scor-bot arm – but it won’t be easy, to say the least (most of the effort will be in the code).

  10. Dax says:

    “and with some interpretations, no digital control at all.”

    There is no room for interpretation here. The difference between analog and digital is whether the system operates in discrete steps or continuous values.

    PWM is not inherently “digital” exactly because the duty cycle can take any arbitrary value within its range, so the robot is indeed fully analog for as long as the servos are internally analog as well.

  11. Jeremy Harris says:

    I had an Armatron!
    Until I took it apart.
    Thing was insanely fun (in the early ’80s)
    And insanely loud.

    • cr0sh says:

      I have three or four Armatrons; one original Tomy branded arm, the rest are Radio Shack arms. The Tomy one is probably worth some money to a collector (not that I’ll let it go; it’s from my childhood, plus I am a Tomy robot collector).

      I also have the Discovery and the Smithsonian “knock-off” arms they made later – both are Armatrons on the “inside”.

      I’m a collector of any and all articles on how people have interfaced the Armatron to computers and such over the years; back when I was a kid, I got the Radio-Electronics magazine that had the article on doing this. I still have that magazine, but you can find it online now. I have a collection of PDFs and such on my website about Armatron “hacking”.

      Other than those, and my recent acquisition of a Rhino XR-1 – I also have a few OWI-535 arms.

      Yep – I’ve got a real problem…ugh. LOL.

  12. Yahmez says:

    I love it. Simple, ingenious, and mostly… no arduino! Thanks Vishwesh & HaD

  13. Chris says:

    So the flip-flop in a 555 time isn’t digital?

  14. viswesh says:

    thank you all

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,960 other followers