String Potentiometers

Hi there, my team is trying to put a string potentiometer on our robot so that we can accurately know our lifter’s height. (encoders won’t work because our belt could have slippage.) I have looked around and nothing seems very affordable except the andymark potentiometers here:

We would totally grab one of these if possible (we have a 3D printer) but we want the string to be 90-100 inches (just above our max lifter height) and this only has room for 10 turns for 30 inches. Is there anything similar that could do that length or is there any way to modify the andymark part (maybe buy a potentiometer with more turns) for a lower price? We are trying to keep this part affordable.

Entech 281.

I picture of your setup/lift would be very helpful so we can suggest possible improvements to help come up with a solution.

Here are a couple of views of the lifter itself. The idea is to attach the string potentiometer to the cube intake so that we always know the height and can stop the motors when the intake reaches the top of the lifter. By the way, more turns seems to be out, 10 is the max they can be. Would it be viable to modify the cad to make the spool larger?

I’ve see the AM part on ‘bots but haven’t seen its individual components up-close. Havin said that, maybe 3D print a pulley with a larger diameter? A larger circumference will spool out more string per turn, therefore reduce the number of rotations for the range of the elevator, you can do the math.

You can’ t get something for nothing, you’ll compromise the ability of the spring to rewind the string. If you test this solution, please post the results of your testing and conclusions for others’ reference, thanks!

This is something that COULD work, though I have never tried it myself.

You have 30 inches per pot, and need 90 inches. That’s 3 pots worth. A pot on a pot on a pot. Just combine their values within your code to get the height of the lift.

I have no idea if this would work well, I would be personally be worried about this stress on the last pot, though that is easily fixed. And since you are clearly automating your lift. PLEASE have a backup manual mode. Instead of one pot to go wrong, you have three, and if either of them fail, the lift stops.

Please look into this idea before actually using it.

I’m still not understanding why a regular encoder won’t work. From your CAD model it looks like you have a cascading elevator, where both stages are moved by timing belts. If this is true, there shouldn’t be any slippage to worry about. Even if I’m seeing this wrong and there is a flat/round belt I’m missing somewhere, as long as you re-zero every time you use the lift and the slip isn’t too bad, you’ll probably be fine.

If you do want to go the string potentiometer route, I’d second the idea of using the 10 turn pot from AndyMark (or really any 10 turn pot) with a larger custom printed pulley to get you the length you need. If you care about the loss in precision that comes with the increased length, you could make a “string encoder” instead. You would need something to zero your lift if you did that, though.

Maybe I’m misunderstanding, but are you suggesting mounting a potentiometer onto the output shaft of another potentiometer? If no, please explain further because I don’t understand. If yes, I’m going to strongly recommend against this idea. How are you managing the cord of the “3rd stage” pot which has to turn 60 times? How are you supporting the potentiometers? How are you connecting them? This seems very overly complicated for a problem that really isn’t that hard to solve by just printing a larger pulley.

I now see the major problem with the 3-pot system. The cables are the main one, support would be easier to solve than the wires. I now redact the statement that you could try it DO NOT TRY IT.

I can’t figure out for the life of me how to delete my previous post. If you could, please tell me how so that nobody gets that horrible idea.

1 Like

Once you get a certain number of posts/time on the website, you’ll be allowed to edit your posts. If you can do that, go to edit, then click delete. If not, you can flag your own post and ask a moderator to delete it for you, or just leave it up and hope people continue reading to your next post.

Thanks for all the comments guys. The main reason we wanted this was that our programming team wanted a way to tell height. While it is probably possible to try to mod the cad and andymark apparatus, we decided that overall, knowing the exact height of the lifter can be accomplished in simpler ways. We will probably be going with an encoder and limit switch combo to give our programmers what they need.

Thanks for the input,
-Entech 281

Two possible solutions that spring to mind.

One is to 3d print a barrel that fits onto the end of your potentiometer. Wind the string onto the barrel. Scale the barrel size to get the extra length-per-rotation you need.
You’ll want to integrate a spring into this setup to help wind everything back up, too.

Another solution would be to change technologies. Why not a time-of-flight sensor (lidar)?

And now I’m going to say what I tell my long-suffering students: I’m going to mentor at you:

Your post is very worthwhile and I advocate leaving leaving it up, because of it’s a great demonstration of the process we want. You proposed an idea, it was discussed, and you came to, not only a conclusion, but a good one. This is really what we mentors want. Thank You!

If you said the lift design you are using (cascade or continuous), then I missed it.

Assuming it is cascade, then all subsequent stages would perform linearly off the first stage. So, really, only the first stage has to be measured.

If the travel of the first stage exceeded the the length of the andymark unit, then perhaps two of them could be mounted “facing each other”, one at the stationary bottom of the stage, and one at the bottom of the moving part of the stage. Join their strings together - and as well, their resistivities - for the “total length” resistivity. As long as the potentiometers are linear, it seems like this could work.