Showing posts with label ADSR. Show all posts
Showing posts with label ADSR. Show all posts

Sunday, 6 April 2025

Synthesizer Build part-67: KASSUTRONICS PRECISION ADSR.

The best version of the 7555 based ADSR's on this website. This one uses precision rectifiers to eliminate the problems the previous versions have. This project is small enough for Eurorack and runs fine on dual 12V or 15V and is easy to build even for beginners.

This is another version of the two 7555 ADSR's you've already seen on this website. The previous ones by Yusynth and Rene Schmitz had the problem that, because of diode voltage drop, the envelope wouldn't get down to 0 Volt after each cycle. The diode in series with the release potmeter would stop conducting when the voltage dropped to the threshold of 700mV in case of a 1N4148 and around 300mV for Schottky diodes.
This ADSR eliminates that problem.
By using precision rectifiers made up of a diode inside the feedback loop of an opamp, you solve the problem of the 700mVolt remaining after the release cycle and so the ADSR not returning to 0 Volt after each cycle. The opamp now has that voltage drop in the feedback loop and compensates for it, effectively creating a perfect diode.
I tried to address the voltage drop problem in the Rene Schmitz version by using Schottky diodes that have a very low voltage drop of about 0.3 V (300mV) and that already helped a lot. This version lowers that even further although on my oscilloscope I could still measure a tiny bit of voltage left over but the majority of that was due to the capacitor I was using. It was about 90mV. I used a normal electrolytic capacitor for testing. I then tried a Tantalum capacitor and that lowered the offset to around 10 to 20mV. That's almost the noise floor so really no problem what so ever. It's 35 times better than using a 1N4148 in the Yusynth ADSR. The reason for this is transistor resistance. The Gate voltage, if switched by a transistor, never reaches zero because of transistor resistance. But this is such a low voltage that you can totally ignore it. So please don't go fretting about 20 thousandths of a Volt. 20mV is equal to 0V!!
Use a 1µF Tantalum capacitor like the schematic says. The slowest risetime you can create with 1µF is 1.2 seconds. If you want longer risetimes you need to connect two caps to a switch so you switch between low and high speeds. That's up to you. I didn't include that option in this project but it's very easy to implement. 
If you want to read more about this ADSR then here's the link to the Kassutronics webpage.

SCHEMATIC
I made some changes to the design of this ADSR. For one, I don't like the high value resistors on the gate input. I always get problems with the gate pulse not getting through. So because the Rene Schmitz version works so well I copied the Gate/Trigger section from that ADSR and put it in this one too. It's practically the same circuit but with different resistor values.
I also changed the inverted output to an attenuverted output. I find that much more useful because you can play with the attenuverter while you're feeding the ADSR signal into the CV input of a filter and get all sorts of cool sounds from it. You can turn it into a normal output if you need an extra output. Much more versatile I think. The schematic below has all the changes I made included.


Eventhough I used BAT43 Schottky diodes for D1 and D2 in the layouts below, you can just put in 1N4148 diodes. The voltagedrop isn't important here and both diodes have the same switching speed of 5nSec. They are just used here as reverse voltage protection.

Here's the KiCad version of the schematic. I'm teaching myself to work with KiCad and it's going very well. I taught myself in 3 days.


LAYOUTS:
Below are the layouts I made for this project. As always they are verified. I used them to build my ADSR and it worked rightaway. An other hole in one. 
I alterred the layouts a little one day after posting this article in so far that I added a transistor to drive the LED to avoid pulling down the envelope voltage. 

Wiring: (All potmeters viewed from the backside!) As you can see the potmeter wiring is a bit complicated looking so be accurate when wiring up the pots! 


Stripboard only:
If with testing you notice that the envelope doesn't come up when the Attack potmeter is fully closed then use a 330 Ω resistor in series with the Attack potmeter (R8) instead of the 100 Ω in the schematic. This is something I had to do with my build. 


Cuts and wirebridges seen from the component side.
You know the drill, mark the cuts on the component side, stick a pin through the marked holes and mark them again on the copper side and then cut on the marks.


Here's the Bill of Materials.
Not every component is numbered exactly as in the schematic but most of the resistors are. Order a Tantalum capacitor for C3 1µF/35V. You can use any type of 7555 timer chip. I used the ICM7555. Don't use a normal NE555 though. It might work but they're not ideal. It needs to be a CMOS type.
As usual I didn't put any decoupling caps in but if you want to include it, there's room enough on the stripboard. You can put two 100nF caps; one from plus to ground and one from ground to minus. If you feel you need extra stabilization put some 10µF caps over the power rails too. That's up to you, the ADSR works fine without them.



