Loading Effects
I want to talk for a bit about loading effects, and why they're problematic. I'm a Teaching Assistant for ECE445, and I've had several of my groups ask me: “Why do we use unity gain buffers? They don't seem to do anything!". Well, lucky for you, I've decided to explain why!
What is a load? A load is just any device that requires power to run. Washing machines, cars, headphones, TVs, there are all loads. Let's imagine we have a simple fan with a DC motor inside. It needs 5V to spin around properly. Unfortunately for us, we only have a 12V wall wart plug available to us! What's the solution?
Well, using two resistors will fix this problem! Put two of them in series, and the midpoint voltage will be whatever we want it to be. Since we know that these resistors will just burn our power linearly, we'll make them a pretty high value. Using two series resistors, $R_T = 7k\Omega$ and $R_B = 5k\Omega$, we get 5V at the output. Not bad!
Now let's hook up our fan. It doesn't work… why? If you go and measure the midpoint of these two resistors, you'll find that there's almost no voltage, a few millivolts at most. If the fan is disconnected, the voltage shoots back up to the correct point. What's the deal here?
The deal is loading. This is an issue that many people overlook when starting their first real system designs. Designing blocks is great, but it's just as important to design the connects between them. Here, the fan has an input impedance of around 12$\Omega$, which is pretty common. We can model this as a resistor with that same resistance, and we'll get the following new schematic:
If you do the parallel combination of those two resistors ($1/R_T = 1/R_1 + 1/R_2$), it's basically 12$\Omega$. That 12 is series with the 7k? Practically negligible. This is why we need buffer stages in our designs. For a simple example, we could use an opamp configured as a unity gain buffer, and this would gives us the correct output voltage for any load.