Ticking optical tremolo problem, sigh...

Started by ElectricDruid, November 01, 2022, 01:44:15 PM

Previous topic - Next topic

ElectricDruid

I've been working on a little optical tremolo pedal driven by the StompLFO. The circuit looks like this:




Now, I thought this would be simple, because the audio path is a simple short-to-ground vactrol-based thing. However, I've been having trouble with it ticking on waveforms with sharp edges, Ramps are bad, Square is worst. Triangles and Sines are fine.
Initially I thought that there must be a DC offset coming from the first buffer op-amp that was then being modulated, so I added C8 to remove that possibility, but it didn't get rid of the problem.

I'm pretty sure it's not being coupled in via the power rails because the LFO runs off its own 5V supply and because I've never had problems with the stompLFO before like that - if it *did* couple noise into the power lines, you'd expect something at processor frequencies, not at the LFO frequency. I also disconnected the Effect On/Off LED just to mkae sure it wasn't that - it flashes at the LFO rate, so that would have been posssible.

So I'm looking for other DC offsets. The only thing I can think of is that since the LDR is varying, it's causing a variable offset voltage to be developed at the +ve input of IC1.2. But I looked up the bias current for the TL072 and it's tiny, and even the worst case doesn't seem likely to cause the big clicks I can hear. The 1pA typical figure certainly wouldn't make a significant noise if modulated.
Page 17: TI's TL072 datasheet

Aside from the ticks with certain waveforms, it's all good. The circuit works and sounds good. I need to polish the tone-shaping a bit, and I need to get rid of these ticks, but then I think it's done.

Any ideas what I'm doing wrong?

Thanks,
Tom





puretube

C`mon: 470n between the joint of R7/LDR and pin5 of IC1.2. 1M from pin5 of IC1.2 to Vref?

ElectricDruid

Quote from: puretube on November 01, 2022, 02:22:17 PM
C`mon: 470n between the joint of R7/LDR and pin5 of IC1.2. 1M from pin5 of IC1.2 to Vref?
Sorry, what are you saying, Ton? I'm not understanding what you're driving at.

The LDR goes down to about 1K at maximum brightness, so the impedance drops quite a bit.

FWIW, I think I might have 220n for C8 in the prototype rather than 470n anyway. I'd have to check my notes.

anotherjim

Check for ticks when...
Input short to 0v.
LDR shorted.

Is there a LED flashing somewhere (other than the Vactrol one).


puretube

#4
Tom: I do believe it makes an audible difference if you vary the (DC) resistance between the non-inverting input and Vref from 1M to 1k abruptly (Ramp & Square), compared to when you just vary the (AC) impedance looking into the (sensitive) + input abruptly.
Just try it on the breadboard - maybe you can even eliminate C8.



ElectricDruid

Quote from: puretube on November 01, 2022, 05:59:19 PM
Tom: I do believe it makes an audible difference if you vary the (DC) resistance between the non-inverting input and Vref from 1M to 1k abruptly (Ramp & Square), compared to when you just vary the (AC) impedance looking into the (sensitive) + input abruptly.
Just try it on the breadboard - maybe you can even eliminate C8.
Aah, ok! Now I get it! Thanks Ton. Yes, you may be right. DC resistance vs AC impedance is a good thought. I'll do some testing and let you know.

Fancy Lime

+1 to what Ton said. And one more thing: the vactrol is dumping signal into the bias point. With the vactrol at minimum resistance, the current may be high enough to put audible AC feedback on the bias. And since that is positive feedback in this here case, this does not magically correct itself. Maybe try additional AC-isolation of the vactrol by putting a 22k or so resistor between vactrol and Vref and a 47u or so cap from the bottom of the vactrol to ground. And/or make Vref lower impedance by buffering with an opamp.

Andy
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

bluebunny

#7
Did you mean to post this, Tom?

  • SUPPORTER
Ohm's Law - much like Coles Law, but with less cabbage...

ElectricDruid

Yes, thanks Bunny. Now corrected. I changed the link, but forgot the image. Doh.

antonis

Quote from: puretube on November 01, 2022, 05:59:19 PM
Tom: I do believe it makes an audible difference if you vary the (DC) resistance between the non-inverting input and Vref from 1M to 1k abruptly (Ramp & Square), compared to when you just vary the (AC) impedance looking into the (sensitive) + input abruptly.
Just try it on the breadboard - maybe you can even eliminate C8.