PICTURES and test results:
This ADSR has a very fast risetime. I measured risetimes of 550µSeconds! The output amplitude of the envelope has a maximum voltage of 8.4 Volt when you run this on a +/-12 Volt power supply. Maximum Sustain level is 8 Volts. This is determined by pin 6 of the 7555 (Threshold) which stops charging the capacitor at 2/3rds of VDD. (+8V). The timer stops and the capacitor is discharged through the Decay potmeter and U2-D and D4 to the Sustain level. The output will stay at the Sustain level until the Gate input stops. Then the capacitor will discharge through the Release potmeter, U2-A and D3 to 0V. As I mentioned before, the maximum risetime of the Attack phase is 1.2 seconds with a 1µF cap. If you need longer times you can put a 1µF and a 10µF on a switch and connect that to the stripboard, so you have a choise. The fast times sound amazing though when used on filters (especially the 303 filter).
Here are some pictures of the finished product. They were taken in the test phase so some components that are on the layout are not in these pictures (like the LED driver transistor for instance).



I used the same faceplate as I used for my previous 7555 ADSR's. I just exchanged the stripboard for this one and wired everything up again.


Here are some screenshots from the oscilloscope. The first one shows the extremely fast risetime of this ADSR/ With Attack set to zero you can get risetimes of 550µSeconds. This with a Tantalum cap and a 330 Ω resistor in series with the Attack potmeter, instead of 100 Ω in the schematic.


Below is a screenshot of the quickest pulse I could get with all potmeters closed. You can see the risetime is the same as above, about 550µSec and the releasetime is faster because it only has 100 Ω in series. It's about 400µSec.Total time is 992µSec. So you could create a waveform with a top frequency of 1kHz with this ADSR.


Below here is the normal and inverted output. The voltages indicated by the scope are a bit lower because I had the LED connected straight to the output. I now have the LED driven by a transistor which means no voltage pull-down so the real maximum voltage is about 8.4 Volt. Max sustain voltage is 8 Volt as is the case with all ADSR's that use a 7555 and are run on +12V because that voltage is 2/3rds the voltage of the positive powerrails. If you run it on +/-15V it would be +10V.
The sustain is actually very stable because of the use of precision rectifiers. There is no leakage of voltage from the sustain stage.



Well, that is pretty much all I have to say about this. It was a pretty fast build, done on a sunday afternoon and because I re-used the faceplate and potmeters etc it wasn't that much work. I hope you enjoy building it. This is without doubt the best one of the three 7555 ADSR's on my website.

TIP: using your ADSR as a VCO. Send the squarewave output of a VCO to the Gate input of the ADSR. Now your ADSR acts as a VCO and with the Attack and Decay you can shape your own wave. It's a trick used in the Psy-Trance. This ADSR is fast enough to do this. I tried it and it sounds pretty cool when you then input it into a filter.

There is one more ADSR design that tries to really come down to zero volts after each cycle and that is the ADSR PRO by Davor Slamnig. You can visit his website by clicking here.

If you have any questions or remarks about this project then please put them in the comments below. Comments are moderated and don't appear straightaway!
You can also post your questions on the special facebook group for this website.


Wednesday, 18 December 2024

Synthesizer Build part-63: FASTEST ADSR IN THE WEST by Rene Schmitz.

The fastest ADSR in the West. A simple to build and fully featured Envelope Generator. I thought it was about time for another ADSR project for the website and this one worked out great and it has no trimmers to set. I even added a few extra's to make it even better.

This is an other 7555 based envelope generator like the YuSynth one from project 24. Some people seem to have problems with that one so that's why I choose to do this project now.
This ADSR will work on both +/-15V and +/-12V. At +/-12V the maximum envelope amplitude is just under 8 Volt. If you run it on +/-15V the peak envelope value will be 10 Volt. It's a very fast Envelope Generator. The minimum risetime of the signal is 1mSec or 1/1000th of a second.
Now this is roughly the same setup as in the previous 7555 ADSR from project 24 but it does work a lot better, especially when using Schottky diodes. The whole problem with the DC offset voltage left on the ADSR output comes down to the forward voltage drop of the diodes. That's why Schottky's are so useful because they have only a third of the voltage drop of silicone diodes. Now what would be even better is to have diodes with no voltage drop. To achieve that we have to put the diodes inside the feedback loop of an opamp. That's what happens in the Kassutronics Precision ADSR which I recently also added to the website as project number 67.
So this ADSR and the Yusynth 7555 ADSR have become a bit obsolete now, eventhough they work just fine for use with VCA's and for Filter CV signals. I would advise anyone wanting to build an ADSR to go to project 67 and build that one.

SCHEMATIC:
Here is the schematic for this circuit. I've redrawn it from the sketch posted on Rene Schmitz website.
The opamps are numbered in the order they are used on the stripboard. All diodes have been replaced with Schottky diodes which work much better in this circuit.


Click here for a FALSTAD SIMMULATION of this circuit.

