Go Down

Topic: Measuring very small movements accurately. (Read 5666 times) previous topic - next topic


What's the best way to measure very small mechanical movements very accurately?

I'd like to make an instrument to measure the angle of attack that a planes wing makes with the air. Mechanically it's very simple, I attach a freely rotating vane to the front of the aircraft and measure the angle this vanes makes relative to the airflow.

the problem is that the vane is only going to rotate through a few degrees. I'd like to be able to measure this accurately (say to within half a degree) and for that figure to be repeatable (i.e. when vane moves back to the same position I get the same value out). Whatever technology I use it also needs to be low-friction, the vane must be allowed to rotate freely in the airflow.

This is what I've considered...
Option one - connect the vane to a variable resistor wired up as a voltage divider, and connect this to an analogue input port. Disadvantages - firstly variable resistors tend to be quite stiff, they'd be too much mechanical resistance to allow free movement, secondly I know from experience, that most variable resistors aren't very repeatable  - move them back to the same physical position and you're unlikely to get exactly the same electrical resistance the 2nd time.

Option two - have a magnet attached to the vane, and use that magnet to open/close a set of reed switches. Disadvantages - need at least one reed switch per position. If the vane moves through 10 degrees and I want to measure down to half a degree, then I'm going to need 20 reed switches and 20 digital input pins on the arduino. Also, I know from experience that reed switches don't always open and close at exactly the same moment each time a magnet passes by.

Option three - same as option two but using hall switches instead. Disadvantages - all the same disadvantages as for option 2, and costs a lot more.

None of the options I've considered seem to offer any hope of success, so what's the solution? There's must be one, I can't imagine I'm the only person who's ever want to measure a small change in physical movement very accurately.

All suggestions welcome!



I can't imagine I'm the only person who's ever want to measure a small change in physical movement very accurately.

The general solution is the same as for measuring very small changes in electrical values - amplification.
The art of getting good answers lies in asking good questions.


If you are thinking of doing this on a model plane while it is flying I think you will find it very difficult or very expensive or both. You need a combination of a very precise low-friction bearing (because the range of movement you want to measure is small) and a very sensitive measuring device.

I suspect the best way to measure without friction is with a variable capacitance or inductance with the vane moving one part of the capacitor or the core of the inductor. But it would need some electronics that are far beyond my knowledge.

I suspect that sort of thing would not work repeatably in a flying model plane with all of its vibrations and accelerations in 3 axes.

Two or three hours spent thinking and reading documentation solves most programming problems.


It's possible to incorporate an AoA sensor into a pitot tube - these work by comparing pressure at different orientations rather than measuring the movement of a vane. You can buy these off the shelf for full size aircraft - you don't say whether your aircraft is full size or a model, but for a model I'd have thought you could make your own miniaturised version using the same principles.


LVDT Linear Variable Differential Transformer


This is probably not what you're looking for but I'll mention it anyway.  You can calculate or lookup the angle of attack given the airspeed, altitude change and throttle setting.  Assuming it's constant for a few seconds.  Simpler when altitude is unchanging.  Every model is different depending on the wing configuration and shape.  You would have to sample a few points experimentally first to make a table.  Isn't the end result the same as measuring it directly?  During level flight, this method would be much more accurate.  Isn't this the circumstances you want to measure?


shine a laser (small dot) on the vane
it will be reflected to different places depending on the angle
an array of sensors should give the results you want
similar to a digital camera, but without the lens?
there are only 10 types of people
them that understands binary
and them that doesn't


thanks guys, some good ideas here. I've just googled LVDT - great idea very expensive. I like the idea of the laser (but I like any ideas involving lasers!)

I think the simple answer is that there isn't a simple and cheap way of doing it. It seems i have choice - either buy an expensive custom made widget, or make something myself which is bound to involve fiddling around with electronics above and beyond my normal skill level.

BTW the aircraft in question is technically a 'model' aircraft, but it has a 30 meter wingspan  (about 90ft if you're american) and weighs 35kg



Differential capacitance.

However, I'm partial to the LVDT. Not easy to design.
Steve Greenfield AE7HD
Drawing Schematics: tinyurl.com/23mo9pf - tinyurl.com/o97ysyx - tinyurl.com/q7uqnvn
Multitasking: forum.arduino.cc/index.php?topic=223286.0
gammon.com.au/blink - gammon.com.au/serial - gammon.com.au/interrupts


Could this be empirically inferred via differential pressure?


Differential capacitance.

However, I'm partial to the LVDT. Not easy to design.

We used LVDTs at the refinery I worked at prior to retirement. The largest covered a 12" stroke on a large hydraulically controlled 56" butterfly control value under PID control. They can be made to work very accurately but for long strokes it's difficult/complex/expensive to compensate for ambient thermo changes and effects. But given the proper electronic support circuitry a LVDT can give very good accuracy and reliability, but being a limited/specialty market I've never seen hobbyist affordable offerings.



Sep 12, 2013, 07:25 pm Last Edit: Sep 12, 2013, 07:50 pm by jremington Reason: 1
You can buy very high resolution absolute position optical shaft encoders (e.g. 5000 counts/rev) that have extremely low resistance to shaft rotation. Just attach the windvane to the encoder shaft and you are done. Here are some examples: http://www.automationdirect.com/adc/Overview/Catalog/Sensors_-z-_Encoders/Optical_Rotary_Encoders


the problem as I understand it with rotary encoders, is that they are good for measuring movement, but not position. As I understand they generate (for example) 10 pulses per degree rotation. So if you count say 5 pulses you know it's moved through half a degree. But what you don't know is has it moved from 5 degrees to 5 and a half degrees, or from 70 degrees to 70 and a half.

also, they're not particularly cheap.

I may investigate the differential pressure technique.



The mention of rotary encoders made me think of the optical rotary encoder in the trackball I use. I don't know how many pulses per revolution it produces but it is driven from the trackball through a high ratio friction drive. I think the same mechanism is, or used to be in some mice. There is very little friction in the trackball.

Two or three hours spent thinking and reading documentation solves most programming problems.


Sep 12, 2013, 08:55 pm Last Edit: Sep 12, 2013, 09:02 pm by pito Reason: 1
The easiest way is to use an cheapo accelerometer (+/-1G range) as a tilt sensor, do some math to filter the data and remove other noise affecting the measurement.

Go Up