mrkite89
Rookie Solder Flinger
Posts: 1
Likes: 1
|
Post by mrkite89 on Mar 29, 2021 9:50:33 GMT -5
Hi, first post here! By the way, very interesting forum! Keep on rocking guys! I have a question for the experts here: I bought an LCR meter to measure the inductance of my pickups. I tried to plug a short patch cable to my guitars and measure the inductance that way, but soon I noticed how the pots influence the readings. Now, also with resistance I get "false" readings, but I know how to "exclude" the pots and get the "real" value: yes, I use nominal values for the pots (not actual readings) but since the resistance of the pickup(s) in parallel with the pots is much smaller there's no much difference between a 220k load and a 270k load, so I can get pretty accurate readings without desoldering the pickups... I was wondering if there's a similar method\formula to calculate the actual inductance, knowing the value of the pots... Thanks a lot for your help! MrKite
|
|
|
Post by JohnH on Mar 29, 2021 15:20:14 GMT -5
hi mrkite89, and welcome to GN2
Dodging the question - if you want to get accurate values of resistance for your pickups and pots, then we know how to do that. At full volume measure resistance, which due to the pots will be just under the pickup resistance, so add about 2% to allow. Now sweep the volume pot and take the max reading which will be at about 6 or 7 on a log pot. That figure is 1/4 of the sum of pot plus pickup (assuming no treble bleed circuit). That allows you to back-figure a very accurate pot value, then using that you can go back and correct that 2% allowance if you want to.
But....to do this to then get to the pickup inductance insitu is orders of magnitude more complex, due to the other components that are active, plus also, uncertainty about how a given meter on an inductance range will report on a load that is partly inductive and partly resistive. If we knew that then there'd be a chance using complex numbers for real and imaginary impedance to separate the values.
However Ive got an inductance range on my normal multimeter, it reads credible values for the inductance of in situ pickups, but accuracy is unknown.
Probably easier to do that unsoldering and then test. But you might in doing that, measure insitu and disconnected, and you might get a sense of how the parallel resistances affect inductance readings. Then you can use that to help interpret an approximate test on your other guitars.
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 10, 2021 16:50:48 GMT -5
I have a guitar with a ”blower switch” that takes the brige pickup straight to the jack. It has 500k pots and a JB type pickup in the bridge. Measuring series inductance of the bridge pickup ”in circuit” gives me around 8H, while measuring it going straight to the jack gives 9,3H, so about 16 % more. Probably not generalizable but still, it gives a hint.
|
|
|
Post by JohnH on Nov 10, 2021 19:33:39 GMT -5
Thanks that's an interesting result. I've never quite figured out how an inductance measurement varies when there are other series or parallel components involved. And it may vary depending on how a certain meter works. But finding that the value read on the meter is reduced makes a lot of sense.
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 11, 2021 3:36:55 GMT -5
I just got a good LCR meter and will do some more testing on my other guitars and pickups. I’ll let you know what I find out!
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 12, 2021 17:42:03 GMT -5
I did some more readings:
1. Telecaster with Lundgren BJFE pickups 250K pots
Bridge pickup: 3.4H inside the cavity and 3.0H from the jack
Neck pickup: 2.5H inside the cavity, 2,1H from the jack
2. PRS with Seymour Duncan APH-2 Slash bridge and APH-1 Neck
Bridge pickup: 5.3H inside the cavity, 4.8H from the jack
Neck pickup: 4.1 inside, 3.8 from the jack
Adding 10-15 % to the jack reading seems to be a reasonable approximation so far.
|
|
|
Post by Yogi B on Nov 12, 2021 20:37:25 GMT -5
My guess is that the LCR meter would assume that a measured 'inductor' is a pure inductance in series with a pure resistance, and thus assumes that the imaginary part of the combined impedance is directly proportional to the inductance (and test frequency). For example, with the JB pickup: Z_\text{unloaded} = R + 2 \pi f L i So, assuming 16.4k for the DC resistance (the value given by Seymour Duncan) and measurement at the frequency of 1kHz: Z_\text{unloaded} = 16400 + 18600 \pi i When loaded with two 500k pots (250k) this becomes: Z_\text{loaded} = {1 \over {1 \over 250000} + {1 \over 16400 + 18600 \pi i}} \approx 26160 + 49100i
Therefore, if the LCR meter does the calculation that I suppose, it simply equates the imaginary part to inductive reactance, i.e. (again assuming 1kHz test frequency): \begin{aligned} X_L &= 2 \pi f L = 49100 \\[1.5em] L &= {49100 \over 2 \pi f} = {24.55 \over \pi} \approx 7.81 \end{aligned} Not quite the 8 Henrys that you measured, but neither is it too far off. I suspect the reason that this is an underestimate of your measured value is due to the (not insignificant) eddy currents present in a humbucker which could be modelled as an intrinsic parallel load (and thus adding an additional external load to a real-life pickup causes lesser reduction in measured inductance). If the preceding is true, I'd expect the above process to give more accurate results for (uncovered, AlNiCo) single coils than for humbuckers. ecmalmo, it would be useful to know both the (unloaded) DC resistance of the pickups that you've measured and the test frequency of your meter.
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 13, 2021 1:42:06 GMT -5
Great stuff!
I used 100 hz for testing the inductance
DCR unloaded: Lundgren neck: 7858 Lundgren bridge: 6916 SD neck: 7327 SD bridge: 8440
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 13, 2021 1:44:54 GMT -5
For the JB clone the unloaded DCR is 17.68k.
|
|
|
Post by Yogi B on Nov 14, 2021 20:27:57 GMT -5
Since the intent here is to see if we can calculate the unloaded inductance from a loaded one, the below is how we might go about that calculation. Firstly, we need an expression for the loaded impedance — that is the resistance of the pots in parallel with the unloaded impedance (I'm using \omega = 2 \pi f for brevity): \begin{aligned} Z_\text{loaded} &= R_\text{load} \parallel Z_\text{unloaded} \\[1.5em] &= R_\text{load} \parallel (R_\text{DC} + \omega L i) \\[1.5em] &= {1 \over {1 \over R_\text{load}} + {1 \over R_\text{DC} + \omega L i}} \end{aligned}
In order to isolate the imaginary part, we must rearrange the expression to be over a single real denominator. \begin{aligned} Z_\text{loaded} &= {1 \over {1 \over R_\text{load}} + {1 \over R_\text{DC} + \omega L i}} \\[1.5em] &= { R_\text{load} (R_\text{DC} + \omega L i) \over R_\text{load} + R_\text{DC} + \omega L i } \\[1.5em] &= { R_\text{load} (R_\text{DC} + \omega L i) \over R_\text{load} + R_\text{DC} + \omega L i } \cdot { R_\text{load} + R_\text{DC} - \omega L i \over R_\text{load} + R_\text{DC} - \omega L i } \\[1.5em] &= { R_\text{load} (R_\text{DC} + \omega L i) (R_\text{load} + R_\text{DC} - \omega L i) \over (R_\text{load} + R_\text{DC})^2 - (\omega L)^2 } \end{aligned}
I've skipped showing the full expansion of the above: as we're only interested in the imaginary part, we only care about terms that result from the multiplication of an odd number of imaginary factors. We can then equate this imaginary part with the reactance, X L, of the measured (loaded) inductance, L meas, and go on to solve for the unloaded inductance, L: \begin{aligned} X_L = \omega L_\text{meas} &= \Im(Z_\text{loaded}) \\[1.5em] &= { \omega L R_\text{load} (R_\text{load} + R_\text{DC} - R_\text{DC}) \over (R_\text{load} + R_\text{DC})^2 - (\omega L)^2 } \\[1.5em] &= { \omega L {R_\text{load}}^2 \over (R_\text{load} + R_\text{DC})^2 - (\omega L)^2 } \\[1.5em] \cancel{\omega} L_\text{meas} &= { \cancel{\omega} L {R_\text{load}}^2 \over (R_\text{load} + R_\text{DC})^2 - (\omega L)^2 } \\[1.5em] (R_\text{load} + R_\text{DC})^2 - (\omega L)^2 &= {{R_\text{load}}^2 \over L_\text{meas}} \cdot L \\[1.5em] \left({R_\text{load} + R_\text{DC} \over \omega}\right)^2 &= {{R_\text{load}}^2 \over \omega^2 L_\text{meas}} \cdot L + L^2 \\[1.5em] \left({R_\text{load} + R_\text{DC} \over \omega}\right)^2 + \left({{R_\text{load}}^2 \over 2 \omega^2 L_\text{meas}}\right)^2 &= \left({{R_\text{load}}^2 \over 2 \omega^2 L_\text{meas}} + L\right)^2 \\[1.5em] -{{R_\text{load}}^2 \over 2 \omega^2 L_\text{meas}} \pm \sqrt{ \left({R_\text{load} + R_\text{DC} \over \omega}\right)^2 + \left({{R_\text{load}}^2 \over 2 \omega^2 L_\text{meas}}\right)^2 } &= L \end{aligned}
The solution containing the negative root can be discarded as we're expecting a real-world (positive) inductance. Applying this equation to the numbers that you've kindly provided gives the following: Pickup | DC Resistance (Ω) | Loaded Inductance (H) | Load Resistance (Ω) | Unloaded Inductance (H) |
---|
Calculated | Measured |
---|
JB Clone | 17680 | 8.0 | 250k | 9.167 | 9.3 | Lundgren Tele (B) | 7858 | 3.0 | 125k | 3.388 | 3.4 | Lundgren Tele (N) | 6916 | 2.1 | 125k | 2.339 | 2.5 | SD APH-1 (B) | 8440 | 4.8 | 250k | 5.129 | 5.3 | SD APH-2 (N) | 7327 | 3.8 | 250k | 4.026 | 4.1 |
I suspect the reason that this is an underestimate of your measured value is due to the (not insignificant) eddy currents present in a humbucker which could be modelled as an intrinsic parallel load (and thus adding an additional external load to a real-life pickup causes lesser reduction in measured inductance). (In the quote, "underestimate" relates to the calculated loaded inductance) Okay, so now knowing the measurements were at 100Hz, that last part is clearly wrong, you're measurements show a larger difference between loaded and unloaded than the current calculations would predict. This aspect does appear to be true: the only pickup where the calculated unloaded inductance (rounded to 2 significant figures) is equal to the measured unloaded inductance is the Tele bridge pickup. Therefore the assumption that the accuracy of this method is improved when applied to pickups with lesser eddy currents seems sound — even though my intuition would suggest that the results would've been affected in the opposite direction.
|
|
ecmalmo
Apprentice Shielder
Posts: 46
Likes: 7
|
Post by ecmalmo on Nov 15, 2021 2:58:42 GMT -5
Forgot to mention, I have removed the cover of the Lundgren neck pickup!
|
|
|
Post by ms on Nov 15, 2021 10:53:00 GMT -5
Let's first do a test case to see how well we can "unparallel" a resistor from a pickup coil. I have here a strat-sized stacked bucker using ferrite, neo, and #41 wire. It measures 2.923H and 6.338K with an Extech at 120Hz. Next I put a 100.1K resistor in parallel and measure 2.585H and 6.004K. The meaning of "measure" is that the Extech finds the real and imaginary parts of the impedance (equivalent to amplitude and phase) and then interprets them as an inductor in series with a resistor. The first step is to "uninterpret" in order to recover Zp, the impedance of the resistor in parallel with the resistor. I do this in Python, which supports the necessary complex arithmetic, as do many languages and applications. The first line finds the impedance by converting the inductance to the magnitude of the imaginary part of the impedance using the frequency of the measurement.
In [42]: Zp = 6004. + 2.*np.pi*2.585*120.j
In [43]: R = 1.001e5
In [44]: Ypu = 1./Zp - 1./R
In [45]: Zpu = 1./Ypu
In [46]: Zpu Out[46]: (6341.43031321018+2204.75939319565j)
In [47]: Lpu = 2204.75939319565/2./np.pi/120.
In [48]: Lpu Out[48]: 2.924152964628128
Ypu is the admittance of the pickup, found by subtracting off the admittance of the resistor. Zpu is just the inverse. Then we have to interpret the imaginary part of Zpu as the inductance of the pickup. It agrees with the original measurement of the pickup alone to about 1 part in 3000. The resistance agrees to about 1 part in 2000. These are close enough to be useful. Next post we look at the case where we have across the pickup a volume control and a tone control in series with a capacitor.
|
|
|
Post by JohnH on Nov 15, 2021 15:02:58 GMT -5
Beautiful maths!
I think one of the key things is understanding what a meter is doing to interpret its measurement, which I think is what ms is noting. If it can inherently identify the reactance from what it measures then you can reverse engineer from there with knowledge of the other components involved, to remove its interpretation that it is seeing an inductance with series resistance and sub in a different arrangement, which might be a series resistance in the pickup plus a the parallel load.
At some point, solving the maths explicitly may become too boring (though i know Yogi can do it). Setting up a spreadsheet or code with components and maths is easy though. Then use a goal seek function to match a measured inductance + series resistor combo, to the results from a more complex circuit, at 100hz, or what ever is the measuring frequency
|
|
|
Post by ms on Nov 16, 2021 7:36:32 GMT -5
So I wrote this Python code: import numpy as np # Invert impedance of guitar to inductance of pickup and series resistance assuming load # consisting of volume and tone controls. # Lm: measured inductance of guitar (pickup loaded by vo.ume and tone controls) # Rm: measured series resistance # Rv: resistance of volume control # Rt: resistance of tone control # Ct: capacitance of tone control # fm: frequency of measurement def getIt(Lm, Rm, Rv, Rt, Ct, fm): Zg = Rm + ind2Zl(Lm, fm) Zc = -1.j/Ct/2./np.pi/fm # print('Zc: ', Zc) Zload = 1./(1./Rv + 1./(Rt + Zc)) # print('Zload: ', Zload) Ypu = 1./Zg - 1./Zload Zpu = 1./Ypu Lpu = Zpu.imag/2./np.pi/fm return Lpu, Zpu.real
# impedance of inductance from inductance value def ind2Zl(L, fm): return 2.j*np.pi*fm*L
The file name is Zg2Zpu. I put a load across the pickup consisting of a volume control of 260.5K, and a tone control of 255.1K with 0.02076 microf in series. I measure 2.626H and 6.097K in series. Without the load it measures 2.923H and 6.327K in series.
I run iPython and do this:
In [1]: from Zg2Zpu import *
In [2]: getIt(2.626, 6097., 260.5e3, 255.1e3, 0.02076e-6 , 120.) Out[2]: (2.9274282865935883, 6330.636151926141)
That is acceptable.
Next, we need to see how much the results degrade if we have some errors in the measurements of the parameters of the load.
|
|
|
Post by Yogi B on Nov 16, 2021 14:30:58 GMT -5
Ypu is the admittance of the pickup, found by subtracting off the admittance of the resistor. Zpu is just the inverse. Then we have to interpret the imaginary part of Zpu as the inductance of the pickup. It agrees with the original measurement of the pickup alone to about 1 part in 3000. The resistance agrees to about 1 part in 2000. These are close enough to be useful. This method works to "unparallel" any impedance, the difference with my method is that I (like an LCR meter) assume that the pickup coil is just and ideal inductor & ideal resistor in series. I originally was going to make a more of a point about this, but deleted that paragraph before posting — the fact that my results differ suggests that even at 100Hz the simple series LR model the meter assumes is far enough from the truth that even the unloaded measurements are affected and thus somewhat inaccurate. For anyone else who has python installed, but not numpy (e.g. a system install), you might wish to grab pi from the math module instead, rather than installing numpy just for one constant. That's potentially where some of my error comes from, but won't account for all of it. For ±10% pot value I get a maximum of -1.7% to +1.4% variation of the calculated inductance. I also don't include the tone cap but even at 100Hz that only represents an increase in magnitude of the impedance of the tone pot of roughly 1%.
|
|
|
Post by ms on Nov 17, 2021 6:53:06 GMT -5
Ypu is the admittance of the pickup, found by subtracting off the admittance of the resistor. Zpu is just the inverse. Then we have to interpret the imaginary part of Zpu as the inductance of the pickup. It agrees with the original measurement of the pickup alone to about 1 part in 3000. The resistance agrees to about 1 part in 2000. These are close enough to be useful. This method works to "unparallel" any impedance, the difference with my method is that I (like an LCR meter) assume that the pickup coil is just and ideal inductor & ideal resistor in series. I originally was going to make a more of a point about this, but deleted that paragraph before posting — the fact that my results differ suggests that even at 100Hz the simple series LR model the meter assumes is far enough from the truth that even the unloaded measurements are affected and thus somewhat inaccurate. For anyone else who has python installed, but not numpy (e.g. a system install), you might wish to grab pi from the math module instead, rather than installing numpy just for one constant. That's potentially where some of my error comes from, but won't account for all of it. For ±10% pot value I get a maximum of -1.7% to +1.4% variation of the calculated inductance. I also don't include the tone cap but even at 100Hz that only represents an increase in magnitude of the impedance of the tone pot of roughly 1%. It is interesting that there could be a deviation from assumed simple b behavior at 100 Hz. This might be worth quantifying ion the future. Yes math module pi is just fine. My assumption is that if you are doing any engineering or scientific calculations in Python, you want numpy there in case you want to quickly check something, and so on.
|
|
|
Post by ms on Nov 17, 2021 7:15:40 GMT -5
Let's look at the effects of varying the value of the capacitor in the calculations; that is, make the capacitor in the calculations different from that in the circuit. This is what we have with the correct values:
In [10]: getIt(2.626, 6097., 286.5e3, 255.1e3, 0.02076e-6 , 120.) Out[10]: (2.914556831284993, 6318.391288711246)
If we make the capacitor very large (very close to shorting it out), we have:
In [11]: getIt(2.626, 6097., 286.5e3, 255.1e3, 10.e-6 , 120.) Out[11]: (2.8798175215176367, 6352.08498429158)
Not dreadful, but a bit more error than I would like to see. Now if we make the capacitor very small (very close to just taking it out):
In [13]: getIt(2.626, 6097., 286.5e3, 255.1e3, 0.0000001e-6 , 120.) Out[13]: (2.741306235580041, 6214.974859869338)
The inductance error is too big. Now bump up the capacitance value by about 10% over the original, and then reduce it:
In [15]: getIt(2.626, 6097., 286.5e3, 255.1e3, 1.1*0.02076e-6 , 120.) Out[15]: (2.9124558956741238, 6321.82244457613)
In [16]: getIt(2.626, 6097., 286.5e3, 255.1e3, 0.9*0.02076e-6 , 120.) Out[16]: (2.9168231071782236, 6314.163986064261)
Probably good enough, and so I would conclude that if it is not convenient to find out the actual value of the tone capacitor, then just use the nominal value.
|
|
|
Post by JohnH on Nov 17, 2021 17:07:07 GMT -5
So I wrote this Python code: import numpy as np # Invert impedance of guitar to inductance of pickup and series resistance assuming load # consisting of volume and tone controls. # Lm: measured inductance of guitar (pickup loaded by vo.ume and tone controls) # Rm: measured series resistance # Rv: resistance of volume control # Rt: resistance of tone control # Ct: capacitance of tone control # fm: frequency of measurement def getIt(Lm, Rm, Rv, Rt, Ct, fm): Zg = Rm + ind2Zl(Lm, fm) Zc = -1.j/Ct/2./np.pi/fm # print('Zc: ', Zc) Zload = 1./(1./Rv + 1./(Rt + Zc)) # print('Zload: ', Zload) Ypu = 1./Zg - 1./Zload Zpu = 1./Ypu Lpu = Zpu.imag/2./np.pi/fm return Lpu, Zpu.real # impedance of inductance from inductance value def ind2Zl(L, fm): return 2.j*np.pi*fm*L The file name is Zg2Zpu. I put a load across the pickup consisting of a volume control of 260.5K, and a tone control of 255.1K with 0.02076 microf in series. I measure 2.626H and 6.097K in series. Without the load it measures 2.923H and 6.327K in series. I run iPython and do this: In [1]: from Zg2Zpu import * In [2]: getIt(2.626, 6097., 260.5e3, 255.1e3, 0.02076e-6 , 120.) Out[2]: (2.9274282865935883, 6330.636151926141) That is acceptable. Next, we need to see how much the results degrade if we have some errors in the measurements of the parameters of the load. I knocked up a quick excel file to explore this. It solves the real L value from the measurements using a goal seek function within a small macro, linked to the calculate button shown below Using your base data, I get a dead-nuts accurately matching result for actual L, being 2.922H where you measured 2.923H. I think there is something anomalous in the measured DCR value and the real DCR. The measured 6097 ohms, being in parallel with the volume pot 0f 260500, implies 6243 unloaded instead of 6327 as you measured out of circuit.
|
|
|
Post by ms on Nov 17, 2021 18:20:38 GMT -5
Using your base data, I get a dead-nuts accurately matching result for actual L, being 2.922H where you measured 2.923H. I think there is something anomalous in the measured DCR value and the real DCR. The measured 6097 ohms, being in parallel with the volume pot 0f 260500, implies 6243 unloaded instead of 6327 as you measured out of circuit. That was quick. The measurement is made at 120HZ, and so the the tone part pf the circuit has some effect, too. Not sure if this takes care of the problem, but it should do something.
|
|
|
Post by JohnH on Nov 17, 2021 19:14:10 GMT -5
Yes I got the 120hz in there as a yellow input cell near the top.
But the issue I saw was just about dcr of the pickup in parallel with the volume pot, or not. With that addressed, everything matches with your code. Ie, if i put the measured unloaded dcr in directly, instead of back figuring it, then I get your calculated inductance result, which just a tad different from the measured one.
|
|
|
Post by JohnH on Nov 17, 2021 20:01:18 GMT -5
In case its of interest, here's the excel file I made: In-circuit inductance calculatorNeed to allow macros to run, (so have to decide if you trust me!) Input just into the yellow cells, then press the 'calculate' button
|
|