Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

An electronic logarythmic resistor array, how to dimension?

Mr.Big

Junior Member level 3
Joined
Apr 17, 2014
Messages
27
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Activity points
1,410
I need a logarythmic resistor array, 8bit resolution, maybe I can provide 9 or 10 Bit

I need the range of 10-500Ohm in very fine steps
And then another 8bit with 500 to 5kOhm
 
Last edited:

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
22,222
Helped
4,609
Reputation
9,234
Reaction score
4,871
Trophy points
1,393
Activity points
146,809
Hi,

factor = (300/10) ^(1/256) = 1.01337 // 8 bits = 256

10
10 x 1.01337 = 10.1337
10.1337 * 1.0337 = 10.2693
10.2693 * 1.0337 = 10.4066
and so on

do the same for 300 Ohms to 5000 Ohms

Klaus
 

Mr.Big

Junior Member level 3
Joined
Apr 17, 2014
Messages
27
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Activity points
1,410
I don't understand.
I mean, what value does the resistors need to have.
R1 R2 ...R8
 
Last edited:

wwfeldman

Advanced Member level 4
Joined
Jan 25, 2019
Messages
1,009
Helped
217
Reputation
433
Reaction score
264
Trophy points
83
Activity points
7,583
8 bits is 256 steps, from 0 to 255
with range of 10 to 500 and 256 steps
(500/10)^(1/256) = 1.0153987
i changed Klaus's 300 to 500

if you follow Klaus's pattern:

R0 = 10
R1 = 10 x 1.0153987 = 10.153987
R2 = 10 x 1.0153987 x 1.0153987 = 10.310345

RN = 10 x (1.0153987)^N

R255 = 10 x (1.0153987)^255 = 492.417414

and R256 = 500
 

BradtheRad

Super Moderator
Staff member
Joined
Apr 1, 2011
Messages
14,527
Helped
2,850
Reputation
5,710
Reaction score
2,836
Trophy points
1,393
Location
Minneapolis, Minnesota, USA
Activity points
108,455
I suspect the question is how to choose 8 weighted resistors so that, when switched in all 256 possible binary patterns, they yield the desired spread of ohm values.

To obtain 10 to 500 ohms.
Start with 500 ohm in parallel with the network. (This is default value when all bits are turned Off.)
Place 20 ohms at bit 8, 40 at bit 7, then 80, 160, 320, 640, 1280, 2560.

Notice all 8 bits create resistance 10 ohms.

To obtain 500 to 5k.
Start with 5k in parallel with network.
1000 ohm at bit 8.
2000 at bit 7. Etc.
 

LordVile

Newbie level 4
Joined
Oct 6, 2017
Messages
7
Helped
0
Reputation
0
Reaction score
1
Trophy points
3
Activity points
103
Buy a 256 bit digital pot.

Making it with resistors with more than 1% accuracy will be too expensive.

Here is csv file with the values
 

Attachments

  • Book1.txt
    6.1 KB · Views: 12

dick_freebird

Advanced Member level 5
Joined
Mar 4, 2008
Messages
7,830
Helped
2,228
Reputation
4,464
Reaction score
2,176
Trophy points
1,393
Location
USA
Activity points
62,765
First I'd look for "digipot" IC products with log taper, a common
audio feature.

If I didn't find one, but families look suitable for voltage, current,
bandwidth, distortion etc., I'd consider picking a linear and
"cal-mapping" log to linear-address through a PROM or a data
table in the host (if that's a thing).

You "could" make a taper ladder and access the taps through
a wide mux bank (like (16) 16:1s feeding a final 16:1 - you can
get wider, but cost goes up and performance, down as a rule).
Do it log(2) style and it's just like 100, 200, 400, 800, 1600, ...
all the way out. You might even be clever enough to do an
interpolation scheme and gain better resolution in the mid to
high range (using low bits) if you made two muxes, top and
bottom, that could pick any two points on the string.

At the low end you may find switch on resistance starts to
meddle with delivered value.
 

crutschow

Advanced Member level 5
Joined
Feb 22, 2012
Messages
4,127
Helped
956
Reputation
1,910
Reaction score
996
Trophy points
1,393
Location
Colorado USA Zulu -7
Activity points
23,382
Buy a 256 bit digital pot.
Digital pots give a output 3-input potentiometer ratio accurate to 8-bits, but their actual resistance between the wiper and either terminal is not.
--- Updated ---

I need a logarythmic resistor array,
That's quite difficult to do.
What will this array be used for?
 

c_mitra

Advanced Member level 5
Joined
Nov 13, 2012
Messages
3,803
Helped
929
Reputation
1,860
Reaction score
921
Trophy points
1,393
Activity points
30,003
I need a logarythmic resistor array, 8bit resolution, maybe I can provide 9 or 10 Bit

I need the range of 10-500Ohm in very fine steps
And then another 8bit with 500 to 5kOhm
Your question is not clear enough.

You want an array with 10 bit res; that means you will have 2^(10) or 1024 distinct elements or steps.

Each step will give you 1 bit resolution. That is how I understand it.

For a mechanical switch, this means 1024 distinct position.

You want a log scale; that means the series must be geometric. Take the lowest value as a.

The final value is b (say). So your series will look like:

a, ar, ar^2, ar^3, ar^4 .... ar^(1023)=b

Hence r is (b/a)^(1/1023).

I am sure you wanted something else!!
--- Updated ---

I suspect the question is how to choose 8 weighted resistors so that, when switched in all 256 possible binary patterns, they yield the desired spread of ohm values.

To obtain 10 to 500 ohms.
Start with 500 ohm in parallel with the network. (This is default value when all bits are turned Off.)
Place 20 ohms at bit 8, 40 at bit 7, then 80, 160, 320, 640, 1280, 2560.

Notice all 8 bits create resistance 10 ohms.

To obtain 500 to 5k.
Start with 5k in parallel with network.
1000 ohm at bit 8.
2000 at bit 7. Etc.
I am not so sure that is what Mr Big wanted. But that is still simpler:

select R for LSB - your choice.

2R for bit 1; 4R for bit 2, 8R for bit 3, 16R for bit 4... and finally 128R bit 7.

you will need 8 SPDT switches to select the desired number.

You can get any number from 0-255.
 
Last edited:

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top