Don't think of it as losing 2V. You aren't really losing any of the span and accuracy of the sensor output signal, you're just scaling it into a voltage that the Netduino can understand and work with. It pretty common to do this in the analog to digital world, where some of the analog voltages are outside the range at which ADC chips can work. The input signals have to be adjusted for the ADC chip to use them. That's exactly what is happening here. 5V becomes 3V, and 0V is still 0V. You're taking the output range and compressing it slightly, but you still have all of the range represented in the 0 - 3V span of the signal.
You'll have to do some translation tricks in the code, like using a correction factor to arrive at the actual value represented by the new voltage, but that can be arrived easily enough by using the ratio of voltages. In this case 3V/5V = a 0.6 correction factor. If, in a 5V span, the sensor puts out 3.3V, the new circuit would display that 3.3V signal as 3.3 * 0.6 = 1.98V. You just have to interpret that in your code the right way. So if your sensor is saying that it is at 10 PSI when putting out 3.3V, your Netduino will read that same 10 PSI pressure reading at approximately 2V, you just have to teach your Netduino code to understand what that means.
To obtain your correction factor, take 5V and apply it to the top of the voltage divider with the divider connected to the Netduino pin. Measure the voltage on the resistor leg at the Netduino pin. Take that voltage and divide it by 5 Volts. Presto, you now have a scaling, or correction factor to use in your code. To scale downward, multiply by the correction factor. To scale upward, multiply by the inverse of the correction factor (1/correction factor).
- xmen likes this