# Low power ohmmeter

I need to monitor a variable resistor R1 (7.5 to 8k). The circuit runs from a coin battery. For now I'm using a voltage divider R1 and R2 = 10k, and it uses 3.3V from the battery. The middle points is connected to a microcontroller (MUC).

simulate this circuit – Schematic created using CircuitLab

Is there any better design that conserve power? I'm thinking of using LT3092 as current source.

• What are you trying to do, exactly? What do you mean by "monitor"? What is the relation between the title and the question? Commented Aug 3, 2016 at 16:10
• I want to read Vout continuosly (30 samples per second) in the microcontroller. The muc will calculate R1 from Vout, and transmit it to the computer. Commented Aug 3, 2016 at 16:18
• How is it transmitting the data to the computer? Could you maybe power the device from the computer? If the data is sent over a USB-serial converter, for example, this should be pretty easy. Commented Aug 3, 2016 at 16:58
• It's bluetooth. The whole device needs to be wireless, and powered from a coin battery. Commented Aug 3, 2016 at 17:05

I am assuming you wish to measure the value of R1. I have no idea what a MUC is but let's assume it's an analog input.

The problem with your design is that the voltage at 'MUC' will change very little over the range 7.5 to 8k. Your analog resolution, therefore, will be very poor.

simulate this circuit – Schematic created using CircuitLab

Figure 1. (a) Switch GPIO high briefly to apply power to the potential divider. (b) Use a capacitor timing circuit and a GPIO point to measure the RC time constant.

• Figure 1a does not give good resolution but does solve the power-drain problem.
• Figure 1b is far superior. It works as follows:
• Switch GPIO to output mode and pull low for $5 \tau = 5 R_3 C = 5 \times 250 \times 100n = 0.125~ms$. This will discharge by 99%.
• Switch GPIO to input mode and start timer.
• When GPIO input switches high stop the timer.

The timer value can be used to calculate the value of R4 and resolution can be better than 8-bit.

Figure 2. Capacitor discharge through R3 and recharge through the resistor to be measured.

This technique was commonly used in the Microchip PIC application notes. A brief web search showed up an article on Reibot.org which will give you more details.

• Thanks! MUC is the microcontroller. I love the idea of turning the power on only when it's needed! Commented Aug 3, 2016 at 16:33
• Thanks. Un-accept the answer for a day or two. You will discourage better answers! Commented Aug 3, 2016 at 16:34

To conserve power you should make the reading quickly and then put the microcontroller to sleep until the next reading. You could make a differential bridge amplifier as shown below with a low power rail-to-rail-in-out (RRIO) op-amp and a few resistors as shown below:

simulate this circuit – Schematic created using CircuitLab

In this case the amplifier is powered from a port pin and bypass capacitance (not shown) should be kept small, 100pF or so is okay. The ADC reference input is taken from the port output (so it uses two MCU pins). The ADC input is the amplified signal which is ratiometric to the VREF, so as to minimize errors.

The values of R3 and R4 are chosen so that the ADC input varies from 0.1 VREF to 0.9 VREF as RV varies from 7.5K to 8K. You will find that the value of R3 is quite critical- a 0.1% change results in about 2% change in the output voltage, which is about the same sensitivity as RV.

You should be able to power this up, make a measurement within (say) 100usec and then go to sleep for a relatively long period. If this circuit draws 400uA when operating and you make 1 measurement per second, that would be an average operating current of 40nA, which is negligible.