Quadruped Robot: Controlling Servos…

So controlling 8 servos is no mean feat. I’ve only ever tinkered with about 2 at a time before now, for pan/tilt mechanisms or for driving continuous rotation servos for wheeled robots.

The Arduino can drive servos natively, but I’ve found it to be a bit jittery in the past with other projects, and I like the idea of over complicating things, so…

Digging around in my box of bits I came across a couple of options. I have a Dagu Minidriver and a Hobbytronic 16 channel servo board:

Hobbytronic 16 channel PWM/servo driver. I got one for about £6 a few years ago.
Dagu Minidriver. I bought mine a couple of years ago for when I saw it on offer for like £2.

Either of these could be a good choice, in fact – it probably doesn’t matter because I’m running shitty Tower Pro SG90 servos that have so much slop and nylon gears that I’ll be surprised if the damn thing can hold itself up…

SG90 servos. Great for cheapskates like me. I got about 30 of them from china a few years ago for about £15.

The Dagu think is, as far as I can discern, an Arduino type thingy embedded on a board with a bunch of ADC inputs and 8 pwm outputs, along with 2 h-bridge motor drivers. Wow.. it almost sounds like I know what I’m talking about.

An introduction to PWM and servos

So, being completely unqualified to teach anyone anything about electronics, I thought I’d take a brief interlude to explain how servos work. Basically, you put a PWM signal in (that’s a voltage that’s turning on and off really fast) and some magic happens inside that makes the round bit at the top turn around to a position relative to how fast the input voltage switches on and off.

Okay, it’s a little bit more complicated than that but still – that’s the basics.

I’ll test these things out and let you know how it goes…

Leave a Reply

Your email address will not be published. Required fields are marked *