I've added some extra's to this design. The original design only uses two opamps but I wanted to include a LED and also an inverted output so I decided to use a quad opamp, the TL074, and include an attenuverted output where you can have in inverted envelope signal with the potmeter turned fully counter clockwise, attenuation with zero signal when the potmeter is at the 12 o'clock position and a normal envelope when the potmeter is turned fully clockwise. I took the design from the AD/AR attenuverter mod from Ole Stavnshoej design (project 44). This is a great option to have when you use the ADSR with a filter. Turning the attenuverter will give the filter some very cool resonance response.
I decided to adapt the design to more run of the mill parts, like for instance I used 1M potmeters instead of the 2M2 ones in the original schematic. I changed the 220Ohm resistors to 100Ohm types and the capacitor from 2µ2 to 4µ7 to keep the original timebase intact. This is all explained in the text underneath the original schematic on the Schmitzbits website.
The circuit is relatively simple so I was able to build it up on a very eurorack friendly sized piece of stripboard. It's only 21 strips by 33 holes. Although I left the V,W and X strips on the board, they are not populated. You can use them to connect L brackets to mount the board to a panel. The three transistors on the Gate input represent the same setup as we've seen before in the Yusynth 7555 ADSR only there he had no resistors at the base of transistors 2 and 3. It works as follows: the first two transistors make up a schmitt trigger which turns any input signal into a sharp gate signal. That signal now goes through a capacitor that turns any long gate signal into a short pulse. That pulse is inverted in the third transistor stage to make it acceptable for the 7555 chip, going in at pin 2. 
Once the ADSR has been triggered the sustain level for that cycle is frozen. You can not add sustain while the ADSR is in its cycle, unlike the Digisound ADSR which can do this. Not that that's important. it's just something I noticed while testing the circuit.
The 1M resistor, in red on the schematic and in purple on the layouts below, can be added to provide for some input hysteresis. This will improve triggering on slowly changing waveforms. In the layout below, the purple 1M resistor on the left indicates where it should go if you want to include it. I left it out. Only include it if you really think you're going to need it. If in doubt, Leave it out.

LAYOUTS:
Here are the layouts I made for this project. As always they are verified. I used them to build my module. It's important to use logarithmic 1M potmeters for Attack, Decay and Release. The time based parameters. Otherwise it will be much more difficult to set these parameters accurately. It will work with linear types but get logarithmic pots for these. Sustain is a level control so that can and should be a 10K linear type potmeter.
I used Schottky diodes throughout this design because with 1N4148 diodes there's a DC offset voltage present on the output. Using Schottky diodes helps to prevent that.

Wiring diagram:


Stripboard only:
Again, leave out the purple 1M resistor unless you're going to feed this ADSR with slowly changing Gate input signals. Nor likely so leave it out.


Cuts and wirebridges seen from the component side. You know the drill by now; mark the cuts on the component side with a Sharpie or Edding pen and then stick a pin through the marked holes and mark them again on the copper side. Then cut at the marked places with a sharp, hand held, 6- or 7mm drill bit.


Here is the Bill of Materials. I altered the diode types to Schottky diodes because they will work much better in this design. I put in the BAT4* series (like: BAT41, BAT42, BAT43 etc) because they work really well and have good availability in webshops. Any Schottky diode will do though.



OSCILLOSCOPE IMAGES:
Here are some screen shots from my oscilloscope to give you an impression of what the signal looks like. All testing was done with a +/-12V powersupply:

Here's the normal envelope output. The envelope signal does have a small positive offset voltage of 400mV I noticed. But this won't cause any VCA to stay open so it's of no consequence. 
However I changed the diodes for Attack and Release into Schottky diodes and that reduced the offset to just 16mV (16 thousandth of a volt) which is the same as 0V to me. The offset voltage is the result of the fact that the 4.7µF cap has to discharge through a diode and a diode has a voltage drop over it of about 0.6V (with silicon diodes). So the lower that voltage drop the better. With Schottky diodes the voltage drop is only about 0.2V which allows the cap to discharge as good as fully.


Here's the normal output in yellow and the inverted in blue coming from the attenuverter mod I added on myself. It works like a charm.


Here you can see, in the blue trace, the attenuverter in action. I'm turning the potmeter as the trace goes from left to right.


This is the signal at a pretty high rate at almost 3Hz. No problem for this ADSR.


In yellow you can see the pulse as it comes out of the third transistor and into pin 2 of the 7555. It's a inverted pulse, triggered by the gate signal, that starts the ADSR.


This time the yellow trace is the gate signal at the input. This was measured after the 10K input resistor. The gate signal was a +/-5V pulse wave from an LFO.


PICTURES:
Here are some pictures from the build proces.
Stripboard with cuts and wirebridges done.


Finished stripboard ready for wiring up.


All wired up ready for testing


