Newsgroups: comp.robotics
Path: brunix!sgiblab!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!mbattist
From: mbattist@magnus.acs.ohio-state.edu (Mark A Battisti)
Subject: Re: DC motor @constant speed
Message-ID: <1993Apr6.174243.17151@magnus.acs.ohio-state.edu>
Sender: news@magnus.acs.ohio-state.edu
Nntp-Posting-Host: bottom.magnus.acs.ohio-state.edu
Organization: The Ohio State University
References: <1prsevINNjn6@zams.kapsch.co.at>
Date: Tue, 6 Apr 1993 17:42:43 GMT
Lines: 37

In article <1prsevINNjn6@zams.kapsch.co.at> frisch@zams.kapsch.co.at (Martin Fr
ischherz) writes:
>Hi,
>I  have  to drive a DC motor (12 V) at various high stable speeds. The range o
f
>speeds are in the range of 4 to 20 r/sec (The motor is  actually  designed  fo
r
>such low speeds).
>
>There is a disk with 8 holes and an optic coupler attached from which I can ge
t
>information about the current speed.
>
If you want to run stably @4 rev/sec and you only have 8 pulses per rev then it
should be clear that for the controller to decide between different speeds, if
it is checked once every 1/4 second and updated the difference between two 
noticable speeds (8 pulses/interval  <- desired) and 9 or 7 is 4.5 r/s and 3.5 
r/s.  Your controller will "think" its doing great over a full ONE rps range -
but its not!
If you try to update even faster it will get worse.  If you try to update 
slower then your system will noticibly be waiting between intervals.

Might I suggest a DC tach with an ADC or use an encoder with much higher 
resolution.

If ALL you want is a dedicated motor controller then I can send you a schematic
of an analog PI (proportional integral) controller that does pretty well over 
the above said rtanges, and you could 'tweek' it to your liking.

I'm not sure what kind of control scheme you are using but if you want stable
speed you will most likely want to use some integral control as well as the
proportional.

Good luck

-Mark Battisti
mbattist@magnus.acs.ohio-state.edu
