NEW CIRCUIT DESIGN: NZF Flanger

Started by DrAlx, May 27, 2014, 05:26:49 AM

Previous topic - Next topic

puretube


armdnrdy

Quote from: DrAlx on June 28, 2014, 06:46:52 PM
I am guessing lots of other circuits get away without a trimmer because they have heavier filtering or the clock noise doesn't cause them a problem.

When I scoped the Boss circuit (sine wave posted) further down the line, after the filtering, the signal had cleaned up considerably.
So yes, I agree with your statement.


I do see the connecting path to +V for the two 100K resistors.

Since I am the inquisitive type, I took a few more measurements and threw a few things on the bread board for verification.

The meter I used for the trimmer measurements was a Fluke 87. I performed further testing with an Extech EX540. Neither meter is a bargain basement meter.  :icon_wink:

First I checked a 25KC pot's resistance:

lug 1 to the wiper..... 19.8
lug 3 to the wiper..... 5.8
across 1 & 3.....24.8

first two measurements summed....25.6

The summed measurement is larger with a different meter.

So I breadboarded a 10KB pot and the two 100K resistors:
lug 1 to the wiper..... 5.4
lug 3 to the wiper..... 4.2
across 1 & 3.....9.2

first two measurements summed....9.6

The summed measurement is larger.

Now same measurements with 100K resistors removed:
lug 1 to the wiper..... 5.6
lug 3 to the wiper..... 4.2
across 1 & 3.....9.6

first two measurements summed....9.8

The resistors definitely affected the readings...but kind of proportionately.

I then took readings with two 100K resistors in series using the center connection point as the "wiper" point.

99.88
99.74
across both resistors in series....199.6
first two measurements summed...199.6 (the same as both in series)

Conclusion?
There is nothing wrong with my meter(s)...there is something inherent in the resistance/working of a potentiometer that causes this effect. I'm sure it's tucked away in some ohms law equation.  :icon_wink:

Now on to more through (near) zero flanging!

I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

DrAlx

