Lightspeed Attenuator a new passive preamp

Maximum measured resistance on LDR is 5.2Kohms, resulting virtually in a 10K pot.

Managed to increase resistence of every LDR from around 5K in two ways.
One way was to decrease voltage by installing in series with 5V reg one 1n4001 diode and result was around 6.5K not so close to targeted ~9-10K

Better result was putting in series a 50R resistence. In this way a have measured around 10K maximum resistence.

I think i will go with second solution with 50R resistence.
 
current sources

Guys
I think that many if not all of the current sources in this power point presentation could be implemented to work with Lightspeed like circuit.
http://www.google.com/url?sa=t&rct=...sxX5DyBXWyjmLtPyUWimAlw&bvm=bv.56643336,d.b2I
They start on slide 18.
Like slide 19 which simply needs a variable resistor for Ri and then the LDR is the load resistor in the feedback loop. Obviously you use a higher voltage.
If you give the opamp a real nice supply and then use a super quiet reference voltage in place of the 1V shown I think you might have a super easy really nice performing control for the LDRs. You would use one of these circuits for both shunt and one of these circuits for both series. Like in the Lightspeed circuit you would use opposite sides of the wiper of the pot and in this case the two gangs would not be connected to each other.
Check it out. Pretty easy to build if you have an opamp, a few 9V batteries and a few pots.
 
Guys
I think that many if not all of the current sources in this power point presentation could be implemented to work with Lightspeed like circuit.
http://www.google.com/url?sa=t&rct=...sxX5DyBXWyjmLtPyUWimAlw&bvm=bv.56643336,d.b2I
They start on slide 18.
Like slide 19 which simply needs a variable resistor for Ri and then the LDR is the load resistor in the feedback loop. Obviously you use a higher voltage.
If you give the opamp a real nice supply and then use a super quiet reference voltage in place of the 1V shown I think you might have a super easy really nice performing control for the LDRs. You would use one of these circuits for both shunt and one of these circuits for both series. Like in the Lightspeed circuit you would use opposite sides of the wiper of the pot and in this case the two gangs would not be connected to each other.
Check it out. Pretty easy to build if you have an opamp, a few 9V batteries and a few pots.

I have been playing with circuits like these for quite a while, and I agree that current control rather than voltage control is the answer to really tight control of LDRs, but there are challenges that must be overcome, and it's not so easy. Figure 8-21 is the best circuit for LDR control, but if you build it, you must consider the following:

1. The four resistors must be very close tolerance, *better* than 1%

2. The four resistors must be thermally connected or thermally compensated because any deviation from perfectly matched will make a big difference in the accuracy of the circuit and will cause the control to wander.

3. The resistors must be of fairly low value, and that gives the circuit a low input impedance, and that means you cannot drive it with a simple pot -- it requires a control circuit that can accurately drive a low impedance input which typically means it must be driven by an opamp buffer.

4. The circuit must be capable of accurately controlling a very large range of current from 10 ma down to about .01 ma in order to control an LDR between 50 ohms and 10K ohms, and that is not easy to achieve.

However, I do believe that this is the best wasy to control LDRs, and I have been able to solve these issues, so it's doable.
 
For a few years now I have been working off-and-on (mostly 'off') towards designing a PIC-controlled passive LDR volume control. The hardware (which I enjoy working on) has been ready for a long time, but the software part (which is not my forte) has lagged.

But over the past week I've really applied myself and have made a lot of progress. I've arrived at a point where I need to make some decisions regarding building flexibility into selecting the potentiometer curve. A conventional potentiometer would have a log response and the sum of R1 and R2 would always equal the nominal value of the pot. For example, to create a 10K pot, R1 plus R2 would always equal 10K.

However, My pot doesn't have to be limited in that way. I could, for example, create a pot where R1 (series) varies between 50 ohms and 15K ohms, and R2 (shunt) varied between 50 ohms and 10K ohms. Or any other variation along those lines.

My control design will allow practical pots with values between maybe 1K and 50K ohms, and a wide range of differing max R1 and max R2 values. I'm thinking a 10K pot with a greater than 10K series resistor would be most useful for a solid state system, but if I've got it wrong I'd be interested in hearing other opinions.
 
