1: Change the plant. Sometimes a mechanical arrangement just isn't controllable in a satisfactory way, and you need to do something about it.
1a: Use a better pot.
1b: Use a different position sensor, such as an encoder, an RVDT, or a resolver.
1c: Put a tachometer or an encoder on the motor itself (this has advantages beyond just using a better sensor, if your motor has to go through any sort of a reduction drive).
2: Filter more. I assume that you've already tried this, and can't find a good tradeoff between how heavy a filter you need for noise suppression vs. how light a filter you need for good control, but I thought I'd toss out the suggestion.
2a: Knowing the relevant theory can help in cases like this:
formatting link
formatting link
3: If you need snappy positioning but can get away without the worlds best disturbance rejection, consider using feed forward.
3a: Cleverly applied, the alpha-beta filter cited in another response will let you construct a gizmo called an "observer" that gives you a nice structured way to make a system with lots of feed forward that does what you want -- but it helps to know your control theory.
4: Change your amplifier. If you're driving the motor with a current amplifier then try changing it to a voltage amplifier -- this has the effect of making the motor more of a constant-velocity device which adds some nice damping, at the cost of not being able to directly limit current to the motor.
4a: If you arrange your amplifier with just the right level of negative resistance you can _really_ make it a constant velocity drive, with a whole big pile of caveats. Do a web search on "tape capstan drive" to see how it's done.
5: Ask questions like this on sci.engr.control. There's folks there with lots of experience; if you make sure to explain your circumstance they'll help you out as much as they can.
Since the OP can (and it seems to me, should) prepare a process/system model for his case, the Kalman filter seems better in this case. (And more work to do.)
Kalman filters work great when you can get an exact model of the system and the noise, and the noise is Gaussian.
If you can't then by the time you get done with all the approximations the "Kalman" filter for such a simple system will look an awful lot like an alpha-beta filter -- so why not go there from the get-go?
Which processor a/d ? Where I am coming from is it is possible in some cases to build some filtering into the analog conversion from the pot. This makes the problem both earlier ad likely have a better frequency response than more complex processing after the conversion.
Often pot noise like this is in the position domain, not the time domain
-- i.e. the mapping between position and pot voltage has hair on it, not the mapping between the pot's nominal voltage and the actual voltage being read by the ADC.
That having been said, something like sampling fast, filtering and decimating before the control loop can work wonders if the noise is temporal and not positional.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.