Potentiometer vs Absolute Rotary Encoder

Hello,

Background: I'm are building an airplane simulator with old components from a cockpit that I hook into the simulator. In this model I have a couple of steering controls for the throttle, nose wheel and the breaks.

First I tried to solve these controls with simple potentiometers but the accuracy was worthless, for example the throttle became was really jittery and the nose wheel felt nervous! :) Then I got to lend some really expensive digital rotary encoders stuff that needs a whole new computer together with a extreamly expensive PCI card ($2000+). This works of course perfectly but in some weeks I need to return the hardware.

So now I need to do something simular (with almost the same precision).

Questions:

  • Can a newer analog potentiometer have the same accuracy (in "steps" of 0.5 deg)?
  • Is there any cheap (max $200) absolute rotary encoders that is compatible with the arduino? (something like 1000 steps per rotation)
  • Can I do this in a whole new way using gyros or something else?

Best Regards --David

Something like this? http://www.ebay.com/itm/281346507599

fungus: Something like this? http://www.ebay.com/itm/281346507599

Isn't that an incremental type and not an absolut rotary encoder? Or could I somehow deduct the absolute position (without the need to calibrate each time I use it)?

Pots will be your cheapest bet... absolute encoders are usually very expensive and a lot harder to interface with, and you won't be able to use a non-absolute encoder in this situation.

Potentiometers are analog, so your angle resolution will depend on the resolution of your A/D converter. I'm assuming you are using an analog input on an Arduino to read the voltage across the pot?

If you are experiencing jitter, make a low pass or moving average filter in your Arduino code. Just be careful not to introduce too much delay that it becomes noticeable in the controls.

pcdangio:
Pots will be your cheapest bet… absolute encoders are usually very expensive and a lot harder to interface with, and you won’t be able to use a non-absolute encoder in this situation.

That’s a pitty, I think I was looking for a cheap version of an absolute rotary encoder.

pcdangio:
Potentiometers are analog, so your angle resolution will depend on the resolution of your A/D converter. I’m assuming you are using an analog input on an Arduino to read the voltage across the pot?

Do they only depend on the A/D? Can I find “better” (e.g. more expensive) versions of pots that doesn’t jitter and doesn’t degrade (that fast) over time?

I would like to minimize the filtering on the arduino…

fungus: Something like this? http://www.ebay.com/itm/281346507599

Damn, that is beautiful. I think I am in love. :

dacwe: Do they only depend on the A/D? Can I find "better" (e.g. more expensive) versions of pots that doesn't jitter and doesn't degrade (that fast) over time?

I just want to point one thing out. I have an Tektronix 2465B 400MHz scope from the 80s, considered a very good scope in its day, and every rotary control (except one) is a pot. It seems that all scopes from that period use pots. I have a new model 2000 Agilent scope and every rotary control is an encoder. It seems that all scopes now, even cheap Rigols, use rotary encoders. It requires no thinking to know there is a very good reason for this fact.

That's a pitty, I think I was looking for a cheap version of an absolute rotary encoder.

How about an AS5040 ?

Grumpy_Mike: How about an AS5040 ?

Hum, that looks perfect. What do I need?

What is wrong with an incremental encoder?

What is wrong with calibrating each control when you switch on? It only requires moving each control in turn from stop to stop until the dashboard says “OK”.

I could be wrong, but I thought that was actually part of aviation protocol anyway.

Paul__B: What is wrong with an incremental encoder?

What is wrong with calibrating each control when you switch on? It only requires moving each control in turn from stop to stop until the dashboard says "OK".

I could be wrong, but I thought that was actually part of aviation protocol anyway.

You could maybe combine one with a pot. Read the pot at startup to get a rough idea of where the wheel is then use the incremental encoder from then on.

fungus:
You could maybe combine one with a pot. Read the pot at startup to get a rough idea of where the wheel is then use the incremental encoder from then on.

Maybe for certain applications that would work, but in my opinion it eliminates one of the best features of the encoder, which is that there is no limit to the number of turns that the encoder can make.

A magnet, which type?

Section 13 of the data sheet talks about this it says it needs a diametrically magnetized permanent magnet. I got mine from http://www.first4magnets.com/search/diametrically

I made this with four of them https://vimeo.com/groups/arduinoprojects/videos/95955945

Never seen those chips before.

This one is 16-bit: http://uk.farnell.com/avago-technologies/aeat-6600-t16/encoder-magnetic-ic-16-bit-program/dp/2213639

Can you get then in prebuilt potentiometer-shaped modules with magnet, shaft, etc?

It seems an obvious next step but I can't find any.

Oh, wait, I found some: http://www.farnell.com/datasheets/1822666.pdf

While on the subject if you want only 128 steps/revolution this
mechanical encoder is quite interesting, its absolute:

http://uk.farnell.com/bourns/eaw0j-b24-ae0128l/encoder-rotary-128pos-8-bit/dp/9358234

8 data pins needed though, and a lookup table to back-convert the particular
Gray code it uses (note not reflected Gray code). I’ve bought one and it has
a very nice feel (it feels expensive, aptly enough). I checked, no missed codes,
no invalid codes (8 pins gives one bit of redundancy/error checking I suppose)

Some gray code absolute encoders are available on Ebay, this 10-bit one is only $20 (a bit beat up, but there are nicer looking ones, too):

http://www.ebay.com/itm/Photocraft-R30-1024G-5-Absolute-Encoder-10-Bit-Gray-Code-/201154177727?pt=LH_DefaultDomain_0&hash=item2ed5b92abf

Thanks for all the replys. I have updated my project to use the network shield to peridically send the controls position to my simulation computer.

This is my current list of things to buy:

Do I need the MEGA to interface with 3 different absolute encoders?

A: Do you realy need 10 bit resolution 1024 different trottle steps (different motor sounds and acceleration)

B: you can use a incremental encoder and a micro switch (pushbutton) in the min trottle position. At start up all analog controls must be put in the min position so the uC knows what to start with (min) Edit: you need 2 optocoupler i 90° phase.

C: You can make your own encoder of a disk (perhaps a CD) with holes and an slotted optocoupler. Not so many bits but look at A:

Pelle

Pelleplutt: A: Do you realy need 10 bit resolution 1024 different trottle steps (different motor sounds and acceleration)

Well if you read the OP the answer is yes, 0.5 degree or better, and good reliability

B: you can use a incremental encoder and a micro switch (pushbutton) in the min trottle position. At start up all analog controls must be put in the min position so the uC knows what to start with (min) Edit: you need 2 optocoupler i 90° phase.

C: You can make your own encoder of a disk (perhaps a CD) with holes and an slotted optocoupler. Not so many bits but look at A:

I refer you to the requirement for reliability...

Total travel 90 degrees, 0,5 resolution gives = 180 steps also you can make the signal soft between the steps in software.

Pelle