Searching \ for 'Ohmimeter' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: massmind.org/techref/index.htm?key=ohmimeter
Search entire site for: 'Ohmimeter'.

Truncated match.
PICList Thread
'Ohmimeter'
2000\02\07@075217 by Cassiano J. Pereira

flavicon
face
Hi all!

How can I to build an ohmimeter using a Pic16c711?
If somebody to know of something, answers me.
Thanks!

--
+-----/-------------------------\-----+
|     \   CASSIANO J. PEREIRA   /     |
|      \   Eng. Eletr™nico     /      |
|-------\---------------------/-------|
|| -> LAPRO - Centro 6 - UNISINOS <- ||
||    emails: spam_OUTcasspereiraTakeThisOuTspamsinos.net  ||
||     .....cassianoKILLspamspam@spam@exatas.unisinos.br   ||
+-------------------------------------+

2000\02\07@084911 by Andrew T Kelley

picon face
That is easy.

5V
|                   |
|___[res]__| ADC Pin
           |

Read the adc pin.
then calculate the voltage drop.
Like this:
   drop = 5 - adcvalue;
Then figure out what value resistor drops x amount of voltage.


IT may NOT WORK...


Hope this helps,
Andrew


On Mon, 7 Feb 2000 10:50:56 -0200 "Cassiano J. Pereira"
<cassianospamKILLspamEXATAS.UNISINOS.BR> writes:
{Quote hidden}

________________________________________________________________
YOU'RE PAYING TOO MUCH FOR THE INTERNET!
Juno now offers FREE Internet Access!
Try it today - there's no risk!  For your FREE software, visit:
dl.http://www.juno.com/get/tagj.

2000\02\07@090604 by Michael Rigby-Jones

flavicon
face
part 0 2653 bytes
<P><FONT SIZE=2 FACE="Courier">5V</FONT>
<BR><FONT SIZE=2 FACE="Courier">|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |</FONT>
<BR><FONT SIZE=2 FACE="Courier">|___[res]__| ADC Pin</FONT>
<BR><FONT SIZE=2 FACE="Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Read the adc pin.</FONT>
<BR><FONT SIZE=2 FACE="Arial">then calculate the voltage drop.</FONT>
<BR><FONT SIZE=2 FACE="Arial">Like this:</FONT>
<BR><FONT SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp; drop = 5 - adcvalue;</FONT>
<BR><FONT SIZE=2 FACE="Arial">Then figure out what value resistor drops x amount of voltage.</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">IT may NOT WORK...</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">Hope this helps,</FONT>
<BR><FONT SIZE=2 FACE="Arial">Andrew</FONT>
</P>
</UL>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">I can be a little more definate.&nbsp; It won't work!&nbsp; The input impedance of the adc is pretty high and worse, is not precisley defined, so unless the the resistor you are measuring has a very high value, you will only drop a very small amount of voltage.&nbsp; Remember a resistor will only drop voltage when a current is flowing through it.</FONT></P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">The normal way to measure a resistor is to put a known current through it and measure the voltage drop.&nbsp; You extend the range of an instrument, you would have several ranges that would put different amounts of current through the resistor.&nbsp; You simply apply ohms law R=V/I.</FONT></P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">The tricky(er) bit is making a precision current source which isn't my speciality, but I'm sure someone on the list will oblige.</FONT></P>

<P><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">Mike</FONT>
</P>
<BR>

</BODY>
</HTML>
</x-html>

2000\02\07@114954 by Harold M Hallikainen

picon face
On Mon, 7 Feb 2000 08:22:29 -0500 Andrew T Kelley <k_andrewspamspam_OUTJUNO.COM>
writes:
> That is easy.
>
> 5V
> |                   |
> |___[res]__| ADC Pin
>             |
>
> Read the adc pin.
> then calculate the voltage drop.
> Like this:
>     drop = 5 - adcvalue;
> Then figure out what value resistor drops x amount of voltage.
>
>
> IT may NOT WORK...
>
>

       Right, it probably won't. You can either use a pull-up resistor to +5V
(assuming the A/D is using +5V as its reference) and have the unknown to
ground (which will give a nonlinear A/D versus resistance curve) or use a
current source as the pull-up, which will give a linear curve. The
current source could be made using any of several techniques. Could be a
current mirror, a PNP transistor with zener, a constant current diode, or
an op-amp constant current source. If you don't mind floating the unknown
resistor, you can use an op-amp to do both the constant current and
current to voltage conversion.
       If, for example, you ground the noninverting input, connect the
inverting input through a 1K to -1V, put the unknown resistor between the
inverting input and the output, the output voltage (in volts) will
represent the unknown resistance in k ohm. You can scale resistors and
voltages to whatever you need.

Harold


FCC Rules Online at http://hallikainen.com/FccRules
Lighting control for theatre and television at http://www.dovesystems.com

________________________________________________________________
YOU'RE PAYING TOO MUCH FOR THE INTERNET!
Juno now offers FREE Internet Access!
Try it today - there's no risk!  For your FREE software, visit:
dl.http://www.juno.com/get/tagj.

2000\02\07@131059 by wagner
flavicon
face
Any electronic instrumentation measures the physical variable element by
comparison, or to another known part or to a known internal reference.
All the other kind of magic only with "Magic Lights and Sound" in
Holywood, or using a RC timming constant :)

You can choose any of the following 3 options.
Pick any TWO from  "Fast", "Good", "Low Cost".

OPTION #1:
(Not easy, Not simple)

