Hi Folks!
I was trying to write some Python script to calculate resistor values for electronics projects, and wanted to generate lists of the preferred resistor values in each standard commercially available ranges of values (E6, E12, E24 etc.) by formula rather than using large unwieldy lists or directories..
From what I've been able to find by reading & Googling, the "E series" of preferred values are based on a logarithmic scale / geometric series in which each decade is divided into 'E' values (where E = 6,12,24,48...), and the value of the nth member of each series may be calculated using the formula:
10^(n/E)
So for the E12 series, this has 12 elements which should have values of (when rounded & expressed to 2 sig figures):
10,12,15,18,22,26,32,38,46,56,68,83
However, the commercially available E12 series for resistors actually goes:
10,12,15,18,22,27,33,39,47,56,68,82
The 6th8th and 12th elements in the commercially available series deviate from the calculated values.
I'm pretty sure my maths & reasoning are correct.
Does anyone know the reason for the discrepancy?
Maybe some accident of history?
Without any obvious pattern to the deviations, I can't see how to write a formula to correct for this.
As I mentioned, I could create a workaround by writing the correct values in a series of lists or dictionaries for each of the commonly used E series (E6, E12, E24, E48), but I was hoping for a minimalist elegant solution to generate these numbers by formula.
Would be very grateful for any explanations for the deviation and elegant solutions!
Many thanks in anticipation & Happy New Year to you all!
Dave
(Swansea,UK)