I decided to use this ADSR for my DIY Kosmo synth and not for Eurorack so I took the YuSynth ADSR and replaced the stripboard with this one. I had to widen one hole to fit the attenuverter potmeter to which I added a bi-coloured LED to fill up another hole where a switch had been. I used a 4K7 resistor to connect it to the attenuverted output socket. I also re-used the manual trigger button that was already present in the panel. I took two 47K resistors and made a voltage divider so when I press the manual trigger it sends 7.5V to the gate input. (My DIY synth runs on +/-15V mostly).
Backview of the panel:


Here's what it now looks like mounted into the synth. My ADSR module has two Gate inputs each with a Schottky diode in series with the socket (soldered straight to the socket). This is to prevent +7.5V entering the Gate socket when I push the manual trigger button.


Luckily I could re-use the potmeters, which were 1M logarithmic types with a 10K linear pot for the sustain, the same as in this project.
You can see the blue LED underneath the attenuverter potmeter. The hole I had to fill up was 6mm and this LED is only 3mm so I used hotglue and made a sort of white blob that lights up red or blue. Worked out pretty well :)
I kept the dual gate inputs from my previous ADSR because I think it's handy to have. The gate inputs have Schottky diodes on them so that when I push the manual trigger button I don't get 7,5 Volt pushed into the gate patch cable(s). It's a safety feature I advise you to copy if you are going to include a manual trigger button.
Troubleshooting tip: If your Decay and Sustain are not working then the most likely cause will be a broken Sustain potmeter. It happend to me when I built it into the panel I used for the YuSynth 7555 ADSR and it turned out it had a broken Sustain potmeter all the time.

DEMO:
Here's a video I found on YouTube of someone demonstrating this ADSR in action. He's using it on the cutoff of a lowpass filter. Sounds pretty sweet. If he had the version with my attenuverter mod it would have sounded even better LOL ;) 



So that's another one done. I thought it was about time for a new ADSR project on this website, especially since some people seem to have problems getting the YuSynth 7555 ADSR of project 24 to work right. That's weird though because I always rated that one as near perfect but I think this will make an excellent alternative especially with the extra's I added. I'm really chuffed that it worked so well. Okay, I hope you will enjoy building this one. 

If you have any questions or comments about this project then please post them in the comments below of on the special Facebook group for this website.


Friday, 22 May 2020

Synthesizer Build part-33: DIGISOUND-80 ENVELOPE GENERATOR with AS3310.

A great ADSR with 3 different types of envelopes and extra outputs including an inverted one. Warning: This was a temperamental build because it didn't work perfectly when I first built it. However the problems have been identified and solved. See text below for a more in depth explanation. 

NB: Please don't attempt to build this if you're a beginner in need of a simple reliable workhorse ADSR. This can be a bit of a temperamental build because of the many options this ADSR offers. I recommend the 7555 ADSR if you want an easy to build, good, reliable ADSR. Regard this one as an experimental or advanced project. 

This Envelope Generator or ADSR is a very luxurious one because it produces three different types of envelopes. The following description is from the original text for this module:
First there's the 'Damped' mode. The object of this mode is to more closely simulate the piano envelope which has a sharp attack, a brief initial decay, a long release and finally a very short release as the damper is applied to the string. So it's an ADRR response and in this mode the end of the gate pulse causes the final short release to occur. In other words releasing the note has the same action as applying the damper on a piano.
In 'Normal' mode the ADSR functions as any ADSR would with the duration of the Sustain period being equal to the duration of gate signal being present and the key being pressed down.
The 'Automatic' mode is particularly beneficial when envelopes are being initiated from non-keyboard sources like an LFO or from a clock signal. A short pulse will now generate a complete ADR envelope and, by adjustment of the time constants, this type of envelope can be made to approximate the ADSR type envelope. Usually these external sources would only generate a limited AD type of envelope.
    When I first built this ADSR I had my problems with it and so did many others so please treat this project as experimental. However the layouts are 100% verified. Mine is working fine in the normal and damp settings, and for a long time I thought automatic mode was faulty but that is meant for external trigger sources so it's behaviour is normal although useless for normal use. Read the comments below to see what problems people run into. If you want a reliable ADSR without any bells and whistles then build the 7555 ADSR

Further features of this envelope generator are:
- Independent trigger input for re-triggering and generating multiple peak envelopes in the Damped and Auto modes.
- Gate and Trigger pulses within a range of +3V to +15V are acceptable.
- Wide range of time constants. Typically 2 milliseconds to 20 seconds. If longer times are needed you can increase the value of C9.
- 0 to +10V peak attack output
- 0 to 100% Sustain level.
- Low control voltage feedthrough which means low residual voltage when the envelope cycle is completed thus ensuring that the VCA is off.
- Manual gating facility.

Features I added:
- Extra buffered envelope output.
- Extra inverted envelope output (0V to -10V).

