[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vmszoo::rc

Title:Welcome To The Radio Control Conference
Notice:dir's in 11, who's who in 4, sales in 6, auctions 19
Moderator:VMSSG::FRIEDRICHS
Created:Tue Jan 13 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1706
Total number of notes:27193

644.0. "Help needed on servos; batteries;" by VIDEO::PAYSON () Fri Aug 05 1988 16:48

    
    	Hello;
    		I have a project to do for a class this fall in real-time
    	controls.  The project is basically a free-wheeling (no motors
    	driving the wheels) car that must use some sort of friction
    	braking to hold itself at a constant speed while tracking some
    	reflective tape down a hill.
    
    		It gets worse:  the car must run completely on its own
    	(i.e., no radio controllers) and must have an on board micro
    	processor for a "brain."
    
    		My problems are these:
    
    	     1) I have a servo from a hobby shop that is "bi-directional"
    		in that it is supposed to turn both ways by its control
    		signal.  I need to know if a microprocessor can easily
    		control one of these through an output port, without
    		completely tying up all of the micro proc's time.
    		   I have read through NOTE 394 in this notesfile, but
    		I still am confused: does the servo need a constant
    		signal, even if it is not changing position ???
    
    	     2) I would like any information anyone here has regarding
    		battery power output:  what is the lightest, smallest
    		battery that will give the most current, and how much
    		current. (as well as $$$)
    
    	     3) How much "holding power" do servos in general have.
    		(Could they be used to apply and hold a force on a disk
    		or drum braking surface.
    
    			The model servo I have is a (402-SX), made
    			by some Japanese company.  (Power, GND, and
    			control wires connected)
    
    		I realize that these are very general questions, but
    		the project is wide open to parts that can be used,
    		and I would like to know if a servo is at least
    		possible for some of the car's functions.
    
    				Thanks in advance for any help,
    
    					Chris Payson
    
    
    
    
     
T.RTitleUserPersonal
Name
DateLines
644.1This may be some helpLEDS::WATTFri Aug 05 1988 20:5815
    I can help a little bit.  The servo requires a pwm signal with the
    width of the pulse determining the position and the rep rate could
    probably be as low as 10 Hz.  Some micros have such an output or
    you can generate one with timing loops.  Another way to do it would
    be to add a little hardware to generate the pulse and have the micro
    send a word to the hardware to change the width.  Then the micro
    would only have to update the hardware when a change in position
    is required.  Most standard servos can generate about 42 in-oz of
    torque.  This could be gained up to work a friction brake with the
    right sort of linkage.  Friction brakes are available for airplanes
    that are servo actuated.  The servo will require about 50-100 ma
    at 4.6 volts to generate near full torque.
    
    Charlie
    
644.2Why worry ?LEDS::COHENMon Aug 08 1988 16:2422
    Re. question about processor being tied up driving servo.

    Servos use a PWM signal, as Charlie stated in -.1.  The signals
    duration should not be a factor for you, since it only takes a
    little time to turn the output on, and a little time to turn the
    output off, and the relatvely long period of time in between is
    available for you to do other things.  You don't need to hang
    around in a loop for the duration of the pulse, perform your other
    processing during the "on" or "off" time, and only come back to
    the servo when the pulse actually needs to change state.   If your
    processor has an on board timer/counter, or there is CTC chip in
    the design, you only need to look occasionally to see if the timer
    has hit zero.  You might also be able to service the Output with a
    timer interrupt, in which case the processing overhead will be
    negligable (unless your Micro runs at a REALLY slow clock rate).
    I have done a number of real time control designs with Micros,
    that involve precise timing pulses, usually servicing multiple
    outputs, not just one, and have never had a problem with
    insufficient processor "bandwidth", there is always some "time"
    left over for other things, like dealing with user IO, data
    logging, etc.
644.3Servo pulsesCLOSUS::TAVARESJohn -- Stay low, keep movingMon Aug 08 1988 20:2124
The servo requires a pulse of 1.5 milliseconds nominal duration,
spaced at a nominal 15 to 20 milliseconds total frame duration.
The pulse will be 1.0 milliseconds for one extreme limit of
travel and 2.0 milliseconds for the other limit; 1.5 milliseconds
is center.  Be sure to observe the 15-20 milliseconds frame
duration; the servo will barf if it gets pulses spaced any
closer, and you'll go crazy trying to figure out why -- at least
I did! 

I should mention, lest I lead you down a blind alley, that this
pulse is not what is transmitted by the RC gear; this is just
what is decoded for each channel.

There is a fine discussion of the control signals in the
Signetics Analog Data Manual, under the chips NE5044 the
"standard" RC encoder, and NE5045 the "standard" RC decoder.  I
put standard in quotes because while it is frequently used in RC
equipment (my Futaba 5LK uses the 5044), there are other chips
that are also used. Another source of information is Fred Marks'
book Getting The Most From Your RC Equipment, or some such,
available in fine hobby shops everywhere. 

Send me mail offline if you can't find a copy of the Signetics
manual. 
644.4Great info so far; pls keep it up.VIDEO::PAYSONTue Aug 09 1988 12:2419
    
    	Thanks for the replies !!!
    
    	RE .3: Yes, I have found that the servo goes crazy when feeding
    	it pulses too fast, and I have also found that sending it just
    	one pulse ( then leaving the signal low ) also works - the motor
    	remains where it is positioned until a new pulse arrives.  I
    	hope this is not "damaging" the motor, because I plan to use
    	it this way to conserve power on the car.
    
    	By the way, the servo is an "Aristo-Craft, Hitec, HS-402X"
    
    	I still have battery problems, though.  We need something that
    	is lightweight, inexpensive, but provides as much power as 
    	possible up to 500 mA.  Hopefully, it will be rechargeable,
    	so we don't have to buy many of them as we test the project.
    
    						Chris
    
644.5Use Sanyo, them's the bestLEDS::COHENTue Aug 09 1988 14:2350
    
>    	I still have battery problems, though.  We need something that
>    	is lightweight, inexpensive, but provides as much power as 
>    	possible up to 500 mA.  Hopefully, it will be rechargeable,
>    	so we don't have to buy many of them as we test the project.

    Sanyo N-600AE
	Nominal Capacity	600 MaH
	Standard Charge		60 Ma
	Charge Time		14-16 Hrs.
	Internal Impedance	8.5 MilliOhms
	Weight			22 Grams / 0.77 Oz.
	Dimensions D x H	17.0 mm X 28.0 mm

    Sanyo N-700AAE
	Nominal Capacity	700 MaH
	Standard Charge		70 Ma
	Charge Time		14-16 Hrs.
	Internal Impedance	8.0 MilliOhms
	Weight			27 Grams / 0.95 Oz.
	Dimensions D x H	14.2 mm X 50.0 mm

    Sanyo N-225AE
	Nominal Capacity	225 MaH
	Standard Charge		23 Ma
	Charge Time		14-16 Hrs.
	Internal Impedance	20.0 MilliOhms
	weight			12 Grams / 0.42 Oz.
	Dimensions D x H	17.0 mm X 17.0 mm

    These cells are part of Sanyos new SCE series of batteries.  They
    have higher capacities in smaller packages than their other line
    of Fast-Charge cells, the SCR series.

    For comparision :

	Sanyo N-450AR			Sanyo N-600SCR
		450 MaH				600 MaH
		19 Grams			29 Grams
		17 mm X 28 mm			23 mm X 26 mm

	Sanyo N-700AR			
		700 Mah
		30 Grams
		17 mm X 43 mm

    I have info on other Sanyo Cells, as well as where to find
    distributors, send me mail if you need anything more.

    Randy
644.6Gates Cyclon Monobloc at radio shack...SNDBOX::SMITHMacrotechnology!Tue Aug 09 1988 16:4614
    Yup, most servos have a 'missing pulse detector' so they will stay
    in the last known position if the input signal is lost.  They will
    not, however (least as far as I know) hold that position very well
    against an external force.  If you keep sending the positioning
    signal continuously the servo will 'lock' into that position, whereas
    if you just remove the signal you are depending on friction to keep
    it in place (which may be fine for your application).
    
    What kind of battery voltage do you need, and what kind of weight
    limitations do you need.  Radio Shack has (well, is out of stock
    on, but...) a 2.5 amp-hour 6 volt rechargable lead-acid battery
    ubt it might be a little large for your application....
    
    Willie
644.7Project well on its way...VIDEO::PAYSONTue Aug 16 1988 12:3514
    
    I have tried the PWM input signal between 1.0 and 2.0 ms, with a
    nominal priod of 20 ms, and the servo gives a full 180 degree range
    of travel !!!  The holding power is sufficient for our steering,
    and with a lever-arm actuator, another one will easily control
    the brakes.
    
    This project started as a class requirement, but I'm starting to
    get "hooked."  After this project is done, I plan to experiment
    further with our car to see what it can do.  I am indebted to those
    who responded with valuable information - thank you very much.
    
    						Chris Payson
    
644.8Try a tricycle with brake steeringLEDS::ZAYASTue Aug 16 1988 18:476
    
    	Here's an idea... Instead of worrying about steering, why not
    simplify stuff and just steer with independent brakes on two rear
    wheels and have a free steering single nose gear?
    
    	Good luck, sounds like a fun project.
644.9You have a friend, on the usenetHIBOB::TAPPANKelly TappanTue Aug 16 1988 19:5385
	Chris,

	This may be a little late for your current design, but it may
    interest you (or others) for future reference.  It seems others, in the
    usenet world, have connected micros and servos...


From:	rec.models.rc
To:	@SUBSCRIBERS.DIS
Subj:	Computer controlled servos

Posted by: decwrl!pyramid!prls!mips!freeptos
Organization: 
 
 
 
 
Thanks to all that responded with info on servo theory.  With that info,
I successfully interfaced a little 8-bit micro to some Airtronics 631
servos.
 
The following are some details for those that might be interested:
 

 
The servos operate on a simple pulse train.  The position of the servo is
determined by the width of the high portion of the pulse:
 
 
          _________                                 ________
          |       |                                 |      |
          |       |                                 |      |
          |       |                                 |      |
          |       |                                 |      |
    -------       -----------------------------------       -----
 
           <----->
           1.0-2.0ms
        
           <---------------------------------------->
                            ~16ms
 
The Airtronics servo is centered with a 1.5ms pulse.  1.0ms gets you 
about 45 degrees counter-clockwise.  2.0ms gets you to about 45 degrees
clockwise.
 
The interface was really simple with the use of an Intel 8253 counter/timer.
The 8253 sits right on the micro's data-bus.  It has a programmable one-shot 
mode where it will assert it's output, then count down from a value you load 
into a count register.  Once the count = 0, the output is de-asserted.  Each 
8253 has 3 counters.  I used one of the counters in "square-wave mode" (just 
cranks out a repeating 50% duty cycle square wave at a programmed frequency) 
to generate a 16ms trigger clock.  This trigger clock was fed to all the other
counters (one per servo) to generate the 1-2ms pulse (one-shot) every 16ms.
 
To move one/any/all the servos, I simply have the processor write a new
count word to the target counter.
 
As an example, this is a piece of PLM code to move 2 servos to some start 
position, wait for a second, then move one of the servos to a new postion:
                 .
                 .
                 .
              count$servo1 = start-count;   /*moves servo1 to start position*/
              count$servo2 = start-count;   /*moves servo2 to start position*/
              call wait(1);                 /*wait for a second*/
              count$servo1 = new-count;     /*moves servo1 to new position */
                 .
                 .
                 .
 
By the way, Zilog also has a counter/timer chip that looks pretty much like
the Intel part.  It's part number is Z8536.
 
 
Hum, now that I've spent the usual 50 hours to gather data/build the hardware, 
I get to spend the next 5000 hours programming the beast... :-)
 
 
								Dan
-- 
 
UUCP : {decvax,ucbvax,ihnp4,hplabs}!decwrl!mips!freeptos
USPS : Mips Computer Systems; 930 Arques Ave; Sunnyvale, Ca  94086
PHONE: 408-991-0217
644.10Project results...VIDEO::PAYSONTue Nov 29 1988 14:0013
    
    I have successfully completed the project:
    	I used rechargeable "C" size batteries and two PWM servos, one
    for steering and one for pulling on a "band" against a "drum" for
    braking.  Thanks again for your help, it made the programming of
    
    PWM control signals very easy.
    
    						Chris Payson.
    
    PS: The project got an "A" !!!!