The Summing Amplifier

concept
Up until this point you've probably only come across one way to add two voltages together, by sticking a battery in series with some other voltage. Unfortunately this isn't particularly helpful. Imagine you wanted to get the temperature in your living room, but being a good engineer you know that getting a few temperature measurements and averaging them will be more accurate than just a single measurement. Now you're faced with a problem. In order to find the average temperature from two or more temperature readings we need to be able to add their voltage signals together and then divide by the number of thermometers we used. For this we use the summing amplifier, a simple circuit using a single op-amp that allows us to add as many different voltages together as we like.
fact
A Summing Amplifier adds together several weighted voltages and outputs the answer. $$ V_o = -R_f (\frac{V_1}{R_1} + \frac{V_2}{R_2} + \frac{V_3}{R_3}) $$
derivation
We know that \(V_+ = V_- = 0\)V and that our output will be \(V_0 = -I_f R_f\) so we need to figure out \(I_f\). Because the currents from each of the inputs are in parallel they'll add together to give \(I_f\) so: $$ I_f = I_1 + I_2 + I_3 $$ And since \(V_- = 0\)V the currents are given by: \(I_1 = \frac{V_1}{R_1} \) \(I_2 = \frac{V_2}{R_2} \) \(I_3 = \frac{V_3}{R_3} \) And so: $$ I_f = \frac{V_1}{R_1} + \frac{V_2}{R_2} + \frac{V_3}{R_3} $$ Which gives us: $$ V_o = -R_f \cdot (\frac{V_1}{R_1} + \frac{V_2}{R_2} + \frac{V_3}{R_3}) $$ The result extends in the obvious way to more inputs (or fewer)
If we set \(R_1 = R_2 = R_3 = R_{in}\) we get equal weightings for each of the inputs and our output is the simpler: $$ V_o = -\frac{R_f}{R_{in}} (V_1 + V_2 + V_3) $$
example

Select resistances \(R_1\), \(R_2\) and \(R_f\) in order to average two voltages \(V_1\) and \(V_2\)

If we're averaging \(V_1\) and \(V_2\) we want our output voltage to be: \(V_o = -\frac{1}{2}(V_1 + V_2)\) Comparing this with our summing amplifier formula we can see that we should pick \(R_1 = R_2\) and \(R_f = \frac{1}{2}V_1\) So we'll pick our input resistances as 1k each and \(R_f = 500\)
Why would we ever want to weight our inputs differently? Well if you're familiar with digital signal processing we could use a summing amplifier as part of a simple FIR filter, where we would need to weight the inputs differently to create different filters. Or we could create a simple digital to analog converter like so: Here each input is weighted exponentially higher to match its place value in the binary system.
practice problems