Dual 12 Volt operation:
This envelope generator is designed to run on a dual 15V powersupply but I tested it on a dual 12V supply and it works just as well with only a very small loss in envelope voltage. On 12V the envelope is about +9V so no problem running this on +/-12V. One change should be made however; the current limiting resistor R25 should be changed from a 750 Ohm to a 470 Ohm according to the datasheet of the AS3310. However I test ran it on dual 12 Volt without changing the resistor and it worked perfectly fine.

PROBLEMS I ENCOUNTERED:
I had build this envelope generator some time ago and I've been using it in my synthesizer for all that time but I didn't write an article about it until now because there was something wrong with it. In the 'Normal' mode, which is the one you'll be using most I think, the Decay was oscillating. It kept on being triggered for as long as a gate signal was present. The only way to stop it was to turn up the Sustain level so it matched the Attack level and then you wouldn't hear the constant up and down oscillation of the volume level. This is mentioned above in the features, that it has an option for multiple peaks in the Damped and Auto mode but that's not supposed to happen in 'Normal' mode.
The frequency of this oscillating Decay could be changed by changing the Decay time. Short time equals fast oscillations, long time equals slow oscillations so you could almost think this was meant to be but I can not believe it was meant to work like this in the 'Normal' mode.
So I was using this ADSR with Sustain turned up but it annoyed me that is wasn't functioning quite right because this is an awesome ADSR and I wanted to do an article on it. So I asked on the Synth DIY Facebook group what could be causing this. I was told it was due to capacitor C7 and that I should remove it. They were absolutely right. Removing C7 did the trick, at least in the 'Normal' mode but when I switched to 'Damp' or 'Auto' mode the ADSR was hanging. It wouldn't go into the  Release state. So for these two modes capacitor C7 needed to be in place.
By happy coïncidence I used vintage double pole 3-way switch to switch between the different modes and I had one pole left unused. So I connected the capacitor to that unused part of the  switch in such a way that it was connected in 'Damped' and 'Auto' mode and disconnected in 'Normal' mode. This worked fantastically and now it behaves just as it should do. Should you want an oscillating Decay in 'Normal' mode you could easily add a switch to connect C7 again. Now you have the choice between the two. (This option I leave to you. It is not documented anywhere in this article).
All these changes have been drawn into the layout and into the new schematic that I made.
I used a SPDT toggle switch to go between manual triggering (with a momentary switch) and inputting gate signals. You could use the internal socket switch of the Gate input socket for this too, that's up to you but then you can not press trigger when a cable is connected to the Gate input.
NB: In 'Dampened Mode' the Decay control determins the length of your envelope. 

EDIT 30th of JULY 2023: I was made aware of an article addressing the decay oscillation issue and it offers a solution for the multiple triggering in Normal Mode: It advises to use a schmitt trigger on the trigger input so the trigger level is always at the highest possible voltage. The cause of this retriggering namely, is an impedance issue and the fact that the trigger pulse isn't high enough in voltage. I'm posting the original article below here, so you can read it yourself. I'm not going to try this because it says with this modification it will trigger fine with Gate's higher than +9 Volt. With signals lower than 9V the schmitt trigger doesn't trigger. Not much use then.
I think my own solution is a much better one.


 
NOTE ABOUT AUTO-MODE:
One little thing you need to be aware of with this ADSR is that you need to switch to Auto mode whilst holding down a key on the keyboard. If you don't do that, then the ADSR only gets triggered (in Auto mode) if you push the manual trigger button but not by the keyboard. I think that's meant to be though because Auto mode is for external sources so that would make sense. If however you switch to Auto mode whilst holding down a key then it will work with the keyboard. Any key you press after switching it on will keep sounding until you press an other key and it will keep sounding until you switch back to Normal mode. Once you get used to this it's actually not a problem at all. Just something to be aware of.

IMPORTANT CONSIDERATION:
If you plan on building this ADSR you might just build it first like it was intended with C7 connected to pin 7 of IC1-B and without connecting C7 to the second pole of the 3 Way switch. In the stripboard layout it's simply a matter of connecting the 10nF cap between pin 2 of the LM358 and the strip directly underneath the LM358 which connects it to pin 7 via a wire bridge. Then it's back to how it was originally. Should you encounter the same problems I had then you can make the same alterations I did and have it function perfectly that way. Instead of a double pole 3-way (rotary) switch you can use a single pole one and if you need C7 to be disconnected in Normal mode, just use a little toggle switch for that. Double pole 3-way switches can be expensive unless, like me, you have some lying about in your junk box.

SCHEMATICS:
Here's the new schematic drawing that I made and used for my build with C7 connected to switch S1-B. (That's the only difference to the original schematic) :


This is a re-drawn version of the original Digisound-80 schematic, without any changes. You can click on the picture and then use the "J" and "K" keys on your keyboard to quickly switch from one picture to the other so you can easily see the changes (only on a Mac or PC).:


