replacement for a potentiometer

Im working on a project where i need something like a potentiometer, but its going to move a lot and at pretty high speeds in an up and down motion, but the potentiometer would be connected with an arm. But i think a potentiometer will die pretty fast in that kind of setup because it wont handle the amount of movement in a pretty small turn angle. So do any of you guys know of a sensor or something i could use to replace the potentiometer? It can be a linear or a rotating thing, as i could just connect an arm to the rotating system and have that measure the up and down stroke.
Point is to measure the stroke of the thing its going to be connected to. But between measurements there will be a lot of movement on the arm too, and it has to handle that without breaking down, that measurements will not be perfect in that condition is ok, but if it breaks after lets say 10.000 movements its not acceptable.
I have found something about a rotary encoder but i dont know wich type if any are suitable for this.

So anyone here that can help me out on this?

Rotary encoder. Looks like a potentiometer but does not have the contact to wear out.

Weedpharma

weedpharma:
...but does not have the contact to wear out.

AFAIK rotary encoders do have contacts, but no carbon track (like a pot).
Optical rotary encoders (like the wheel in your computer mouse) don't have contacts.
Leo..

I stand corrected. Use optical rotary encoder.

Weedpharma

Here's an optical rotary encoder with 400 p/r that might be suitable. You will have to pay close attention to the interrupt coding as the data will be coming rapidly.

i also kept searching myself, and i found a link to this on some race simulator builders page, they replaced their pot meters with this because the pot meters kept braking. Would this also work with an arduino? Or is it going to be very hard? I think it sort of gives the same signal as a pot if i was understanding that racesim builders page right.

This is a single turn device. It will do as you want if that is all you need.

The output is 0.2 - 4.8v and can be connected to the analogue inputs.

Weedpharma

US Digital makes some great ones. Very reliable and easy enough to read with pulseIn(). However they do get a little complex if you need to avoid pulseIn() in your program.

what you need is a rotary encoder those can be found on most servo motors and stepper motor