Frank said:
What is "too much"? There are a lot of games that you can play with
attenuators (switching the low side, and relying to some extent on
input protection / fixed input limiting resistor) that fall apart when
you go from essentially DC to a much wider bandwidth.
Input resistor and low-leakage input protection.
What's the highest resolution that you will need? Can you attenuate
the input, and have variable gain thereafter?
Bandwidth? Resolution/accuracy for smallest inputs?
There are some really cool optically coupled semiconductor "relays"
(NAIS) but most of these have somewhat large leakage and capacitance
for these applications. The last I knew 'scope makers were still using
relays
{I would be happy to hear if this information is out of date,
especially if that included how it was done...}
-frank
Hmm. I bought an older ('93) Iwatsu DS6121 DSO from military surplus.
It works well and has a series of small relays inside that switch the
active preamp. They barely even make a "click" sound. (It also has two
slots full of "74F" series logic chips comprising the RAM - could
probably save a couple hundred watts if they were changed to CMOS!)
There are several ways to accomplish "auto-ranging", here's one idea.
I have not made this device nor tested it, so take these words with a
big grain of salt. It is also not linear in any way. It is just an
idea to get you thinking. Perhaps it is useful, perhaps it is not.
"Smart" electronics usually require the use of a processor somewhere,
and this is such an idea. Imagine that an input voltage is divided
between "taps" on a resistor ladder and the voltage is read relative
to that divisor. i.e.,
[Vin]------+-------o Tap 0 (Vin * 1)
|
/
\R1
/6.4M 1%
\
| _
+-------o Tap 1 (Vin * 2.06)
|
/
\R2
/3.2M 1%
\
|
+-------o Tap 2 (Vin * 4.428571429)
|
/
\R3
/1.6M 1%
\
| _
+-------o Tap 3 (Vin * 10.3)
|
/
\R4
/800k 1%
\
|
+-------o Tap 4 (Vin * 31.0)
|
/
\R4
/400k 1%
\
|
-----
---
-
Those values can surely be tweaked to provide better numbers, but
frankly I ain't got that kind of time.
Now you would run all these taps to something like a 4066 digital
switch (provided one of these can handle at least +15v in the "on"
condition, but they may not like +155v in the "off" condition - please
check its datasheet. A series of opto-isolators and transistor
"switches" might work in place of the 4066.)
Okay before one gets too confused, here's what I'm getting at. For a
155v DC input voltage:
Tap 0 = 155.00v
Tap 1 = 75.00v
Tap 2 = 35.00v
Tap 3 = 15.00v
Tap 4 = 5.00v
Your device reads tap 4. It is within 0-5v (at 5.00v.)
Your device reads tap 3. It is outside 0-5v, testing halted.
Tap 4 = "multiply value read by 31 to get volts present"
5.00 * 31 = 155.00v
For a 32.0v input voltage:
Tap 0 = 32.00v
Tap 1 = 15.50v
Tap 2 = 7.22v
Tap 3 = 3.10v
Tap 4 = 1.03v
Your device reads tap 4. It is within 0-5v (at 1.03v.)
Your device reads tap 3. It is within 0-5v (at 3.10v.)
Your device reads tap 2. It is outside 0-5v, testing halted.
Tap 3 gives higher resolution than tap 4, so use that.
Tap 3 = "multiply value by 10.32258065 to get volts"
3.10 * 10.32258065 = 32.00v
For a 8.55v input voltage:
Tap 0 = 8.55v
Tap 1 = 4.14v
Tap 2 = 1.93v
Tap 3 = 0.827v
Tap 4 = 0.276v
Your device reads tap 4, 3, 2, 1, and stops at 0.
Tap 1 gives highest resolution, so use that.
Tap 1 = "multiply value by 2.065217391 to get volts"
4.14 * 2.065217391 = 8.55v
Now if you wanted mV resolution and below, turn on an analog x2 or x4
multiplier at tap 0 (as long as tap 0 voltage is /2 or /4 VanalogVcc.)
For that matter, instead of "peeking" and "poking" a ladder this way,
a better idea might be to "R2R ladderize" the feedback loops of a
division-mode op-amp and a multiplication-mode op-amp connected in
series. Say a 4-bit R2R ladder for each, so an 8-bit microcontroller
can control the whole shebang with one port. (i.e., high nibble =
multiplier amp, low nibble = divider amp, cycle through all range
combinations until measurement closest but under 5.00v is found, then
compute volts * (all multipliers) / (all divisors).)
Hmm, calibration sounds tricky though. And temperature stability-
ehhhh!
Again, just ideas. Besides, experimentation is good for you.
P.S. most "C" compilers for microcontrollers can do floating-point
math. If C isn't your thing, may I suggest a peek at Ziya Erdimir's
exponent-mantissa port to JAL,
http://groups.yahoo.com/group/jallist/files/Ziya Erdemir/
and my handy-dandy JAL floating-point-to-LCD-formatting front-end,
http://groups.yahoo.com/group/jallist/files/heliosstudios/
-- "One day, personal computers are going to be labeled just as
addictive as narcotics." MCJ 200405