THE LAYOUTS:
Here's the verified stripboard layout. The changes I made are implemented in the layout but if you connect the lower pin of C7 one strip higher, you can do away with switch S1-B and everything is back to how it originally was, so the changes (if needed) are very easy to make.
BEWARE! All IC's are mounted with pin 1 to the lower right!
The layouts were rivised to make them easier to read in Nov. 2023.
Wiring diagram:


Stripboard only. Don't forget to cut the copper strips at holes H-32, K-32 and P-42 (under the capacitors):
Beware that some stripboards are sold with 56 instead of 55 holes horizontally. The layout is 55 holes wide:


Cuts and wirebridges as seen from the COMPONENT SIDE!
As always, mark the cuts on the component side first with a Sharpie or Edding pen and then stick a pin through the marked holes and mark them again on the copper side. Then cut the strips using a sharp 6 or 7mm hand held drill bit. Then solder in all the wirebridges before you get on with soldering in the components.


Bill of Materials:



CALIBRATION:
There are two trimmers in this circuit, RV2 and RV6.
RV2 is used to set the maximum Sustain voltage to the same value as the peak Attack voltage so no sudden voltage change occurs when the attack cycle is finished or so that the Sustain voltage can never be higher than the peak Attack voltage. The best way to set this is to use an oscilloscope but you can do it with a voltmeter too. I advise to check out the original text (second link below) and read the calibration instructions there. They are on page 4.
RV6 is more for polyphonic systems and for normal use it can be left in the middle position.
So, that's all the calibration you need to do ^__^

Here's a screenshot of the oscilloscope that illustrates the oscillating Decay problem I had in the beginning:


Here are some screenshots of the different modes of this ADSR:
This is the Damped mode with short and continuous key pressing You can see that every time you let go of a key an almost instantaneous release kicks in and kills off the note:


Here's the 'Automatic' mode with the same quick key presses.
Here you can see that letting go of the key will not stop the envelope. It will go through its complete cycle even if no gate signal is present. If you press a key before the cycle is finished it will start at the beginning again as you can see at the right side of the waveform in the screenshot above. This way you can create multiple peaked envelopes by re-triggering the ADSR.:



Finally here's a shot of the normal ADSR mode:


Here's a look at the response time of this ADSR. It's not the fastest response but still, 1.36mSec is pretty fast I suppose. The yellow line is the Gate signal and the blue is the ADSR output with Attack set to zero:



I'm really glad I was able, with the help of the Synth DIY group, to get this envelope generator working like it should at least in Normal and Damped mode. I do have one little quirck with mine. I can only use Auto mode if I switch from Normal to Auto while holding down a key on the keyboard and then the envelope is constantly retriggered so it functions as an LFO. Personally I find this very useful so I'm keeping it like this but let me know in the comments if yours does the same and/or if you found a solution for this. Or maybe this is just how it should be. I really don't know.

Here are some pictures of the module and print. The first one was taken after I installed it in the synth and the second one after I just finished the build. You can see that I put in a lot of output jacks for the envelope. It's always useful to have a few extra I think. The top two outputs are switched in parallel over the ADSR output and the bottom two are switched in parallel over the extra output on the stripboard. Below the inputs for Gate and Trigger there are two more sockets. They are Gate and Trigger outputs. They are each switched in parallel over their respective input sockets. I later added a yellow LED to have a visual indication of the envelope. The LED is soldered over one of the extra ADSR output sockets using a 15K resistor as current limiter so as to not influence the envelope voltage and to make sure the LED doesn't shine too bright:








Here's a link to the Electro-Music Engineer PDF article by Charles Blakey about this module:
http://www.digisound80.co.uk/digisound/other_documents/doc_files/1981-12_EM_Eng_CEM3310.pdf

Here's the original Digisound article in PDF form, about this ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18_files/80-18.pdf

In the original Digisound modular synthesizer this is actually a dual ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18.htm

Okay, that's number 33 done. If you have any questions please post them on the Eddy Bergman Projects Discussion and help Facebook Group, or the comments below or contact me directly.

See you on the next one!


Saturday, 21 March 2020

Synthesizer Build part-24: ADSR with 7555 (YuSynth design)

A great ADSR. Works very well and it's a very simple design, no trimmers to set. With verified stripboard layouts and now also in Eurorack format. There are also Eurorack Gerber files available for download for this project.

NB: Although I rate this as one of the best DIY ADSR's out there, there are some people having problems with this design. Even in my module the LED does stay on very dimly. Other people report problems with the envelope not returning to 0 Volt. In my case it works okay but I want you to be aware of this before you decide to build this. Should you have doubts then there is now an alternative to build.
Project 67, the Kassutronics Precision ADSR It also uses a 7555 chip, comes in eurorack size and works like a charm.

