You are asking some really great and essential questions! Let’s just do one thing differently, instead of approaching this from the input to the output, let’s think about it from the output to the input. How many volts must we swing on the headphones to achieve an acceptable SPL?
To answer this question, we must look at the sensitivity and impedance of the headphone you wish to drive. See below for the sensitivity and impedance of a some popular headphones on the market.
||Power required 110dB (mW)
|Master and Dynamic MH40
|HiFiMAN HE1000 V2
Take the HD600’s for example. They have a sensitivity of 97 dB/mW and an impedance of 300 ohms. We can use the following formula to calculate the power it will take to reach a certain SPL:
dB desired = (sensitivity) + 10 log(x) Where x is the power in watts it will take to meet your desired SPL.
In the chart, I found that to reach 110dB on the HD600’swe would need 20mW from the amplifier. To find the voltage swing necessary, we use power equations that are derived from ohms law.
P = V2/R or V = the square root of P x R
This tells us that we need approximately 2.5Vrms over the HD600’s to yield a 110dB SPL. Since 2.5V seems easy to obtain, given that our output stage can drive the 300ohms, let’s go ahead and double the voltage requirements so that we’re sure that our amp will have ample headroom. We will design for 5Vrms.
So now we get to one of your questions, how do we know how large the incoming source signal is? Great question. What’s your source? Let’s assume that it’s a DirectStream Jr DAC. At 0dB/fs, the loudest output signal possible, this DAC outputs 1.3Vrms out of its single ended jacks. So if we designed our headphone amp with a gain of 1, we would only be able to produce a maximum of 1.3Vrms on the HD600s.
This doesn’t meet our criteria. We need gain.
Let’s design for our 5V requirement. 5V/1.3V = 3.84. Looks like our required gain is 3.84. We’ll round up to a cozy 4 (+12db) which should give us a good amount of headroom to work with. These are the calculations that I would start out with. You can always tweak the gain to adjust in order to optimize for your specific needs after you build the amp. Too much gain will cause noise floor issues and increase the risk of damaging headphones. Inadequate gain will leave you with the volume control maxed out wishing you had more headroom. If anything, it’s better to shoot a bit low at first and increase it if you need to. The average headphone amp has between 6dB and 14dB of gain. Generally the higher the impedance of the headphone, the more gain you will need.
So we’ve talked about gain, voltage, impedance, and sensitivity but we haven’t gotten to current. That’s because the gain calculations are mainly about the voltage swing over the headphones and it’s up to the output stage and power supply to deliver the current to the headphones. We must pick a good output stage. The LM386 does look like it would meet our criteria of driving the HD600s but I find the performance of the part pretty lackluster compared to modern amplifiers. I recommend combining an op amp such as a OPA2134 with a high current buffer such as the BUF634. Please see below for their links in digikey:
Please see the schematic in the link above. The buffer is actually included in the op amps feedback which lowers the output impedance of the buffer and takes care of DC related issues. The example has a gain of 21. Since in our example we designed for a gain of 4, you could use a 10K feedback resistor with a 3.3K resistor going to ground.
In order to control volume, you will have to use a stepped attenuator or potentiometer before this circuit. You’ll also need to design a power supply. Make sure its large enough to supply max power to your headphones without sagging the rails. As far as voltage rails go, ±15V should be adequate for most headphones.
I hope this helps you out. Thanks for finding our forum!