small, accurate rotary encoders?

Jan 25, 2007 14 Replies

Hi - I'm looking to measure the angles that a 6 legged robot's joints are making relative to each other. I'm thinking a rotary encoder might be the best option, though I'm also looking at using a pot.



Problem is I don't have much space to work with - I'd need something that was maybe max of 1.5cm diameter or so, and ideally no more than about 1cm in depth. I need at least 1 degree resolution, but ideally I'd like about 5-10 times that. Output doesn't really matter too much - it will be interfaced with a microcontroller that has both analog and digital inputs.



Anything out there that will fit my needs?



Thanks!



Critical question, is whether the unit can establish a 'zero' point, using some other method (moving the joint to a 'limit' perhaps during boot up)?. This makes the difference between having to use an 'absolute' encoder, or a 'relative' encoder. Now, if you use a 'relative' encoder, 1 degree, only needs a 90ppr encoder (remember if you decode the four possible quadrature states, you get 4* the quoted number of 'steps' round a circle). The smallest 90ppr encoder I know of, at a reasonable price, is the Nemicon OMS-T encoder, which is just 1.2cm across, but is 1.25cm long. I don't know of anything quite this small, for an absolute encoder (look at the CUI MAS-10, which gives 256 locations, and is only 13mm*17.5mm, but the

17.5, is the length). The problem with a potentiometer, will be accuracy, and durability. You need to look for units that are designed as position transducers, with a correspondingly high life, or the failure rate will be high. You might want to look at alternative technologies. For instance, the changing signal on a magnetometer IC, with a magnet on the shaft. I can't think you are going to get that much finer than 1 degree, on this sort of diameter. The problem is that even tiny errors in the accuracy of the bearings at the centre, translate to large errors, and costs therefore skyrocket for higher accuracies on this sort of diameter...

Best Wishes

I had to dredge the toilet bend of my brain to remember this company, but

formatting link
may be better options on the site, but sounds like mission immprobable

martin

Yabbut, where is that BBC stuff that let's you build your own?

DNA

A pot would be much better in that application. It's self zeroing, it's able to tell you position immediately from power-on, and it has a much higher resolution (limited by your ADC). Open up a hobby servo and take a look at their pot-driven control loop.

Ben Jackson AD7GD http://www.ben.com/

How are you with making little tiny parts? Digikey seems to have quite a selection of 1-turn trimpots, which might work in your app. Obviously, you wouldn't get a full range, but a cermet pot is "infinitely" variable - you might have to watch for repeatability, but as others have mentioned, a zero-set at bootup should take care of that; and with sensors, your controller could compensate. :-) Just go to

formatting link
and put "trimpot" in the search window, and start picking through parameters.

[FWIW, ISTR hearing some dissatisfaction with Digikey's search facility lately, but it seems to be working OK for me, at least just now.]

My idea is you could find a way to mount a little pot on the axis of a joint, and just measure the angle by the resistance.

Good Luck! Rich

Maybe also look at their E4P model:

formatting link

Maybe wrap a monofilament around the joint, with spring tension, tied to a sliding potentiometer? Even connecting a rotary encoder in addition to providing mechanical rotation is a tricky job.

I've has soem good success with the Austrian Microsystems electronic encoder IC's.

AM5040 Comes to mind - 10bit (0.35degress resolution) SPI connection to micro.

formatting link

Enjoy

Joe

The HMC 1512 from Honeywell might be worth a look, it senses magnetic field direction down to 0.05=B0 and they're pretty small! you'd need a little magnet too but there's plenty of places that sell them now :)

The usual solution for non-industrial designs is to use a pot. I've seen some really small ones among the kazillion of them out there.

Luhan

much better in that application. It's self zeroing,

Hi Ben - my worry with using pots is that they will wear out with repeated usage. Maybe there are some pots designed to be constantly turned?

-Mike

I can handle little parts. Problem is that cermets, in my experience at least, are designed to be used to adjust a setting, and then left and forgotten. I think they would break down with constant usage.

-Mike

much better in that application. It's self zeroing,

Well, like he said, open up a hobby servo, and get another one of whatever they're using.

Good Luck! Rich

an absolute/Gray code encoder is what you need how ever, the space and resolution you're looking for may put the kibosh on that!

in your case, use some precision pots into ADC of a PIC or something like an Atmega that has lots of ADC's on them and perform a commutations link to your master CPU.

"I'm never wrong, once i thought i was, but was mistaken" Real Programmers Do things like this. http://webpages.charter.net/jamie_5

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required