I's also connect LDR to GND (instead of VREF)..
(and a cap, of 4n7 say, across RNEW shouldn't do any harm..)
"I'm getting older while being taught all the time" Solon the Athenian..
"I don't mind  being taught all the time but I do mind a lot getting old" Antonis the Thessalonian..

Vivek

Do you still get clicks if you temporarily replace LDR with a fixed resistor ?

ElectricDruid

Quote from: Vivek on November 02, 2022, 03:47:07 PM
Do you still get clicks if you temporarily replace LDR with a fixed resistor ?

That's a good test, Vivek. I don't know. I might have time to do some experiments tomorrow, so I'll let you know.

puretube

Quote from: ElectricDruid on November 02, 2022, 04:22:36 PM
Quote from: Vivek on November 02, 2022, 03:47:07 PM
Do you still get clicks if you temporarily replace LDR with a fixed resistor ?

That's a good test, Vivek. I don't know. I might have time to do some experiments tomorrow, so I'll let you know.

Try above test with both fixed Rs: 1k and with 1M.

ElectricDruid

Ok, I've done some experiments this morning.

First, the fixed resistors in place of the LDR, as suggested by Vivek. This completely kills the ticking, with either 1M or 1K. 1M is slightly noisier (a little bit of mains hum, mostly) which is what you'd expect since the output isn't muted with 1M.

Secondly, the LFO LED (LED1 in my schematic). The circuit ticks worse *without* the LED in, rather than with. Although this is contrary to what we usually expect, because of the way the LFO LED and the Vactrol LED are wired up, I think it makes sense. The currents with the StompLFO output high and low are better balanced with the LFO LED in circuit.

Third, a couple of observations. The worst tick occurs when the StompLFO output goes high (rising edge of the square wave) and the Vactrol LED comes on. This corresponds to the LDR resistance dropping from max to min. The falling edge isn't audible. Could this be because the LDR turns on much faster than it turns off?
Also, the ticking decreases as the LFO frequency increases. I'm not sure yet why this occurs. There are several possible reasons I can think of.

Fourth, trying Ton's suggestion, below. This helps, but doesn't totally fix the problem. Reducing the DC bias resistor on the +ve input to 100K rather than 1M helps a little bit too.

Quote from: puretube on November 01, 2022, 05:59:19 PM


Fancy Lime

With the "two caps" arrangement, I would vote for putting the vactrol to proper ground instead of Vref, like Antonis suggested. Also, withe that 470n "new cap" and a 1M bias resistor, you are passing everything above 0.3 Hz. Or 3 Hz with a 100k. That may mean that the LFO frequency overtones, which are present in all non-sine waveforms, sneak through. That would be consistent with the observations, at least. Try a 47n, 100k combination. It would even be an option to turn that buffer opamp into a second or third order high pass with a 30Hs or so corner, but that may not be necessary.
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

ElectricDruid

Quote from: Fancy Lime on November 03, 2022, 12:43:37 PM
With the "two caps" arrangement, I would vote for putting the vactrol to proper ground instead of Vref, like Antonis suggested.
Agreed. I tried that. It helps.

Quote
Also, withe that 470n "new cap" and a 1M bias resistor, you are passing everything above 0.3 Hz. Or 3 Hz with a 100k. That may mean that the LFO frequency overtones, which are present in all non-sine waveforms, sneak through. That would be consistent with the observations, at least. Try a 47n, 100k combination.
Yes, I found by experimentation that a *larger* cap in the first position helps, but a *smaller* cap in the second position helps. I got as low as 33n/100K, which provides a bit of highpass action and helps cut the DC thump a bit.
I don't really understand why a larger cap at the front helps though. Any ideas?

Quote
It would even be an option to turn that buffer opamp into a second or third order high pass with a 30Hs or so corner, but that may not be necessary.
I've wondered about it, but haven't tried it yet. I've got a few more possibilities to try. I haven't experimented with buffering the Vref yet, for example. I suspect it's one of those things where there isn't a single cause or a single solution. It's looking like there are several things that provide an incremental improvement, and perhaps doing multiple of them at once will "fix" the problem sufficiently.

diffeq

Quote from: ElectricDruid on November 03, 2022, 10:42:44 AM
Also, the ticking decreases as the LFO frequency increases.

First thought: Vref filter has rolloff of 0.7Hz. It can dump 5hz fine but not slower abrupt changes, which could also be amplified because it also feeds previous gain sensitive stage from that node.

I would try: 1. swapping C10 to 470uF and/or adding second cap across R10 (+ to vdd) (for current handling symmetry) 2. separate vref for first stage; 3. vactrol to gnd, as mentioned above.

antonis

After diffeq's suggestions I'd start to decouple (via low value shunt caps) Vactrol & IC1.2 bias resistor..
"I'm getting older while being taught all the time" Solon the Athenian..
"I don't mind  being taught all the time but I do mind a lot getting old" Antonis the Thessalonian..

Vivek

Can you rewrite your code so that square wave has slew rate limitations till point where clicks are not audible ?

Brother Tom, could you also post oscilloscope screeshots of the Square wave output from PIC and the LDR resistance



ElectricDruid

Quote from: Vivek on November 04, 2022, 12:13:31 PM
Can you rewrite your code so that square wave has slew rate limitations till point where clicks are not audible ?
I *thought* I already had! The StompLFO code includes a digital IIR filter on all the waveforms that smooths the edges and gives about a 10msec rise time. Apparently I should have been more conservative...

Quote
Brother Tom, could you also post oscilloscope screeshots of the Square wave output from PIC and the LDR resistance
The PIC output is a string of 500nsec pulses, with the pulse density giving the analog level (PDM).

I'll see what I can plot at the LDR end.