The requirement to divide the ADC input by 33 means that your ADC measurements within the
ADC's working voltage range (0V to 3.6V) will 1/33rd the amplitude) so if you wanted to measure
10uV, (without the divide by 33 circuit), you could measure 5.96uV and the ADC would report
1 count. But WITH the DIVIDE BY 33 input circuit, the ADC will see 10uv/33= 0.3030uV, which is well below it's minimum range. What this means in plain English is that if you are going divide by 33 to reduce the high voltages, you have to multiply (AMPLIFY) low LOW voltages.
If you think about it, this creates a Catch-22. How can you amplify ALL ADC inputs if all the inputs above 3.6V and all ADC inputs below 0.109V need amplification ? An example might help. Let's say the voltage to be measured is 1.00V. 1V/33 = 0.0303V. This is the voltage the ADC will see because you divided that input by 33. if you then multiply that input by 33, the ADC input would be 33V. Obviously , this is not going to end well for and ADC operating on 3.6V. There is your Catch-22. What to do ? Well, since you're not yet and electronics engineering student , this may be beyond your current level, but for the rest of us it is just another day at the office. You add a comparator to the output of the divide by 33 circuit with a Vref of 0.100V. The comparator switches a small dip relay. An analog switch will have internal resistance which would alter the voltage. A relay would not. When the comparator detects a voltage BELOW 0.1V, it switches the relay, rerouting the output of the divide by 33 voltage divider to the input of a Gain of 33 non inverting op amp amplifiier. (Rin= 1k, Rf= 32k (1%). Gain A = 1+R2/R1).
Example: The 1V input.
1V /33= 0.0303V
the comparator switches the input to the amplifier, and the ADC sees 0.0303V33= 1.00V
max count for a 24-bit ADC = (2^24-1)=16,777,215
167,785 counts/16,777,215 represents 0.01 x100 = 1% of the ADC's range. (167785100=16,778,500)
Obviously, if you read 167,785 counts from the ADC, you need to check the COMPARATOR
Flag (a separate signal (logic low/high) from the comparator circuit to a logic input of the processor that must be read to read the comparator/amplifier status, | where "1" = AMPLIFIER ENABLED
Having read a "1" on the Amplifier Status Input pin, your code would then need to divide
this value by 33,
50845.96uV=0.0303, the value on the output of the divide by 33 voltage divider.
You must then multiply this by 33 to compensate for the divide by 33 voltage divider.
0.0303V33=0.9999986V (round up to the next whole number = 1.00V), the value of the
If someone knows an easier way, I would be interested to see it but that's my suggestion,
for what it's worth. I'm only an Electronics Engineering Technician, not a BSEE, so it might
be quite different from what a BSEE would suggest. It is what it is.