The most common way to produce a ohm-meter is via a constant current
source.

            .----------o---> ADC Input
            |          |
           / \         |
+10Vcc-----/   \        '--->
-10Vss----/_____\            UNKNOWN R (UR)
          +   -        .--->
          |   |        |
VRef o----'   o--------o
0.1V          |        |
             === C     R 100 Ohms (RF)
              |        |
             Gnd      Gnd

The above circuit will try to supply 1mA through UR doesn't matter
what.  High values of UR will generate high voltage to ADC input, zero
ohms at UR, will generate 100mV at ADC input.

As the current is constant 1mA (with some UR), there is a 100mV over RF
always, so your software should reduce it from the actual ADC output.

RF = 100 Ohms, and UR from zero to 4900 Ohms will generate ADC input
voltages from 100mV up to 5000mV. So, RF would be your scale range.

RF =   10 Ohms, UR range up to  490 Ohms.
RF =  100 Ohms, UR range up to 4900 Ohms.
RF = 1000 Ohms, UR range up to  49k Ohms.
RF =  10k Ohms, UR range up to 490k Ohms.

ADC input overflows above 5V means the op-amp output swings toward +10V
(>5Vdc) when UR is above RF range. UR = infinite (open), op-amp output
goes close to +10V.

You could also control VREF to change range (restrictions).


OPTION #2:
(Simple, but not easy)

Using a discrete ADC unit that can accept a VREF from 0.1 to 4Vdc, you
could build this circuit:

    +4Vdc
      |
      |
      R1 RANGE (=R2)
      |
      |
      o-----> ADC VREF
      |
      R2 (RANGE)
      |
      o-----> ADC INPUT
      |
      R3 (UNKNOWN)
      |
      |
     Gnd

Vref = 4 * (R2+R3) / (R1+R2+R3)
Input = 4 * R3 / (R1+R2+R3)

Suppose ADC is 12 Bits unipolar, so full scale (FS) = 4095
If R2 = 10k and R3 = Unknown
R3 = R2 / ( FS / ADC_OUT - 1 )
------------------------------
Examples:

ADC output = 50
ADC output = FS / ( 1 + R2 / R3 )
4095 / 50 = 1 + R2 / R3
81.9 - 1 = R2 / R3
R3 = R2 / 80.9 =  10000 / 80.9 = 123.60 Ohms

ADC output = 300
4095 / 300 = 1 + R2 / R3
13.65 - 1 = R2 / R3
R3 = R2 / 12.65 =  10000 / 12.65 = 790.51 Ohms

ADC output = 1000
4095 / 1000 = 1 + R2 / R3
4.095 - 1 = R2 / R3
R3 = R2 / 3.095 = 10000 / 3.95 = 3231 Ohms

ADC output = 2047
4095 / 2047 = 1 + R2 / R3
2.000 - 1 = R2 / R3
R3 = R2 / 1.000 =  10000 / 1.000 = 10k Ohms

ADC output = 2356
4095 / 2356 = 1 + R2 / R3
1.738 - 1 = R2 / R3
R3 = R2 / 0.738 =  10000 / 0.738 = 13550 Ohms

ADC output = 3000
4095 / 3000 = 1 + R2 / R3
1.365 - 1 = R2 / R3
R3 = R2 / 0.365 = 10000 / 0.365 = 27397 Ohms

ADC output = 4094
4095 / 4094 = 1 + R2 / R3
1.0002 - 1 = R2 / R3
R3 = R2 / 0.0002 = 10000 / 0.0002 = 50 MOhms

ADC output = 4095
4095 / 4095 = 1 + R2 / R3
1.000 - 1 = R2 / R3
R3 = R2 / 0.000 = 10000 / 0.000 = Open Circuit

In any case, VREF would swing between Vcc/2 to Vcc, since R1=R2.
R1=R2 defines the mid range of the curve.

OPTION #3:
Using a discrete ADC unit with diferential VREF and Input pins.

    +4Vdc
      |
      |
      o-----> ADC VREF +
      |
      R1 (RANGE)
      |
      o-----> ADC VREF -
      |
      o-----> ADC INPUT +
      |
      R2 (UNKNOWN)
      |
      o-----> ADC INPUT -
      |
     Gnd

Vref  = 4 * R1 / (R1+R2)
Input = 4 * R2 / (R1+R2)

R2 = ADC_OUT * R1 / ADC_FS
If ADC_FS (full scale) = 4095,
  ADC_OUT = 1000
  R1 = 100k

R2 = 1000 * 100k / 4095 = 24420 Ohms

R1 will be your full scale range.


OPTION #4:
(Easy, but not simple)

 PIC port pin A output-----.
                           |
                           R Unknown
                           |
 PIC port pin B input------o
                           |
                          === C
                           |
                          Gnd

Flip A to + and measure time it takes to charge C.
Long time means High Value R.
Create a linearization formula to process the measured time, or a PWM
output at A (increasing the + pulse width along with the time), so the
ramp on C will be linear.

2000\02\07@161711 by jamesnewton

face picon face
PIC Base DVOM
http://www.chipcenter.com/circuitcellar/november99/c119dp1.htm

see also:
http://techref.massmind.org/tools

---
James Newton @spam@jamesnewtonKILLspamspamgeocities.com 1-619-652-0593
http://techref.massmind.org NEW! FINALLY A REAL NAME!
Members can add private/public comments/pages ($0 TANSTAAFL web hosting)


{Original Message removed}

More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...