Last edited:
Hi Wapo
I've built an Arduino-controlled LDR volume control: http://www.diyaudio.com/forums/analog-line-level/182294-sylonex-arduino-preamp.html. It works great, and the resolution is fine. A drawback is that the circuit is rather complex. An advantage is that carefull matching of the LDRs is not needed.
In my opinion input-resistance of a circuit needs to remain 100% stable to avoid influence on the source before. This means you can calculate the values you need at each position of the pot, taking into account the resistance of the input behind the volume control which comes in parallel with the resistance to ground.
I didn't do this as I have a DCB1 behind the volume, which has a very high input resistance, so I keep the sum of series and ground resistor constant at 50kR. I prefer a relatively high input impedance to avoid upsetting my DAC (a TDA1543 8xparallel).
It's easy to change the total resistance in soft, but I haven't written this yet. It could be better to reduce impedance on a source with a very low output impedance, but my other sources are "normal" as well.
 
Hi Wapo
I've built an Arduino-controlled LDR volume control: http://www.diyaudio.com/forums/analog-line-level/182294-sylonex-arduino-preamp.html. It works great, and the resolution is fine. A drawback is that the circuit is rather complex. An advantage is that carefull matching of the LDRs is not needed.
In my opinion input-resistance of a circuit needs to remain 100% stable to avoid influence on the source before. This means you can calculate the values you need at each position of the pot, taking into account the resistance of the input behind the volume control which comes in parallel with the resistance to ground.
I didn't do this as I have a DCB1 behind the volume, which has a very high input resistance, so I keep the sum of series and ground resistor constant at 50kR. I prefer a relatively high input impedance to avoid upsetting my DAC (a TDA1543 8xparallel).
It's easy to change the total resistance in soft, but I haven't written this yet. It could be better to reduce impedance on a source with a very low output impedance, but my other sources are "normal" as well.

Hello, oenboek:

I have visited your web page in the past and have admired your workmanship.

My goal is to build a very versatile LDR-based volume control but keep it very compact. So far, so good -- the board is 2.5" x 3.8" and everything is there to control any number between one to three LDRs on the shunt side of the pot. The series side will never need more than one LDR. I have a jumper option to run the board either as stereo (1 balance, 1 volume pot) or as dual mono.

Even with the relatively inefficient versions of the LDRs (50 ohms at 10 milliamps) paralleling three devices will allow a minimum resistance of 17 ohms at 10 milliamps. If you select out premium LDR devices, you can achieve 40 ohms with a single device at 10 milliamps and even better if you choose to drive the LDRs at 20 milliamps. There are diminishing returns at the low end -- slightly less resistance requires a lot more current, and I prefer to stay at 10 milliamps with a guaranteed 50 ohms for one device or less with paralleled devices.

The question of what ranges to use for the R1 and R2 is turning out to be a moot point because I'm realizing that my calibration system will allow anyone to select any value of R1 and any value of R2 in any combination. There's no need to plan ahead and set the software up any particular way.

