Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!uunet!munnari.oz.au!uhccux!hale!whinery From: whinery@hale.ifa.hawaii.edu (Alan Whinery) Newsgroups: sci.electronics Subject: Re: How can you 'track' something back and forth? Keywords: alpha damping servo loop Message-ID: <11206@uhccux.uhcc.Hawaii.Edu> Date: 30 Jan 91 18:55:56 GMT References: <304@fxrs.intel.com> <418@adpplz.UUCP> Sender: news@uhccux.uhcc.Hawaii.Edu Organization: Institute For Astronomy, Hawaii Lines: 57 In <304@fxrs.intel.com> jmasters@fxrs.intel.com (Justin Masters) writes: > >What kind of motor do you try to use (12v or less) to turn towards the >originating signal, and how do you control it? How do you keep from >having constant 'over-compensation'? In otherwords, how would you keep the >motor from going back and forth in slight increments while trying to center on >a stationary point? (Oh goodie -- all those servo loops and stabilized platforms I did in my LAST job might be useful.) In a servo system, such as the loop you describe, the problem of "jitter" or "popping" back and forth across the line where you want to be -- due to the mechanical inertia of the motor and the electronic inertia of the servo loop -- is kind of the whole problem. Once you get an acceptable solution, you're there. First of all there's the loop gain, or how hard you drive the motor towards target (assuming you know which way to go). If your target (assuming only one axis of rotation for simplicity's sake) is 30 degrees away from your sensor, and you turn the motor full on, you will get there quickly, but probably overshoot. If your target is at 1 degree away, you certainly wouldn't want to go "balls to the wall" towards the target. There are two methods to use in slewing (moving) the sensor at a proper rate to reach the target with minimum jitter at the end -- damping and ramping. Damping is simply good ol' servo loop theory, the alpha factor which determines how quickly the loop responds to a impluse change in feedback, or how perky/sluggish the loop's reaction is. You can simply limit the maximum slew rate, or add a capacitve element to the drive voltage on the motor to damp the motor's response, which will of course slow down the speed with which you acquire the target, but that will be the tradeoff -- loop response for jitter. In "ramping", you simply drive the motor with a ramping voltage, say, ramp up in the first 5 degrees (to avoid a jerk at the start), and when you are within 5-10 degrees of the target, ramp down the speed, minimizing the overshoot -- then drive back at a lower speed, until your target is aquired. It would be good to have as wide an "acquisition beam" as possible, such as 5-10 degrees, so that there is a hysteresis effect, allowing the target to wander slightly without your loop popping on and off constantly. You may need 3 sensors, the "acquired" sensor in the middle, and leading and lagging sensors on the right and left, so that while doing target acquistion the leading sensor can say "OK HERE IT COMES, SLOW DOWN", and after acquisition, when the target is lost, the appropriate sensor will tell you which way the target went. Servoing around is a business of error management, not of error avoidance. You also might try the "rotating radar dish" effect, and just keep track of the position of the target in memory. Stepper motors would give you more precise control of overshoot and positioning, but they're basically just motors in the paradigm of the servo loop. Wake up, I'm done talking. Alan whinery@hale.ifa.hawaii.edu