What does an ADSR or Envelope Generator do?
The Envelope Generator is generally better known as the ADSR which stands for Attack, Decay, Sustain and Release. These are the four amplitude phases a note goes through when you press a key on the keyboard. If we didn't have this ADSR in combination with the VCA, we would constantly hear the oscillator sound but we only want to hear it when we press a key on the keyboard right? So as soon as a key is pressed down, a Gate signal goes into this ADSR to tell it to produce an Envelope Signal. This envelope signal then goes to the VCA (Voltage Controlled Amplifier) where it opens up the VCA and so the amplitude of the envelope signal determins the volume of the sound coming out of the VCA.
The attack is the speed of the initial rise of the note, when you first press the key. Set it to zero and the sound is instantly there. Turn it open and the sound is going to take a while until it gets to full volume.
Decay is the time it takes for the note to go from the peak attack level to the sustain level. 
Sustain is the level of the note as you keep the key pressed down. It is usually set a bit less loud than the peak Attack level. (If we set Sustain fully open it will be on the same level as the peak Attack level and then it won't matter how you set the Decay because there's nothing to decay to.)
Then we have Release and that is the amount of time it takes for the note to fade out once you let go of the key. So the envelope generator produces a signal that determines the volume of the note over time and this signal is being used by the Voltage Controlled Amplifier (VCA) which interprets it as an output level. In some Minimoog synths it is also called the Loudness Contour.
Now of course the envelope output is a control voltage so it doesn't mean that you need to use it for the above mentioned purpose. You can connect it to anything that can be controlled with a control voltage like the filter cut-off or the pulse width of a squarewave or even the pitch of an oscillator. This opens up a miriad of options but let's not get ahead of ourselves here. If you're just starting out with synth building, you need the ADSR to open the VCA and the fancy stuff will come automatically with more experience. And this ADSR is great for beginners but also for seasoned builders in need of a good working ADSR. This is my ADSR of choise really.

My building experience:
This is the fourth Envelope Generator I present on my website and I think this one is the first that worked as it should straight away. No trimmers to set in the circuit either. I just used the schematic from the Yusynth website made a layout and built it. On the website he has two versions, an old and a new one. I built the new one. I can say without any doubt that this design is perfect if you want a good and reliable ADSR to pair with your VCA or to drive a filter. And because the circuit is so simple, even a stripboard version like this one would be robust enough to put in a rig you take on tour with you because, providing the panel is sturdy enough, there's practically nothing that can go wrong on the circuitboard.

This is the schematic. The opamp numbering on the schematic is different on the layout, I used the opamps in a different order but it works the same.



And this is the stripboard layout I made for it. It is verified, I used it for my build and it worked first time. Because it's so simple a design I didn't even test the stripboard after building it. I made a frontpanel and wired everything up and then I plugged it into my synth and it just worked. I would advise to change the 1M resistor (R6) on the Gate input, from a 1M type to a 100K type right from the start. Might save you some troubleshooting later on.


You can see the components are rather stretched out over the stripboard. This is something I did in all my early projects to make troubleshooting easier. There's a smaller version further down this article that can also be used for Eurorack systems. (There are also Gerber files for a Eurorack version available at the bottom of the article.)
Here is the stripboard only view: 


Bill of Materials:


If you want to add some extra outputs with buffers then below here is an extra layout that you can add to the ADSR to provide you with two extra normal outputs and two inverted ones. Of course you don't need to use the inverted output signal, you can use all four outputs for the normal signal. It doesn't matter what kind of signal is presented on the inputs, it will be replicated on the two outputs. (Two outputs for each input). This is an all purpose design so you can use this board for anything you like, even other projects like VCO's.


The wiring of the potmeters may look a bit strange with pin 3 left unused on three of the four potmeters, but I assure you that this is the way it should be wired up. Just follow the layout. It'll work fine I promise you. You can see in the schematic drawing that these pins are left dangling in the wind so that's what we do.
The ADSR triggers with a gate signal with a threshold of 3 Volt. The output envelope is 10Vpp. There's a manual trigger button on the panel (which is useful for testing). The envelope generator has two outputs. There's a normal output and an inverted output with a switch that lets you choose between +10V to 0V or 0V to -10V. There's also a switch to change the duration times with 'Fast' and 'Slow' settings. Use a DPDT ON-ON switch for the Fast/Slow function and a SPDT (ON-ON) switch for the Inverter voltage function. In Fast mode the duration for Attack, Decay and Release can be set between 1mS and 1Sec. In Slow mode they can be set from 5mS to 10Sec. These times are generated by the 1µF and 10µF electrolytic capacitors C4a and C4b. In the text on the Yusynth website it says to use Tantalum caps for this but I used normal Electrolithic Caps and this works just fine. I hate Tantalum caps anyway, they always blow up on me, LOL. If you want longer times you can install bigger caps. You could even take a 3 position switch and add a third cap of, for instance, 47µF to generate really long times. I haven't tried this myself so I can not guarantee it works but I don't see why it shouldn't.
There's a LED to indicate the level of the envelope. The LED remains lit very dimly if there's no Gate signal present and the ADSR is at rest. This is normal for this circuit. It simply indicates the ADSR is ready to fire.
Make sure you use three logarithmic 1 Mega Ohm potmeters for Attack, Decay and Release. Otherwise it will be difficult to set the parameters accurately. For Sustain we use a normal linear 10K potmeter.
It's interesting to note that all the 1 Mega Ohm potmeters control time parameters (Attack time, Decay time and Release time) while the 10K linear potmeter controls a level. The Sustain level.
You can run this envelope generator on a dual 12 Volt powersupply without any changes only the envelope output levels will go from 0 to 8 Volt instead of 0 to 10 Volt.

