# Voltage divider calibration

I have a fairly simple circuit. I am using an anemometer that sends a voltage based on the wind speed. Voltage - 10 volts = wind 0 to 30 mps. I created a simple voltage divider to get the read voltage under the 4.8V that I am running the Arduino. Question is, will a long 18 gauge wire have a voltage drop that may effect the read voltage? Using an MCP3208.

I figure that I can easily set up a calibration routine that I put 10 volts (or any verified voltage) on the far end of the wire. Then using the measured voltage and the expected voltage, I can calculate the ratio of the voltage divider and use this value for converting the MCP2308 read voltage. This way if I move the anemometer (shorten or lengthen the wire) I can run the calibration and get my new ration.

Is this thinking sound? I can do all the programing, just want to make sure my logic is right.

Bob

What resistor values are in your divider?

Read the data sheet of the anemometer, what current, or load, it is built for. Don't exceed that load, stay below ot. Choosing precise resistor calibration is not really needed. How many data bits does the ADC use?

will a long 18 gauge wire have a voltage drop that may effect the read voltage?

An AWG wire table has the resistance for different gauges of wire. For instance 18 gauge copper wire has 6.385 Ohms per 1000 feet.

The wire is unlikely to have a significant effect, but if so, that doesn't matter in most cases.

The simplest way to calibrate an anemometer is to mount it on a car (on a support away from the car body, to minimize surface flow effects). On a wind still day, drive around at various speeds and measure the output. Then fit a straight line to get the calibration factor.

jremington: The wire is unlikely to have a significant effect, but if so, that doesn't matter in most cases.

The simplest way to calibrate an anemometer is to mount it on a car (on a support away from the car frame). On a wind still day, drive around at various speeds and measure the output. Then fit a straight line to get the calibration factor.

Brilliant idea! Use 2 persons, one driver, one electronics operator.......

To calibrated my anemometer I did like jremington suggests. I connected a GPS, and SD card and the anemometer to my Uno, mounted the anemometer on a mast in the bed of my pickup to get the anemometer in clean air and drove around recording the speed from the GPS and the output of the anemometer. Drive one direction at different speeds then turn around and repeat in the opposite direction to, hopefully, cancel out wind. Then put the data into Excel to get a straight line fit. Worked pretty well. I did attract the attention of the local sheriff who followed me, watching, but didn't pull me over.

I did attract the attention of the local sheriff who followed me, watching, but didn't pull me over.

Pretty subversive behavior, driving around with a scientific instrument!

I live in a small town in the boondocks of Arizona. To go over 25 MPH (legally) I had to go out onto the main drag through town. Attracted more than just the sheriff's attention.

groundFungus: An AWG wire table has the resistance for different gauges of wire. For instance 18 gauge copper wire has 6.385 Ohms per 1000 feet.

Thanks as I am only using about 75 feet, the added resistence would be insignificant as my total voltage divider is roughly 780k and my tap is at about 320k. Bob

I may drive around to test it. I have been using a fan and a hand held anemometer. Getting pretty close and I am not sure the accuracy of the hand held.

Railroader, 12 bit ADC and my total resistance is roughly 780k so I think I am okay on current, but thanks for the heads up, I will check and make sure I am okay.

Bob

parrst: Thanks as I am only using about 75 feet, the added resistence would be insignificant as my total voltage divider is roughly 780k and my tap is at about 320k. Bob

Those resistor values looks very high to me. Check the internal resistance of the AD converter of the controller! 1M, Your values are too high, 10M, likely okey.

parrst: Thanks as I am only using about 75 feet, the added resistence would be insignificant as my total voltage divider is roughly 780k and my tap is at about 320k. Bob

I agree, now that I can see your component values. At those values, just about any length of just about any wire won't change the reading. If anything, they are quite high. The analog input won't work accurately at extremely high input impedances. I would probably use something lower like 100k total, but it should work. Do you have a smoothing capacitor in there?

groundFungus:
I live in a small town in the boondocks of Arizona. To go over 25 MPH (legally) I had to go out onto the main drag through town. Attracted more than just the sheriff’s attention.

Haha. Don’t calibrate the patience of the sheriff. It’s terribly low I think and he’s likely not fascinated by Arduinos…

aarg: I agree, now that I can see your component values. At those values, just about any length of just about any wire won't change the reading. If anything, they are quite high. The analog input won't work accurately at extremely high input impedances. I would probably use something lower like 100k total, but it should work. Do you have a smoothing capacitor in there?

Noicekillers advicable, as You say, as well as lower values of the resistors.

The MCP3208, and the Arduino A/D, are both ratiometric. Meaning the final result also depends on supply voltage of the Arduino or MCP3208. If you want a stable readout, then you should use the internal reference of the Arduino (not default 5volt), or power the MCP3208 from the more stable 3.3volt (assuming you use an Uno). And calculate your divider accordingly. An ADS1115, with it's internal reference voltage (absolute A/D), would have been a better choice.

Wire resistance (wire length) is insignificant. Only noise pickup of that length of wire could be a problem. Did you use twisted pair (Cat-5/6). Must also use a (100n) ceramic capacitor near the A/D input, from pin to ground, to shorten RF and mains hum to ground.

I assume the divider is near the Arduino. Your divider values seem rather high. The divider value has little to do with the Arduino, but that load could be important for the wind sensor. What does the manufacturer recommend. Leo..

From MCP3208 data sheet:

6.3Buffering/Filtering the Analog InputsIf the signal source for the A/D converter is not a lowimpedance source, it will have to be buffered or inaccu-rate conversion results may occur

So what exactly does your "fairly simple circuit" look like?

I would have used a voltage divider to about 3volt, with the 100n cap from pin to ground. Connected the Aref pin to the 3.3volt pin with a ~5k resistor, and switched Aref to EXTERNAL in setup(). That would have provided stability, independent of how you power the Uno, and the Arduino A/D should have high enough resolution for a wind sensor in mph with one meaningful decimal place. No need for an external A/D.

Multimap() might be needed for linearity correction. Leo..

aarg: I agree, now that I can see your component values. At those values, just about any length of just about any wire won't change the reading. If anything, they are quite high. The analog input won't work accurately at extremely high input impedances. I would probably use something lower like 100k total, but it should work. Do you have a smoothing capacitor in there?

Yes. I believe it was a 100nf from singal input to ground. voltage was quite off till I added it. I may try knocking the total voltage divider down as well. Thanks for the input!

Still waiting for details of your circuit...need a schematic that includes the ADC IC and all associated components.