I'm designing a fast-charge NiCd battery charger. To determine when to terminate the charge, I'll be using the standard technique of monitoring the charge profile of the battery and terminating charge when the battery voltage peaks and begins to decrease, as shown below.
I'll be using a 10-bit ADC to monitor the battery voltage, which gives me approximately 5 mV resolution with a 5 V supply. I'd like to terminate charge when I see a 10 mV drop in voltage. However, I'm a little worried that 5 mV resolution won't be enough to reliably detect the end-of-charge condition, especially with some noise thrown into the mix. Would it be a good idea to use an instrumentation amplifier with one input set to a steady 1.55 V and the other input connected to the battery? Then, that approximately 30 mV rise and fall (above 1.55V) would look like, say, a 3 V rise and fall. Then, charge termination would occur when I detect a 1 V drop instead of a 10 mV drop, which would be a lot easier on the ADC.
Any problems with this solution that I'm overlooking?