I've reached a point with my 32-channel servo controller project where I can
actually go to public with it. It is a small ATMega48 based circuit and can
control up to 32 standard R/C servos with around 7 bits of usable precision
per servo. If you are interested, please take a look at the project page:
http://h-storm.tantos.homedns.org/servo_32.htm . Note that the project is not
finished: I will have to implement the TWI (aka I2C) interface once I have
some free time.
As always: all feedback is appreciated.
Please correct me if I am wrong. Are you driving the servos
with a pulse that varies from 0 to 3.3V? Does this work when
the servos are being run off of 7.2 volts or higher? I'm just
curious, since I have always struggled to make sure that my
servo pulses are pretty close to the voltage that the servo
is being run off of.
Any insight would be appreciated.
Andras Tantos wrote:
Thanks for the comment.
Well, I don't think it would work with those servos, however it depends on
their input stages. Since many servos have an analog (I would guess bipolar)
servo controller IC, they might have their input threshold set independent
of the power supply. But others might have different experiences. I know
that it works with servos running from 5V. You can also run the ciruit from
a 5V supply, though at that point I would recommend a separate power source
from the one for the servos.
Dear Andras Tantos,
That seems to be a good gatget.
Isn't it possible to
a) increase the 7 bits resolution to 8,9 or 10 bits?
b) increase the baud rate to 115200 baud?
From where we order the board?
Are you also going to support to decoding the multi channel output of an JR
RC transmitter ?
Thanks for the reply.
a) For the resolution, it might be possible to increase it with a couple of
bits for 16 channels, for the other 16 it has to be 8-bit total (unless I do
something really crazy with the PWMs in the AVR). The 7-bit resolution comes
from the fact that the lower 100 or so values represent a pulse train that
is not valid for a servo. My experiments with a Hitec servo shows that
values 61...220 gave valid instructions to the servo. That is almost one
degree of resolution.
b) I'm afraid the baud-rate cannot be increased, unless I change the xtal.
With the current clock-rate its not possible to generate that boudrate with
enough precision. I'll see if there's a quatz that can satisfy that need.
Ordering: I've put all the design documentation online and you're more than
welcome to build your own. If you stil want to order one, I can put some
together and put it on E-bay with a buy-it-now feature or something. Just
let me know if you're interested. I guess I would have to calculate the
You might also want to wait until I can finish the I2C communication code
unless you have an AVR programmer so that you can upgrade the FW once that
feature is done. OTOH you might not be interested in the I2C functionality
I thought of this device as a computer/microcontroller perihperal and I
didn't intend support any interfaces other than the serial port and the I2C
bus. While it would be probably possible to support the JR RC format as well
I don't know how much value would it have, especially since that format only
supports 8 channels if I understood it well. What would the application be?
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.