Quote from: armdnrdy on June 28, 2014, 09:02:18 PM
There is nothing wrong with my meter(s)...there is something inherent in the resistance/working of a potentiometer that causes this effect.
So it can be only one thing and that is the resistance due to imperfect contact between the wiper surface and the resistive material within the pot.
That will vary as you move the wiper across the surface.
So the measurements that include the wiper pin see an extra resistance (which I've assumed is in series) with the two paths through the pot and circuit.

Going back to your first set of Mutron measurements (3.1,  5.7,  7.9), if you assume the 100k resistors are exact, then the following would explain the result.

Trimmer = 8.23k   (because 8.23k in parallel with 200k gives the measured 7.9k)
Pot ratio = 5.47k :  2.76k.    (These sum to 8.23k).
Wiper contact resistance =  0.374 k.
(I plugged numbers into a spreadsheet to calculate all the above results)

So for one half of the pot, the meter measures 
    0.374k +( 5.47k in parallel with 202.76k)
= 0.374k + 5.33k
= 5.74k       (you measured 5.7k)

For the other half of the pot, the meter measures 
   0.374k + (2.76 in parallel with 205.47k)
= 0.374k + 2.72k
= 3.094k     (you measured 3.1k)


So my next thought is this, and it is related to the filter design for the output of the BBD.
If there is that much potential variation in the R value, then I need to be careful if I want to us that R value as part of an RC LPF on the output.
The Mutron doesn't have that problem because the trimmer output is immediately buffered by a transistor before being filtered.
I'm still going to have active filters on the output but lower order, so I'll need to make sure the variable R value doesn't mess things up.
Another SPICE session is called for,


puretube

Quote from: StephenGiles on June 26, 2014, 03:05:52 AM
A thought came to me whilst throwing a ball for our dog just now - Barberpole TZF - now that would be something!! Come on EH, you can do anything after the B9 pedal!!

Maybe I just shouldave added some dry signal to the Perpetuum Shiftobile... to get the flange?  :icon_lol:




But then again, above thingy wasn`t that analogue...
(But therefore coulda been stuffed into one of those popular matchbox-boxes
that want to be operated with high-heel-stilettos...)

armdnrdy

Quote from: puretube on June 29, 2014, 11:42:45 AM
Maybe I just shouldave added some dry signal to the Perpetuum Shiftobile... to get the flange?  :icon_lol:

That sounds great Ton!
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

armdnrdy

Quote from: DrAlx on June 29, 2014, 08:59:26 AM
So it can be only one thing and that is the resistance due to imperfect contact between the wiper surface and the resistive material within the pot.
That will vary as you move the wiper across the surface.
So the measurements that include the wiper pin see an extra resistance (which I've assumed is in series) with the two paths through the pot and circuit.

I happened to have a 50KB pot taken apart for a project that includes my fabricating a center tapped pot....so....I did some poking around and took measurements.

This is an image that I pulled from the web for clarity.



Making the connection between the resistive layer and the conductive layer is a metal piece that is making contact by spring tension.
This parts two points of contact are located 180° from each other.
I took measurements from lug 2 to the point where this part makes contact with the resistive layer. I would get different readings when I moved the wiper. The readings were between 1.5Ω and 2Ω.

*Conclusion....there is a small amount of resistance in both the conductive layer, and the metal spring tensioned piece.
The resistance may also change slightly due to the contact between the metal piece and the imperfect surface of the conductive layer.

*This seemed to make perfect sense until I took measurements of the 50KB pot.

lug 1 to the wiper..... 23.51K
lug 3 to the wiper..... 26.51K
across 1 & 3.....48.85K

first two measurements summed....50.02K

That is a 1.17K difference! I was expecting between 1.5Ω and 2Ω.
So...as I see it there is something else at play here. Even though it has been established that there is a "mechanical" change in resistance, there is something else causing a rise in resistance from the wiper to the outer lugs.

Just to double check with a larger value pot, I measured a 100KB.

lug 1 to the wiper..... 64.56K
lug 3 to the wiper..... 34.66K
across 1 & 3.....97.50K

first two measurements summed....99.22K
difference of 1.72K

So...without checking every pot that I have on hand...it might be safe to say that the difference between the outer lug to wiper summed resistance and the overall resistance may rise exponentially with the value of the pot.

Enough of this! I don't want to sidetrack you.

Quote from: DrAlx on June 29, 2014, 08:59:26 AM
So my next thought is this, and it is related to the filter design for the output of the BBD.
If there is that much potential variation in the R value, then I need to be careful if I want to us that R value as part of an RC LPF on the output.
The Mutron doesn't have that problem because the trimmer output is immediately buffered by a transistor before being filtered.
I'm still going to have active filters on the output but lower order, so I'll need to make sure the variable R value doesn't mess things up.
Another SPICE session is called for,

Personally..I wouldn't worry too much about including the resistance of the balance trimmer in the filter equation. With 20% trimmer tolerances, 1-5% resistors, and 5-10% capacitors, it is not an exact science anyway. You'll still achieve your goal at the end of the day.

I wanted to mention that the Mutron BBD section in my build is not the original section. Federico (Fender3D) and I worked out a MN3007 retrofit in place of the original SAD1024 in series. (1024 stages)

The buffer was added for the 3007 version due to the difference in output between the two BBDs.

Here is the original SAD BBD section:

I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

DrAlx

#86
Quote*Conclusion....there is a small amount of resistance in both the conductive layer, and the metal spring tensioned piece.
Hi Larry. The resistance that you measured isn't what I was referring to, and I'm not sure if its possible to directly measure the resistance I was describing.
I meant the resistance between the rough metal surface of the wiper and the rough carbon surface of the resistive strip.
i.e. the "junction" between the two materials, although junction is probably the wrong word.
This "contact resistance" is going to be dominated by the resistivity of the material that makes up the resistive strip.  
So all things being equal , I would expect a higher value pot (with less conductive material in the resistive strip) to have higher contact resistance.
All of this isn't really relevant to the build of course, but it's sort of interesting anyway and probably something most people don't think (or worry) about.

I think you're right.  I'm probably being fussy about the filtering.  I just need to make sure that the worst case cutoff still lets through all the audio of interest.

And isn't Ton's "Perpetuum Shiftobile..." totally awesome. 8)


puretube

[How To] get rid of wiper-resistance...
(if it really bothers too much...)


some manufacturers show Rw in their datasheets, or give a guaranteed Rw-max

armdnrdy

Thanks Ton!

It looks like there is an equation name for this phenomena...Rw

You were correct Alex. Wiper resistance.

I guess I'll be able to sleep tonight.  ;D
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

DrAlx

#89
I've put together a new vero build without the ground plane.
I wanted to see if I could get a single sided PCB to work with no heterodyning, so I tried to made the vero follow the PCB layout that I have in mind.
It is NOT a good vero layout as there are way too many cuts and room for error and I wouldn't recommend it to anyone.

Pictures
Mark-up of front and back


Strip breaks and jumpers


Final view of top and bottom



Layout changes to previous build
The two digital sections (VCOs+BBDs) are at opposite ends of the board.
The LFO section (orange and brown wires) and the audio section (all the other wires) are in the middle.
Surprisingly I only had two construction errors (shorts in the LFO section) and I found them quite quickly.


Circuit changes to previous (corrected) build:
1) Star topology for supply and grounds.
2) BBD supplies are separate now (not using audio supply for BBDs).
3) There is only a simple 100k + 100pF LPF at each BBD input (and no Sallen-Key).
4) There is an active 2 pole LPF at the BBD output (instead of 3 pole), and the BBD output pins are not tied together.
I haven't put in the trim pots for separate BBD bias levels (its still a single bias via the audio path) or
for BBD output balance (it's just a pair of 4k7 resistors) but I made sure the layout
can allow for those options and the PCB layout will give the builder the option of adding them if they wish.
5) There are 10R resistors between the main (audio) ground and the grounds of the LFO and digital sections.
6) I haven't put any 100nF caps directly been IC power pins on the bottom of the board yet.

Result
It flanges with no heterodyning whatsoever :)

Problems
LFO ticking: I didn't have that before. It could be because I have really long wires in there at the moment.
The wires to the rate pot are close to the audio section too, and not on the edge of the board like before.

Reliably hitting zero without crossing it: With the previous build, I could make the sweep hit the zero point without crossing it for all Depth settings.
I now find that having a single zero point at maximum depth causes the zero to be crossed at lower values of Depth.
I am currently thinking it is either:
a)  Something to do with those 10R resistors in the ground lines separating LFO ground from VCO ground.
The control voltages don't have a common reference point anymore.
b) When I took apart the old build and reassembled it, I may not have used the same components in the same places as before.
i.e. I previously fluked a situation that was trimable to a single zero point.

Investigation continues...

armdnrdy

Great work Alex!

There is a fix for the ticking that is somewhat of a standard.

As Mark Hammer has pointed out, Boss implements this in their flanger designs.
There is also a mention in an issue of Stompboxology that Mark has been kind enough to post a link to.

Here is the relevant part about the fix:



So what the added resistor and cap in the square wave generator does is smooth the square wave ever so slightly so that it's not such a drastic change in power consumption.

Assuming that you're using the same LFO as in the Build docs ver.1, here is your LFO with the components in place:



I just used this fix on a build I was working on over the weekend. I added pads on the board layout as a precautionary measure.
When I fired up the build...I had ticking. I added the components and even at a higher volume the ticking was completely gone.
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

DrAlx

#91
Thanks Larry.  I know about that anti-ticking measure from my Tri-Vibe build, and when I was doing my layout I even tried to allow those extra components as an option in the LFO.
The problem was that the way I had routed things, I couldn't fit in the 2 extra parts without reworking the whole LFO section, and that would cause me to rework a lot of everything else since the layout is already compact and I'm restricted to a grid.
So to cut a long story short I ended up ditching the idea.
I'll come back to it once I've got that zero-point issue worked out, but am hoping other measures like keeping the wires short will work.

DrAlx

#92
BTW Larry, did you find the ticking amplitude was worse at higher rates?  It could be subjective but I think that is the case for me.

armdnrdy

I didn't take any measurements but, the ticking did seem louder. I think it may have been because it was happening at a more constant rate instead of intermittently with a slower speed setting. As you said, it could be subjective.
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

StephenGiles

Quote from: armdnrdy on July 08, 2014, 11:20:33 AM
I didn't take any measurements but, the ticking did seem louder. I think it may have been because it was happening at a more constant rate instead of intermittently with a slower speed setting. As you said, it could be subjective.

Worst offender for ticking was the ETI flanger - I actually built that on PCB!! Ticking was definitely louder at higher LFO frequencies.
"I want my meat burned, like St Joan. Bring me pickles and vicious mustards to pierce the tongue like Cardigan's Lancers.".

DrAlx

Sorry for the long post.  Hopefully some of the info below will be interesting...

Thanks for the info on the LFO ticking, but I'm actually not too concerned about it at the moment because I know it is solveable by either the extra parts or by layout changes.   I've found that there is a greenie cap near the first audio-opamp input, and that cap is very close to where one of the rate pot wires goes into the board.   I can decrease/increase the ticking just by bending that cap away/towards the wire.

What I'm more bothered about is getting a single zero point for all depth settings.
On the previous build (after I got rid of the daisy chain power supply) I could put the depth to maximum and set the "offset" trim pot to give a single zero point (i.e. zero point touched without crossing).  As I decreased the depth pot towards minimum, I continued to have a single zero point, and when depth was at minimum I was "at the zero point" with good signal cancellation all of the time.  That's exactly the behavior I wanted, but I didn't have that with the new build.  I set things up to get a single zero point at maximum depth,  but when I put the depth close to minimum I found the zero point gets crossed.  Also the signal cancellation at the zero point didn't seem as good as before (possibly subjective because I didn't take measurements).
I suspected it was the 10 ohm resistors separating the ground sections, so I shorted those out and found that I had no heterodyning even with those resistors removed :)  I guess using star-topology for the supply lines plus physical separation of the digital sections was enough.
I will probably leave those ground resistors out to lower the part count.   
I'm not sure how much removing those resistors helped the zero crossing problem because I had to re-trim things, but the problem was still there.

So then I was thinking it must have been something to do with the parts I'd (re)used. I know that each VCO maps the CV to delay in a roughly linear way (there are graphs on the EM3207 thread http://www.diystompboxes.com/smfforum/index.php?topic=91981.msg799053#msg799053). 
I think tweaking the clock trimpot mainly changes the gradient of the line (much like changing the cap value), but you don't get any nice control control over the intercept on that line.  When we try and match the two VCOs with the clock trimpots, we are trying to put two lines on-top of each other just by changing their gradients.  It should be clear that this is not-possible in general, e.g. you may find that when you the match the gradients, you end up with closely spaced parallel lines rather than lines that lie on top of each other.

The gradient of the line is mainly governed by the cap value and the current set by the trimpot, but there is a non-zero intercept (zero CV doesn't give zero delay, and the VCO can only go so fast).  So the intercept is governed by other factors and I'm guessing partly by the comparator chip itself.
So based on that line of reasoning (which is still not properly thought out in my head)  I swapped the comparator chips in the VCOs with each other to see if that made a difference.  It did  :icon_exclaim:
Result: The zero point crossing problem was not noticeable i.e. like my previous build.  Signal cancellation when "at zero" seemed better too (but maybe subjective because no measurements). 

So how badly do things mess up if your unlucky with the comparators you put in the build?
Well maybe I'm begin fussy again.  When I get some time later this week I'll see if I can record some examples to show the effect I'm describing.

What I'm now wondering is if there is a way to tweak the intercept?  I remember reading about some experiments with that VCO on the EM3207 thread where they were looking at how fast they could make it go.  I think one of the things mentioned was lowering the pull-up resistor on the comparator output from 10k to 1k in order to better drive the CD4013.   I'm wondering if that corresponds to changing the intercept of the line?

puretube


DrAlx

Thanks for those references Ton.  They confirm what I thought, and I will try shielding the rate pot wires.

DrAlx

#98
More thoughts on matching those two VCO characteristics...

I was looking at the graphs I mentioned above in the EM3207 thread and think I may have asked too much from my LFO control voltages.  Let me explain how I designed the CV section.

I took the triangle-to-sine conversion idea from the Tri-Vibe circuit with some minor changes:

1) Firstly the LM324 doesn't swing all the way to 0V.  It swing to about 0.6V from the bottom (EDIT: and about 1.5V from the top), so to get a symmetrical triangle wave the bias must be lower than half the supply.  That's also important to minimise ticking effects.  This explains the 100k:120k bias ratio for the LFO.

2) I chose the peak triangle wave voltages (determined by the 10k/27k resistor ratio in the LFO) and the resistor values in the "triangle-to-sine" section to give the best match to a sine wave.  That was done using simulation in LTSpice.  I ended up with the same resistor values in my "triangle-to-sine" section as is used in the TriVibe, but that was by design and simulation rather than straightforward copying.  If you simulate the TriVibe circuit, you get a rather "pointy" sine wave because the TriVibe has a different amplitude triangle wave in its LFO.

3) I then rebias and scale down the sine wave towards zero so that the minimum CV is about 0.9V.  More on why I chose that value below.
   This "target" minimum value of 0.9 V (think of this as "CV reference level") is actually set by the section with the two 3k9 resistors and the 33k resistor.  The stack of scaling resistors 82k, 27k+5k trimpot gives you the ability to tweak how the sine wave is scaled down so that its minimum matches that CV reference level.

4) The CVs then go through 10k + 100n LPFs to get rid of RF rubbish (with each 100n actually in the VCO section near the comparator inputs).
   The cutoffs of the LPFs is deliberately quite high (over 100Hz) because we don't want the filters to weaken the sine wave amplitude when the LFO is at fast rate.  Remember the whole point of the circuit is to have the same minimum CV values for all rates and depths.

So why did I choose 0.9V as a minimum CV?  Well I wanted the VCO to run as fast as possible, and having built a flanger with that VCO before, I new I could go down to about 0.8V before the VCO stopped working.  So that brings me back to those graphs I mentioned on the EM3207 thread.
It seems that when you are dealing with low control voltages and fast clock rates, the characteristic deviates from a straight line and is dominated by other factors than the trim-pot and clock cap (i.e. the straight line loses its slope and goes almost horizontal at low CVs).  So maybe it was not sensible for me to try and let the CV voltages swing into that section of the characteristic since it takes things into an area where you have less control.  I should have probably designed things to work with different CV range (say starting at 1.2V rather than 0.9V). I avoided doing that because it would come at the expense of lowering the maximum relative delay between the two delay lines.  I might be worth reworking the CV sections to work at a 1.2V reference level if that makes the process of matching the VCOs more reliable.  Another possibility (based on those graphs) may be to use larger clock caps.  I will probably give that a try first, and if it works then I will consider recalculating resistor values in the CV section.

DrAlx

 :icon_biggrin:  :icon_biggrin:  I managed to fix the sweep problem (i.e. reliably reach zero-point without crossing it) with no circuit changes whatsoever

After writing down a bunch of equations to try and formalise things, I came to the conclusion that the problem may not actually be down to the components but that there was something else incorrect.  Namely the trim procedure.  The original procedure for matching the two VCOs needed revision.  Only two extra steps are needed to make the sweep work as intended.  I found that once the circuit was trimmed with the new procedure, it didn't matter if I swapped the comparator chips, or even if I put those 10R resistors back between the ground sections.  It still worked fine with no need to retrim  :icon_biggrin:

I explain the original procedure to match the two VCOs, and the extra steps needed to fix it using some graphs in the following document.
Hopefully that will give anyone who builds this circuit a mental picture of what is actually going on when adjusting those trimpots.
http://1drv.ms/VPNPIf

Now to tackle that LFO ticking...