I am now 98% sure that I can deliver a system which will allow the end user to select any combination of R1 and R2 values and calibrate the system at home in about (I'm guessing) 15 minutes. I have finished the drive control code and the beginnings of the calibration code and I've used less than 300 bytes out of an available 4096 bytes, so I'm no longer worried about running out of space to permit both the calibration and the operation code to be installed simultaneously on the PIC.

It sounds like you consider it more important to keep the input impedance steady than anything else? I thought that keeping the output impedance low to benefit the low input impedance of a solid-state amplifier would be more important. I guess it will depend on the source output impedance and the amplifier input impedance, so it's a good thing that the R1 and R2 values will be user selectable.

I note that both you and Tortuga Audio have selected high values for your pots at 50K ohms. Is that because you choose that value to match your other equipment, or are you constrained by the accuracy of your control system? I would have thought that a lower value of pot would be more universally desirable.
 
Hi,

I have just started my own passive volume control and come across this thread.
I have been considering relays and resistors, linearity should be perfect and matching between channels extremely good. The only downside I can see is 8 relays (127dB range @ 0.5dB steps) which can cost a few quid each.

This idea of light control looks interesting but Isn't voltage coefficient going to make this quite an imperfect attenuator for high fidelity?
Also wont matching, temperature and current accuracy / noise inhibit performance over fixed R's?

Cheers
 
Figure 5 in the Silonex app note works pretty well for current control

http://www.silonex.com/audiohm/pdf/levelcontrol.pdf

It's very close to the circuit I use.

I'm curious to know how that circuit performs. May I ask -- what resistance range does your "pot" cover, and at what supply voltage?

What is the resistance stability at the high end of the range? I'm curious to know how much the resistance wanders at, say, 10K. I have found that this measurement -- resistance wander at 10K -- is probably the most accurate way to judge the effectiveness of a control circuit.

I have been satisfied with a range of +/- 100 ohms at 10K which is 2% and that's good, but I think it's possible to do better, maybe 1%. Current wise, +/- 100 ohms at 10K constitutes a current variation of about +/- .002ma around a base value of .010ma.
 
My prototype of the production Lightspeed Attenuator MKII has now been on 24/7 for 8 years and is still in perfect calibration. Anyone who pushes them past 20mA is asking for a shortened life and drift problems over time, I have done/found this pushing them to 25mA on test.

Cheers George

George, you have said this in the past but, do you turn your pot to miminum and that drives the shunt at 20ma and leave it that way for days on end? If you do something like that, your example can be construed as an endorsement for 20ma being the level at which everything remains stable. I'm looking for a value that can left set that way whenever the system is not being used.

I've just come from my workshop and I was driving an LDR which delivered 50 ohms at just under 4 milliamps. At 11 milliamps, it was measuring 34 ohms. That device happens to be the best unit I've gotten from Uriah out of maybe 35 devices that I've bought for testing and I don't have a match for it, it's the only one that will deliver that low a resistance at that current.

Initially, I had my board running at 9.9 milliamps maximum, but I decided that loosening the tolerance just a little to 11ma would make a much higher percentage of LDRs workable in my system. I still plan to use the lesser performing LDRs in the series position and the better performing LDRs in the shunt positions.

I'd like to take the board to 15ma, but unless I get strong corroboration that leaving an LDR at 15ma does nothing, I'll stay at 11 milliamps maximum.
 
George, you have said this in the past but, do you turn your pot to miminum and that drives the shunt at 20ma and leave it that way for days on end? If you do something like that, your example can be construed as an endorsement for 20ma being the level at which everything remains stable. .

Yes both min and max so I can gauge both shunt and series for their longevity. Also the use of NSL32SR2/S will give you a far better low impedance at this 20mA than all others will.
And if you use the S version in bulk they come from the same batch and give you the ablity to quad match, which is also a plus as I've stated many times.

Cheers George
 
Wapo, In my Lighter Note I use LM334 which wont deliver greater than 10mA. I have had one customer complain of LDR failure that I thought was due to LED failure. Like you noted we dont need 20mA to get to 40 ohms which is where I think it ought to be limited to. I feel that driving them into resistances lower than 40 is where the damage starts to occur. Maybe you could just parallel another shunt LDR to get 20R or a few more to get 10R which could give you 60dB of attenuation with a series of around 10k. Most of the time you could turn the paralleled LDRs off. The most common complaint is the min volume and when they have an efficient system there is no cure besides lower shunt resistance and higher series resistance. However, higher series resistance is not the best cure because of resistance wavering about and also because the sound gets kind of mushy at higher resistances compared to my favorite of 6k.
 
Last edited:
Wapo, In my Lighter Note I use LM334 which wont deliver greater than 10mA. I have had one customer complain of LDR failure that I thought was due to LED failure. Like you noted we dont need 20mA to get to 40 ohms which is where I think it ought to be limited to. I feel that driving them into resistances lower than 40 is where the damage starts to occur. Maybe you could just parallel another shunt LDR to get 20R or a few more to get 10R which could give you 60dB of attenuation with a series of around 10k. Most of the time you could turn the paralleled LDRs off. The most common complaint is the min volume and when they have an efficient system there is no cure besides lower shunt resistance and higher series resistance. However, higher series resistance is not the best cure because of resistance wavering about and also because the sound gets kind of mushy at higher resistances compared to my favorite of 6k.

Uriah, thanks for the informative response.

If my spreadsheet is set up properly, with a load of 10K, a pot of 10K, and a source of 200R, a 40 ohm shunt LDR will give me 48db of attenuation, and a second paralleled device creating a 20 ohm shunt will give me 54db. A third paralleled shunt LDR gives 13.3 ohms and almost 58db of attenuation. My board is set up so that a user could select one, two, or three LDRs on the shunt side simply by swapping one resistor in the power supply and selecting the proper load LED (or zener, haven’t decided which to use) to go in series with the series LDR which will always be a single unit.

But there’s really no practical way to go below about 15 ohms in shunt, and the only way to get more attenuation is to increase series resistance. I am curious about how much resistance wavering is too much in your opinion. Is +/- 100 ohms at 10K too much? With my feedback control system I think I can do +/- 50 at 10K but haven’t had the chance to test my latest software yet. It’s turning out that in control software the KISS principle definitely applies – don’t try to get fancy because the less code the better.

Your favorite resistance of 6K – is that system impedance or series resistance? I couldn’t tell from your remarks