3
\$\begingroup\$

I am trying to make a digital ohmmeter on a parallel port interface that can measure resistance with at least 95% accuracy. I have tried a 555 timer monostable assembly which generates a pulse with respect to the connected resistor. My program detects the width of pulse and then after calculation gives a value of resistance, but the results are not accurate, especially for small values. Is there any IC avaliable for resistance to digital converter? The output may be serial or parallel.

\$\endgroup\$
1
  • \$\begingroup\$ any more ideas like delta sigma encoding? \$\endgroup\$ Commented Jan 5, 2013 at 14:31

4 Answers 4

3
\$\begingroup\$

If you are familiar with microcontrollers then you can use an ADC. Place the unknown resistor as one half of a voltage divider (with known precision resistor), apply known voltage and measure the output at the junction. Do the math and you can work out the unknown resistance.

There are a few variations on this (see Wheatstone bridge, pictured below) and you can get quite complex with it the more accurate you need it to be (see LCR meters also - they use a known frequency and measure amplitude and phase angle, so you can obtain a lot more data, e.g. DF, Q, θ, etc)

Wheatstone bridge configuration:

W.B

You can also get ICs and off the shelf modules that can be configured to measure voltage/current/resistance/etc. Obviously a multimeter (e.g. with USB/RS232 link) will do what you are asking for, but I'm guessing there must be a reason you want to avoid this route.

\$\endgroup\$
2
\$\begingroup\$

You specify 95% accuracy. This is more commonly expressed as 5% inaccuracy. But you must also specify the range of resistors that you want to measure. The wider the range the more difficult it gets, and very low and very high values are an extra challenge (even if the range is small).

I think pulse length measuring using the parallel port will suffer from interference from other activities on your PC. The audio input is probably better suited for this case: make sure the frequency you generate is in the audio range, determine the frequency in software (that's a SW problem, not for discussion here), and calculate back to the resistance.

If you really want to use the parallel port get yourself an A/D converter chip with two inputs and measure the reference voltage and te voltage over your resistor, with a known series resistor. A/D converter chips are available in parallel, SPI or I2C fashion (to name a few), which can be interfaced to a parallel port (with some SW effort).

\$\endgroup\$
2
  • \$\begingroup\$ would you mean audio input or game port. Using game port you could directly measure resistance. \$\endgroup\$ Commented Jan 5, 2013 at 13:47
  • 1
    \$\begingroup\$ I meant using Farid's original idea of a 55-based oscillator, and feeding its output (after attenuation) to the audio (microphone) input. No game port involved. But you are right in that a game port can also be used to measure resistance. \$\endgroup\$ Commented Jan 5, 2013 at 14:09
2
\$\begingroup\$

Make that a constant current is driven through the resistor. Measure the voltage over the resistor.

For example, when the current would be 1A (way too high of course), the voltage would equal the resistance following U = I×R.

But when you make a constant current source of 1mA, the voltage equals the resistance in kilo-Ohms. So 1V equals 1k Ohm.

Choose a current that gives measurable and reasonable voltages on the reach you want to have. You can also do something with a potentiometer to allow multiple currents.

A way to create a constant current source can be found on Wikipedia.

Measuring the voltage can be done with a microcontroller's ADC or the 7106 IC if you want to display it on an LCD screen immediately.

Got the idea from: http://www.electro-tech-online.com/general-electronics-chat/97919-measure-resistance-ic.html

\$\endgroup\$
0
\$\begingroup\$

If you put the resistor into a non inverting amplifier as the input or feedback resister, you could easily convert resistance into voltage, and then convert to resistance after measuring the output voltage via an ADC, which is widely available on cheap ucontrollers. As mentioned previously, it would be difficult to make a single circuit to measure a wide range of resistances.

\$\endgroup\$
1
  • \$\begingroup\$ What is “resister”? \$\endgroup\$
    – winny
    Commented Feb 11, 2018 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.