EURORACK LAYOUTS:
I recently made layouts for Eurorack in both the 10 pin and the 16 pin versions. In the 16 pin version the Gate input is connected to the eurorack-connector's gate pin but also has a separate input socket. If you want to disconnect the Gate signal from the eurorack-connector if you're using the normal input socket, then you must solder the gate connection from the eurorack-connector to the switch of the gate input socket instead of using the wirebridge as shown on the layout for the 16 pin version.
(Remember there are also eurorack Gerber files available at the bottom of this article.)
I've had confirmation that this layout works. So it is now officially verified.

Eurorack 10 pin version:
A very observant reader drew my attention to the fact I had forgotten the connection from pin 6 of the 7555 to pin 14 of the TL074 so I had to tuck that in later and that's why it runs underneath the chip socket of the TL074.  You can also choose to make that connection directly on the backside (copper side) by soldering a small wire inbetween those points, that's up to you.
I used Schottky diodes in this design because that works much better. I advise to always use Schottky diodes in Envelope Generators because it will help with cutting down any DC offset voltage at the output.


Stripboard only:


Cuts and wirebridges seen from component side. Mark the cuts on the component side with a black Sharpie or Edding pen and then stick a pin through the marked holes and mark them again on the copper side. Then cut the strips at the marked positions with a sharp hand held 6- or 7mm drill bit.


Bill of materials, will also work for 16 pin version except you must use a 16 pin Eurorack power connector obviously ;)


Eurorack 16 pin version. The diodes are marked as 1N4148 in the layouts below but use Schottky diodes instead! Like mentioned in the 10 pin version and the BOM above.


Stripboard only:


Here are some screen shots from the oscilloscope. These are from the 'Kosmo' sized ADSR but that shouldn't matter in the end result of course:

The normal envelope:

Inverted 0V to -10V:

Inverted +10V to 0V:

Here's a image showing the fastest rise time this ADSR can reach. It's just under 1 milliSecond or 980µSec.



TROUBLESHOOTING:
If you experience problems with this ADSR like the LED is always on and the VCA does not close then here are some tips for you suggested by people in the comments and on the Facebook group.:
Put a 100 Ohm resistor in series with diodes D4 and D2 (to the release and decay potmeters)
Put a 4K7 resistor in series with the LED. (This didn't help for me, my LED is always a tiny bit on)
Replace all 1N4148 diodes for schottky diodes.
Reduce the value of C3 from 10nF to 4,7nF or even 1nF.
Use a 500K potmeter for Release if you have trouble accurately setting the release time.
Replace the 1M resistor R6 with a 100K resistor. R6 is located at the Gate input


Well, that's all there is to say about this project really. A very satisfying build because everything worked as it should right from the start. The panel potmeters work over their complete throw, unlike some other E.G.'s I built, and you can set all the parameters very easily. If someone would ask me what ADSR to build I would certainly recommend this one. You can easily add on extra outputs if you so desire. You can add a TL074 for instance and wire up some extra outputs and/or inverted outputs. That's easy enough to do.
Okay, to close off, here are some pictures of the finished product. I made a copper bracket to keep the print in place behind the panel. That way I could use just one M3 bolt. I soldered all wires straight to the copper side.




Finally: there are now Gerber files available for this particular module (for Eurorack) which I uploaded to MediaFire from where you can download them for free. 
Just click here: --- DOWNLOAD GERBERS ---

EURORACK VERSION WITH LOOPING OPTION:
Now there's also a Eurorack version of this ADSR that has a looping function included. Paul Darlington, a member of the EB Facebook group, came up with this brilliant addition to the schematic. Here's a link to the files he posted on Github: --- CLICK HERE ---
You are not allowed to use these files for commercial purposes! They are published under Creative Commons 4.0 license. 
Here's a picture of the faceplate of Paul's ADSR module:


Okay, that's all for this article. If you have any questions or comments please leave them in the comments below or post them on the special Facebook Group for this website.