Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
One controller + many servos
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  11 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Moto  
View profile  
 More options Apr 14 2011, 6:28 pm
From: Moto <ra...@mac.com>
Date: Thu, 14 Apr 2011 18:28:51 -0400
Local: Thurs, Apr 14 2011 6:28 pm
Subject: [NYCR:Microcontrollers] One controller + many servos
Hello,

I am interested in learning some basics in robotics for making small  
scale robots.  My first challenge here is to find out how to run as  
many servos as possible from an arduino or pololu controllers, in case  
I have money to build hexapods or humanoids in future.  All small  
factor controllers seem to be limited in number of motors that can  
control (2-12 servos), unless I use arduino mega (48 servos).

I have used daisy chained shift registers to control 32 LEDs using PWM  
from a regular Arduino.  As far as I understand, servos use PWM but  
within a certain range of frequency.  Can shift registers or LED PWM  
drivers be used for servos, or are there any specific ICs??

Thanks in advance.
Moto


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trammell Hudson  
View profile  
 More options Apr 14 2011, 6:48 pm
From: Trammell Hudson <hud...@osresearch.net>
Date: Thu, 14 Apr 2011 18:48:22 -0400
Local: Thurs, Apr 14 2011 6:48 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos
 On Thu, 14 Apr 2011 18:28:51 -0400, Moto wrote:

> [...] Can shift registers or LED
> PWM  drivers be used for servos, or are there any specific ICs??

 You can use a 4017 decade counter to drive up to 10 servos per 16-bit
 PWM output.  Here's some code I wrote a few years ago to drive 20 servos
 from a Mega163:

 http://autopilot.cvs.sourceforge.net/viewvc/autopilot/onboard/rev2/se...

--
 Trammell


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Glen Duncan  
View profile  
 More options Apr 14 2011, 6:53 pm
From: Glen Duncan <playas...@gmail.com>
Date: Thu, 14 Apr 2011 18:53:41 -0400
Local: Thurs, Apr 14 2011 6:53 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos

On Apr 14, 2011 6:28 PM, "Moto" <ra...@mac.com> wrote:

> Hello,

> I am interested in learning some basics in robotics for making small scale

robots.  My first challenge here is to find out how to run as many servos as
possible from an arduino or pololu controllers, in case I have money to
build hexapods or humanoids in future.  All small factor controllers seem to
be limited in number of motors that can control (2-12 servos), unless I use
arduino mega (48 servos).

> I have used daisy chained shift registers to control 32 LEDs using PWM

from a regular Arduino.  As far as I understand, servos use PWM but within a
certain range of frequency.  Can shift registers or LED PWM drivers be used
for servos, or are there any specific ICs??

Software PWM should be easier than driving LEDs because the duty cycle it's
much lower for servos. The shift-register may work as long as theres no
glitch during updates. You could also conceivably use a pwm led driver. Just
a matter of getting the pwm clock right and pulling the open collector
outputs high through a resistor.

-spec


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trammell Hudson  
View profile  
 More options Apr 14 2011, 7:08 pm
From: Trammell Hudson <hud...@osresearch.net>
Date: Thu, 14 Apr 2011 19:08:38 -0400
Local: Thurs, Apr 14 2011 7:08 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos

> Software PWM should be easier than driving LEDs because the duty cycle it's much lower for servos. The shift-register may work as long as theres no glitch during updates.

I don't think a shift register will work here since each servo needs a different pulse width. It isn't pwm, it only cares about the time the signal is high.

-- Trammell


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trammell Hudson  
View profile  
 More options Apr 14 2011, 7:22 pm
From: Trammell Hudson <hud...@osresearch.net>
Date: Thu, 14 Apr 2011 19:22:50 -0400
Local: Thurs, Apr 14 2011 7:22 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos

Ah, I see how you could do it with a shift register, but you need two pins.  One for data and one to clock it into the register.

-- Trammell

On Apr 14, 2011, at 19:08, Trammell Hudson <hud...@osresearch.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Glen Duncan  
View profile  
 More options Apr 14 2011, 7:49 pm
From: Glen Duncan <playas...@gmail.com>
Date: Thu, 14 Apr 2011 19:49:35 -0400
Local: Thurs, Apr 14 2011 7:49 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos

On Apr 14, 2011 7:23 PM, "Trammell Hudson" <hud...@osresearch.net> wrote:

> Ah, I see how you could do it with a shift register, but you need two

pins.  One for data and one to clock it into the register.

Right. You have to update the word for each count in the pwm cycle.

