i would suggest that you use a combination of hard stops top and bottom.
and some type of sensor.
You might try a string potentiometer. This is what we are using on our lift this year. They are also called Cable position transducers.
They are wonderfully adaptable sensors. They have been used in the aviation industry for a number of years. (We are Aviation High School after all...)
Simply described, a string potentiometer is a spring-loaded potentiometer that has a cable attached that will pull out and provide a position based on how much has been pulled out. It can work quite well on a straight line lift and can be used in many other situations too.
Please take a look at the URL below to find out about them:
http://zone.ni.com/devzone/cda/tut/p/id/4185
Take a look at this site...
You can use either digital or analog versions and get pretty good reproducibility...,,
A good lift requires a good system of control.
Encoders can also work well but are a bit harder to program...
You would have to use quadrature encoders to figure out whether you were going up or down....
Single encoders will get you rotational speed.
Good luck!!!