443,814 Members | 1,136 Online Need help? Post your question and get tips & solutions from a community of 443,814 IT Pros & Developers. It's quick & easy.

# Req: Calculating Preferred Values ("E Series") for electronic components

 P: 17 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 6th-8th 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) Jan 7 '11 #1
4 Replies

 Expert Mod 10K+ P: 12,383 While the formula is a way to approximate the values, the values are not derived from the formula. The E12 series is designed for a tolerance range of 10%. If you calculate the tolerance range using the numbers from the formula, you will get significantly more overlap in addition to a tolerance range larger than 10% for some of the values. Jan 7 '11 #2

 P: 17 Thanks Rabbit Is there any way to calculate the values for the commercial E-series by formula without resorting to writing each element for each series in the form of multiple lists or dictionaries? Thanks! Dave Jan 7 '11 #3

 Expert Mod 10K+ P: 12,383 Not that I know of, at least not with a single formula. It's possible to do so by emulating the thought process. For example, if I was to calculate E12 #5, the approximation formula would give 2.6, 10% below 2.6 would be 23.4. The top range for #4 is 24.2. This gives an overlap of 0.8. So I would then check 2.7 which gives a range starting at 24.3. This has no overlap so I would use 2.7 instead of 2.6. But in all honesty, whether or not this holds true for every case can't be known without calculating all the values by hand. Jan 7 '11 #4

 P: 17 OK! Thanks for your help Best wishes Dave Jan 7 '11 #5 