Main Site Documentation

External AREF: Supported? Even needed?


#1

In a lot of articles I read about Arduino and now netDuino, I see the use of an external reference voltage. In particular instance, the use of the external 3.3v reference voltage made some analog readings more accurate and stable. I’m experiencing a similar inconsistancy in reading resistance values from a simple resistive divider and was wondering if an external reference was supported on a FEZ Panda or if it’s even needed. I’ve search for AREF on this forum, but it yielded no results.

Anyone even know what I’m talking about or am I just that confused? ;D


#2

Most microcontrollers offer a separate supply pin for the analog circuits, but the board must also be carefully designed to take advantage of this. In the Panda the pin was simply connected to 3.3V and the connector on the board was marked as not connected (NC). On the Panda II the connector is used for the Vbat to supply the internal RTC clock and 2KB internal RAM.
The best thing to do is try to dampen any spikes caused by the digital part of the circuit by using bypass capacitors and being a little careful in routing your wiring. Ferrite beads may help as well.
For 10-bit A/D you probably don’t have to be that careful - this would be more of an issue for 12-bit or higher A/D circuits.


#3

AREF is not available on FEZ boards but it is available on the processor if you need it. But, I highly assume that AREF will not affect your reading by much.

Can you give more details on your setup and why you think AREF will help?


#4

Certainly. My circuit is just a simple resistive divider. My goal is to be able to read a variable resistance value and pass that value along to a PC. Simple enough. While creating the circuit, I posted on a few forums for help. In one such thread, a user suggested that using a resistive divider is not a good choice for doing this and that an AREF pin might be necessary to ensure accuracy.

I am witnessing some small spikes that change my results slightly, but I can watch for them in code and disregard any large variations in a series. In fact, that’s probably what I’ll end up doing. I just wanted to check here and see if our Pandas supported such a reference voltage.

The original thread with details of my circuit are located here:
http://forums.netduino.com/index.php?/topic/1537-problems-with-creating-an-ohm-meter-circuit/page__gopid__11130#entry11130

Sorry for posting a link to a thread on another forum. Hope that’s not bad forum etiquette!

Thanks…
-Tony


#5

Resistors are noisy! And the higher the value the noisier they become…

If you want a precision ohm meter you’ll need to interface via a decent op amp, Op amps have high impedance inputs so noise is kept to a minimum you will need to put in glitch filtering and all sorts of signal conditioning…

The only way you will get somewhere near on a 10bit ADC is to oversample by 24 times ( at least ) and divide that by 6 that will give you a reasonable 12bit fairly smoothed input. This is how I sample resistive pots.

Cheers Ian


#6

Fortunately, the automobile sensors I’m reading give large ranges for their values. For example, the fuel level sensor reads 0-90 ohms meaning full tank/empty tank. If the variation is off even by 10 ohms, a simple average over time should deal with it. In short, none of the sensors require precision analysis. Same for temperature sensor. Changes in temp are indicated by even larger swings in resistance, so periodic anomalies seem like they would ok. Does this sound right?


#7

Do not worry about posting to external links. This actually helps everyone.

Even if you use AREF you will still get the same noise. What you need to so is filter the data to minimize noise but you will still never get exact reading every single time.

See what IanR said please.


#8

Anthony, most of the noise you had is due to your computer. PCs power is noise and Notebook chargers too.

If you try to use it from a battery powered notebook you would see the noise reduced.

As your application seems to be use in a car, you should know that the power source you will get there is many times noise than the pc so you must filter that noise heavily.


#9

I tried your test of running this on a battery powered laptop and the signal is quieter. Thanks for the tip.

You mentioned needing to filter (heavily) the car’s DC current. Can you point me to some information on how this is accomplished? Maybe some best practices around signal filtering or common strategies?

As always, thanks to this community for your help and advice!