Updated Jan 10. 2007


    Micro Class-D

    Class-D AMP


Prototype 1

Prototype 2

   Ribbon Speaker

  ▪  Measurement Mic.

   Mini Subwoofer

  ▪  25 W Power amp

  ▪ NEW  Home Theater


  ▪  NEW  XLS Sub


   Current projects

  ▪  Finished projects


  ▪  Amplifiers

   Ribbon Speakers

  ▪  Subwoofers


  ▪  Main page



Contact: e-mail


DIY Self Oscillating Class-D Amplifier (SODA)

Prototype  no. 2


Prototype no. 2

Changes made over Prototype no. 1:

  • Input filter changed to have the high pass DC filter first.
  • Input cap changed to 2.2 uF to get a lower cut off  freq. of 8.1 Hz
  • Two BAV99 diodes added to the input to act as over voltage protection.
  • Input low pass filter changed to 50.7 kHz (from 159 kHz)
  • 220 uF added to decouple Vcc4 for the HIP driver. (reduced noise)
  • The delay resistors on the HIP Rdel changed from adjustable to fixed
  • All resistors changed to 805 SMD types
  • Fast diodes across each MOSFET added
  • Added a LM319 as part of the oscillator instead of the built in comparator in the HIP4080A. This allows a noise free start-up as the oscillator can star up before the disable pin on the HIP is driven high and the power stage is activated.
  • Most components changed to SMD types to allow for a smaller PCB layout, which will improve noise performance.
  • Diodes on gates
  • Protection circuit added
  • Snubber on output
  • Snubbers on all power mosfets

Click here for the updated schematics

The noise problems with the first prototype, have almost been eliminated by adding signal diodes in parallel with the gate resistors, placing a small cap between the two inputs on the comparator, and adding more decoupling on the HIP4080 driver supply.

The layout is not optimal, and has too long feedback traces. I'm not sure whether having the comparator in the same chip as the driver is a good idea (but was reducing component count). It seems that a lot of noise from the driver is coupling into the supply, and therefore into the oscillator. This is one of the reasons I have chosen a separate comparator for the second prototype. Snubbers will hopefully also minimize the EMI radiation, which can also couple into the input and oscillator. An generally use of SMD will give a more compact layout which will be less sensitive to coupling noise.

Protection circuit

On the second prototype a protection circuit was developed. The circuit consists of

  • AC fall out detector (detection that the amp has been turned off)
  • DC detector (on speaker terminals)
  • Over current
  • Start up delay

The circuit was only simulated using the following schematic, which is a bit different than the implemented circuit.

As will be seen it is though always a very good idea to try out a new circuit on a breadboard, before including it on the PCB.

As it turned out several parts of the circuit did not work propperly.



Trial and Changes made to prototype no. 2


The finished PCB


Waveform on measured from ground to one half of the full bridge.

The amp is running on Vcc = 54 V

Overall result

So far the amp is working quite well. The sound is good, and there is not much noise to hear.

At turn on and turn off, there is a bit of unwanted sound, but nothing critical. The turn on delay, and protection circuit was meant to get rid of the unwanted sound all together, but it turns out that it is not working that well, and I'll have to live with this start up/turn off noise.

Compared to prototype no. 1, a lot of intended improvements have been implemented, and is working. The amp seems good enough to be used as intended in my new subwoofer, and will with the final power supply be able provide about 400 W into 6 ohm witch is the impedance of  Peerless XLS 12".

Next step will be to build another of the amps, so that I can try them out as main stereo amps, just to evaluate the sound properly.

Over current protection

It turns out that LM319 do not have input range down to 0V as is required in the design of the over current protection. The following changes are made to make it work anyway. See thread on DIYAudio http://www.diyaudio.com/forums/showthread.php?s=&threadid=89676

The solution from powerbecker is tried:

C34 changed from 100nF to 1nF

R57 is changed from 2k2 to 10k to lower the bias current in Q13 (as I have forgotten a basis resistor!). This part works anyway as the LM319 has an open collector and R57 will therefore work as a basis resistor.

AC fall out detection

It turns out the the AC fall out detection circuit does not work. Doesen't really know why and didn't bother finding out. Circuit disconnected.

DC detection circuit.

The DC detection circuit dos not work under start up, as the DC level on both positive and negative out put will be Vcc/2 before the circuit starts switching. The the DC detection circuit will therefore prevent the HIP being enabled!

To make such a circuit work in this construction, it should have been working differentially. In this case it wouldn't matter that both outputs where at Vcc/2. On the other hand, a situation where both outputs where at e.g. Vcc would not be detected!! Think the whole protection circuit would be much better implemented around a small microprocessor.

The DC detection circuit has been disconnected.

Delay resistors for the HIP

It has been tried to lower the two delay resistors (R31, R32)  to 47k, but the amp ran quite hot and also the snooper resistors around the output mosfets, got really hot. Therefore the two resistors where changed back to 100k. This means a little more distortion, but better safe than sorry.

Switching frequency

The switching frequency has been set to some 213 kHz by changing R26/C5 to 1k/150 pF. The frequency changes with Vcc. The higher Vcc the lower frequency.

At the moment the amp is running from Vcc=54V, and as this is changed to 70V I will have to change R26/C5 to get the desired 200 - 250 kHz.

Input limitation diodes

The two double diodes in the input, is unfortunately placed on the wrong side of the input cap C3. Therefore the oscillator was not working. The two diodes has been disconnected.

Start up delay

The start up delay circuit was changed slightly to make it work. R41 was changed from 100k to 10k to make Q8 switch. And C35 was changed from 100uF to 220uF as this was what I had. Delay seems ok.

Output coil "Bank" winded

Coil wound using the banking technique using 2 x 29 windings (not room for more!)