Also of interest is the open servo project. Servo electronics are replaced
with a microcontroller based driver and take position commands via a serial
bus.

-spec


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tymm Twillman  
View profile  
 More options Apr 14 2011, 8:29 pm
From: Tymm Twillman <tymmo...@gmail.com>
Date: Thu, 14 Apr 2011 17:29:57 -0700
Local: Thurs, Apr 14 2011 8:29 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos

I believe the Arduino TLC5940 (LED Driver) library also has the ability to control servos.

On Apr 14, 2011, at 4:49 PM, Glen Duncan wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Russ Hensel  
View profile  
 More options Apr 15 2011, 1:22 pm
From: Russ Hensel <struv...@verizon.net>
Date: Fri, 15 Apr 2011 13:22:43 -0400
Local: Fri, Apr 15 2011 1:22 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos
It is easy to control up to 10 servos because each servo needs a 2 ms
window for control and 20 ms between control pulses.  You can do more
but the software requires more effort.  After you run out of pins you
need a bigger uc or something like shift registers.  Shift registers add
to the timing problems.  Using a thru hole pic processor you can build a
board with maybe 20 - 30 output pins for less than 20 bucks.

Hardware pwm does not do a good job for servos in most cases because
there is not enough resolution in the 1 to 2 ms ( 5 to 10 % duty cycle )
control window.

russ

On 4/14/2011 6:28 PM, Moto wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Moto  
View profile  
 More options Apr 18 2011, 5:45 pm
From: Moto <ra...@mac.com>
Date: Mon, 18 Apr 2011 17:45:58 -0400
Local: Mon, Apr 18 2011 5:45 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos
  Thanks a lot for all your insights.  I'd try using TLC5940 PWM  
driver first.   I also found out about openservo board which has it's  
own AVR controller and can be controlled with I2C.  Looks interesting,  
but it's rather costly.

On a separate note, servos have potentiometer to detect it's own angle  
of rotation, right?  I am wondering if that can be used to "teach" the  
robot movements by moving servo joints by hand.  I don't think  
existing three wires can be used for that purpose, but adding extra  
connections to the pot or the board maybe possible?  Does anyone have  
an experience on something like that?

Moto

On Apr 15, 2011, at 1:22 PM, Russ Hensel wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trammell Hudson  
View profile  
 More options Apr 18 2011, 6:09 pm
From: Trammell Hudson <hud...@osresearch.net>
Date: Mon, 18 Apr 2011 18:09:35 -0400
Local: Mon, Apr 18 2011 6:09 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos
 On Mon, 18 Apr 2011 17:45:58 -0400, Moto wrote:

> On a separate note, servos have potentiometer to detect it's own
> angle  of rotation, right?  I am wondering if that can be used to
> "teach" the  robot movements by moving servo joints by hand.

 There are high-end robot servos that do exactly that.  HiTec makes a
 few "Robot Servos":

 http://www.servocity.com/html/hsr-8498hb_hmi_robot_servo.html

 You can disable the normal servo PWM and switch them to a multi-drop
 bus protocol that allows a single daisy chain to control 128 servos via
 a command protocol.  One of the commands is a torque-limiting mode that
 allows you to move the servos by hand and have it report the position
 data.  This is great for building humanoid robots where you want to
 sequence poses.

 The other nice thing about the robot servos is that they have idler
 pulleys on the backside so that it is easy to build joints out of them.

> I don't
> think existing three wires can be used for that purpose, but adding
> extra  connections to the pot or the board maybe possible?

 That is doable to an extent as well.  I've made some "four-wire" servos
 using that technique, but the data is quite poor and there is no way to
 disable the motor drive for normal servos.  So it is only useful for
 sort of telling if the servos are doing what they have been commanded to
 do.

--
 Trammell


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marius Kintel  
View profile  
 More options Apr 29 2011, 11:46 pm
From: Marius Kintel <mar...@kintel.net>
Date: Fri, 29 Apr 2011 23:46:29 -0400
Local: Fri, Apr 29 2011 11:46 pm
Subject: Re: [NYCR:Microcontrollers] One controller + many servos
Hi,

I did smth. like this a few years ago, but didn't finish it.
I believe this is the latest version of my code:
https://whatever.metalab.at/projects/MarbleMadness/Arduino/ServoMatri...

It should, in theory, be able to control 128 servos from an Arduino and 16 shifting registers.
I only tested it with 32 servos, AFAIR.
Due to heavy interrupt usage, you might not have a whole lot of CPU time left though.

 -Marius


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »