Blog Electronics

AVR Drum Synth Improvements

There were some immediate problems to address in my first draft of the drum circuit and fuelled by some Easter feedin’ I sat down to trawl through them.  Here’s the reworked schematic:

Summary of changes:

  1. The resistors on the output of the ATTINY45 have been tweaked to give a broader output PWM of around 1.6v to 5v
  2. These saturate the first unity gain op amp to generate a PWM signal with a range of 1.6v to 4.3v.
  3. The resistor after the low pass filter is much bigger, 1M so it doesn’t load the filter and screw up the signal.
  4. The second op amp gain is fixed at -0.5 (inverting 470k/1M).  This gives a nice clean signal for the transistor.
  5. The level adjust is now just a linear pot over the second op amp output.

Because the output level adjust pulls down to ground, a reduced signal is much lower so the transistors draw less current.  Now the Instead of always draining a constant 80mA the circuit now drains 20mA at low volume up to 80mA for absolute max.

First draft of this circuit in progress:

The rightmost pot is the level control for the drum – the leftmost two are parameters which will plug into the ATTINY45.  The leftmost switch is the power, the middle one select output on the amplifier or direct from the TL072 (not quite sure how to wire this up yet), the final switch selects whether the output is stereo/mono.

Blog Electronics

AVR Drum Synth Redesign

A few weeks ago I improvised a circuit to make drum sounds for my rhythm piano that I showed at BEAM Day at Brunel University.  Coding the synth was fun but getting the analogue electronics working was a baptism of fire; there was all sorts of system noise and I hastily threw in a low pass filter using totally the wrong component values… turns out most of my circuit was turning battery power into heat.

I’d like to use more of these synths so I’m redesigning it to be more efficient and will release the code in the aim of sharing and learning.  The circuit is designed as a hodgepodge of beginner electronics and guesswork, so there will be mistakes.  Here’s what I’ve got so far:

  1. Using fast PMW on the AVR Tiny45 gives 8 bit at approximately 40kHz.  I’m using the chip’s internal 8Mhz RC resonator as a clock.  For now the chip just sends out a constant sine wave for diagnostics.  The final version has two pots controlling sound parameters and a piezo input as the drum trigger.  The output PWM is 0-5v.
  2. Potential divider converts the 0-5v range to 2.5-5v.  This preps the signal for the first op amp where it saturates the buffer; using the full 0-5v range does funny things to the TL072 – it seems to stay at 5v with little spike signals.
  3. One half of the TL072 is used to buffer the signal, the voltage saturates the op amp giving an output of 1.5-4.5v PWM signal.
  4. A low pass filter converts the PWM signal into an analogue signal.
  5. The analogue signal is biased and levelled for the power stage.
  6. A push-pull power stage boosts the signal so it’s powerful enough for the headphones.  This sits at around 1v, which I think makes this a class A amplifier; minimal distortion but a bit power hungry.  This is the part of the circuit which needs reviewing.
Looking at my notes here, I think I’ve made an error with the 2.5-5v divider at stage (2) – the values should be different.  I’ll check this before the next post where I build the circuit and test the drums.
The circuit in action.  Yellow scope is filtered signal, red scope is output from power stage.  Presently the whole circuit soaks around 80mA.