0

I built a robotic arm, the problem is I want to rotate the base more than once in order to complete a job, so I figured out I could use multi turn potentiometer. The problem I am facing is the potentiometer is burning without any reason. I have a ton of burnt ones with me. Sometimes it is caused by soldering and sometimes the shaft testing rotates the potentiometer beyond its limits. While I could get the values precisely. I am trying to avoid the pain of buying more.

My question is if I can use incremental encoder, the electricity in my country is not that stable and I don't want to lose the values accumulated by the arduino. So does the encoder remembers the values or rotation or it starts afresh?

3
  • Please show your circuitry. Any potentiometer can be operated in a way that it does not burn, you might have an error here. However, the number of revolutions is limited. -- No, an incremental encoder does not remember its value, aside the current quadrant. That's why it's called "incremental". You might want to save the current value in EEPROM, time after time or at power loss. The latter needs some prerequisites. -- There are "absolute rotational sensors", at least I was involved in the development of one more than 20 years ago. However, they are expensive. Commented Aug 6, 2021 at 8:47
  • I kind of thought about it so I also ordered a sd card module to store the values and retrieving on resets. At first I thought about saving the values in EEPROm of the arduino but I figured out it has 100,000 write/read cycles Commented Aug 6, 2021 at 10:15
  • @Juraj the reason why I need to remember the position is because I do no want my system resetting every time the power takes a turn. And continue where it left. Thats just a technique to make a dependable system. I know about limiting switches and in a device which has 6 degree of freedom its kind of a pain to use them. Commented Aug 6, 2021 at 10:29

1 Answer 1

2

Yes, you can use a rotary encoder. However, there are two kinds of rotoary encoder: absolute, and relative. Relative encoders are the small common ones you find being used for things like volume controls. They only give you "It moved clockwise x steps" kind of information, which is not ideal for your usage. What you need is an absolute rotary encoder. This is a far more complex device and is often used on the shaft of motors to give the current angle the motor is at. These usually use a Gray code to represent an absolute angle at a specific resolution (choose the resolution to meet your requirements) and will tell you (within that level of resolution) the exact angle your robot arm is at. You can rotate it as many times as you like and it will always give you the current angle (note: it can't tell you how many revolutions it's made, that is down to you to count, should you actually need to).

1
  • I kind of thought about it so I also ordered a sd card module to store the values and retrieving on resets. At first I thought about saving the values in EEPROm of the arduino but I figured out it has 100,000 write/read cycles. Commented Aug 6, 2021 at 10:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.