In it's basic form, the standard attenuverter circuit looks like this:
This is a clever little circuit. The opamp is configured with both inverting and non-inverting inputs, having the gain equation
Vout = 2a Vin - Vin,
where a is a number between 0 and 1 representing the potentiometer position. For a = 1 (fully CW), Vout = Vin and the circuit is just a voltage follower with some unused resitors (no current flows through either of the 100k resistors in this case). With a = 0 (fully CCW), the opamp's + input is grounded and we have a simple inverting amplifier with a gain of -1. With a = 0.5 (center position), the positive and negative gain cancel and Vout = 0.
Attenuverters are great for flexible modulation routing. However, it is this center position where they can be very annoying: it can be difficult to dial in a small amount of modulation. Turn it down too far, and you end up increasing it again on the inverting side.
The precision attenuverter is designed to help with this problem. By adding load resistors to the potentiometer, the response curve is made non-linear, increasing the sensitivity near the center. This idea is not new, but rather an extension of a common technique to create quasi-logarithmic behavior with linear potentiometers, and I wouldn't be surprised if others have also applied it to attenuverters.
The precision attenuverter circuit is as follows:
Note that the potentiometer itself still is a linear type. Depending on the choice of Rs, the response curve of the total circuit can be chosen more or less nonlinear, as shown in the graph below. I typicaly choose Rs = 47k, which gives about double the sensitivity in the center region compared to a linear attenuverter.
Quad precision attenuverter and mixer
I designed a PCB in Eurorack format with 4 of these precision attenuverters and an integrated unity gain mixer. The attenuverters have individual outputs, and the mixer takes its inputs from the attenuverter output jacks normal switches. Hence, by default the Sum output contains the sum of all attenuverter outputs. However, if a cable is plugged to an individual attenuverter output, that attenuverter is removed from the mix. Finally, there is a unity-gain Aux input to combine for example mutliple mixing modules together.
This PCB is my first endevour in surface mount technology, with 0805 passives and SOIC opamps. Soldering the SMD parts is quick and easy, faster than filling a through-hole board once you get used to it. I included space for trimmer potentiometers, which are useful only if you use potentiometers with center detent to set the gain to exactly zero on center, but I did not mount these in my own modules.
Update August 2019: PCB version 1.1 is now available. It now features a 5V reference voltage, which is normalled to the first input jack. Hence, the first knob can be used as an offset voltage if nothing is connected to it's input. If desired the other input jacks can be also be connected to the 5V reference with solder jumpers on the PCB. The front panel layout has not changed with this revision.
Any plans on making more PCB's for this one, since they seem to not be available to order right now?
ReplyDeleteIndeed they are now out of stock. I will make an updated version of this PCB available in the coming month or so!
DeleteThe revision 1.1 PCB is now available!
ReplyDeleteGreat product but soldering those small smd stuff is a no-go for me.
ReplyDeleteGive it a try, it IS easy. No special tools need; some flux will help with the ICs. You'll be surprised how fast it is!
DeleteThis is the first of these modules I completed starting with a bare PCB. While it was a fair bit of effort to source all the components the money I saved and the fun of putting it together made it worthwhile.
ReplyDeleteI was worried about the SMD, but I completed this module with just a conventional soldering iron and some care. The resistors and capacitors were easy and I followed Youtube videos on ideas for how to approach this, dabbing a tiny blob of solder onto one pad, moving the part into place with tweezers and finishing with a second blob on the other end. I used copper braid to remove excess solder.
The three SOIC op amps were done nearly the same way, I tinned all the pads first and removed most of the solder with a copper braid, then I tacked the corner pins and applied heat to finish off. I then removed excess solder with the copper braid.
One of the SOIC's was poorly position and did not look very professionally done, but after cleaning off the excess flux with a cotton swap and alchohol I had a fully working unit for about a quarter of the price of a purchased unit.
I'm using this to mix from several modules but use a Dopefer 138b for the final output as this commercial module seems to filter out a ground hum that the other modules simply pass on. At first I though this unit was causing the hum, then realised its entering prior to the Eurorack case itself. The combination of the Doepfer and this unit for mixing is a low cost and fun way to mix and match bought and diy modules.
if you normal the inputs to +12, you can use the attenuverters as offset generators, similar to maths
ReplyDeleteThis comment has been removed by the author.
DeleteI'm drawing my own panels for some modules, but I noticed the panel drawing for this Attenuverter is missing the X axis dimensions. Can this be remedied?
ReplyDeleteIs the resistor R30 to the regulator U4 calculated right? I've looked here: https://www.ti.com/lit/ds/symlink/lm4040-n.pdf at p.35. I calculated the current drawn by the circuit (5V going through R22+R23 || R 2 to ground = 0,1 mA), than I calculated (Vin-Vtarget / I load + I R) = (12V-5V / 0,1mA + 0,1mA) = 35 kOhm. (Okay, my circuit gave 4,95V; maybe there's nothing to worry about; i chose the 0,5%-Variant of the L4040 and my digital multimeter MS8233V may not be the most accurate device...)
ReplyDeleteThe current draw is a bit more depending on the potentiometer, and I took into account that you can connect all 4 channels to 5V with the solder jumpers. That’s why I use a lower resistor.
DeleteThe LM4040 is passing a bit over a mA, which should allow it to regulate well. I suspect you are indeed seeing partly the accuracy of the multimeter.
Hi.
ReplyDeleteIf I understood build documentation correctly, it should be okay to switch potentiometers to b250ks and replace the R_s resistors to 120k?
The current availability of b100k pots is quite bad.
Yes, exactly!
DeleteHi.
ReplyDeleteI'm planning on building an 8-Channel Mixer/Attenuverter. Is it possible to just string four more inputs to the SUM-out or do I have to redesign the summing-circuit for that? Thanks for the help and great modules!
Hi! Yes, you can just add more channels to the summing amplifier. Enjoy the build!
DeleteThank you very much, I hope it works!
DeleteHi, thanks for the design! I am using 50k lin pots and 20k Rs resistors. Could it be that this is too low? I notice that I am loosing a couple of 0.1V when using one of the four inputs. When I use the sum input, the output voltage is almost the same as the input voltage.
ReplyDeleteHi! Yes, the voltage drop is due to the lower input resistance, in combination with the output impedance of the connected module which is probably 1k. In itself this voltage drop doesn’t hurt, but if for your application you want more accurate gain you could increase the potentiometer values.
DeleteThanks for the quick response! It’s not a big issue but your explanation really helps me understand these schematics better. Would an extra 100k input resistor be of any help, or, a simple opamp voltage follower at each input? Cheers, Sjoerd
Delete