JohnJohn20
Advanced Member level 4
How to use a PIC ADC to detect micro volt changes in a voltage?
Using a PIC16F88 chip I can get a resolution of 5V/1024 = 5mV. Even using a 16 bit ADC will only give me say .08mV resolution.
So. How to get detect a relatively fast 10 uV change in the input voltage using the 16F88 chip?
2 ideas I had. What are their pros and cons?
1. Measure the input voltage Vin using the 10 bit ADC, then create two reference voltages Vin +- 1mV and apply them to the Vref+ and Vref- pins and then monitor the ADC value of Vin between these two reference values. That would give me 2uV resolution.
Will the PIC ADC work OK if Vref+ - Vref- = 2mV?
I thought that PWM would be too noisy to generate the reference voltages, but considered charging a low loss capacitor (controlled by the PIC chip) until its voltage reached Vin + 1mV, using that for the Vref+ input (via a unity gain op amp buffer) and an op amp voltage subtractor to get the Vin - 1mV for the Vref- pin.
The idea being that the Vin change would happen much quicker than the Vcap voltage decay which could be monitored and topped it up as required.
2. The other method was to charge a low loss capacitor until Vcap is close to Vin and then use a high gain op amp amplifier to monitor the voltage difference between Vcap and Vin for fast changes in Vin compared to the relatively slow changes in Vcap.
Again, as Vcap and Vin slowly drift apart, monitoring could pause and the capacitor could be charged or discharged accordingly.
Any better ways to detect micro volt changes in a voltage?
Thanks.
Using a PIC16F88 chip I can get a resolution of 5V/1024 = 5mV. Even using a 16 bit ADC will only give me say .08mV resolution.
So. How to get detect a relatively fast 10 uV change in the input voltage using the 16F88 chip?
2 ideas I had. What are their pros and cons?
1. Measure the input voltage Vin using the 10 bit ADC, then create two reference voltages Vin +- 1mV and apply them to the Vref+ and Vref- pins and then monitor the ADC value of Vin between these two reference values. That would give me 2uV resolution.
Will the PIC ADC work OK if Vref+ - Vref- = 2mV?
I thought that PWM would be too noisy to generate the reference voltages, but considered charging a low loss capacitor (controlled by the PIC chip) until its voltage reached Vin + 1mV, using that for the Vref+ input (via a unity gain op amp buffer) and an op amp voltage subtractor to get the Vin - 1mV for the Vref- pin.
The idea being that the Vin change would happen much quicker than the Vcap voltage decay which could be monitored and topped it up as required.
2. The other method was to charge a low loss capacitor until Vcap is close to Vin and then use a high gain op amp amplifier to monitor the voltage difference between Vcap and Vin for fast changes in Vin compared to the relatively slow changes in Vcap.
Again, as Vcap and Vin slowly drift apart, monitoring could pause and the capacitor could be charged or discharged accordingly.
Any better ways to detect micro volt changes in a voltage?
Thanks.
Last edited: