I'm trying to read the output of a load cell conditioner using an Arduino Mega. The problem is that the output of the conditioner is in the range -10:+10 Volt. How can I rescale this signal in order to be able to read it using my Arduino ?
To read a higher voltage, a voltage divider with two resistors is used and GND is required.
To also read a negative voltage, a voltage divider with three resistors is used and both GND and a fixed voltage are required. There is a formula for that, which I can not find at the moment.
The internal reference should be used to read a voltage, but the three-resistor-voltage-divider also requires a accurate voltage. Perhaps the 3.3V can be used for that.
R1 = 47k
R2 = 10k
R3 = 15k
The 3.3V is used as a fixed voltage for the three-resistors-voltage-divider.
The analogReference(INTERNAL2V56); is used.
As a result, the -10V ... +10V can be measured.
When 0V is applied, then the resulting value of analogRead() is not 512, but a little higher.
For the resistor values, I put A0 somewhere halfway of 2.56V with R2 and R3. Then I calculated R2 // R3 to that voltage halfway, and with that I calculated R1. But I don't really know what I'm doing.