Lec1 Basic PWR Supply
Lec1 Basic PWR Supply
Lec1 Basic PWR Supply
It's C code! You can code up all sorts of different applications, compile code, load it onto a
micro, power the micro, and the code runs. Very simple! Microcontrollers are used in all the
electronics you take for granted such as your microwave, TV remote, cell phone, mouse,
printer, there's over 150 microcontrollers embedded into new cars! There's one waiting for
you to depress the brakes (BRAKES == 1) and for the tires to lock up (LOCK_UP == 1).
When this happens, the micro releases the brakes, and you have ABS (anti-lock brake
system).
In the old days, microcontrollers were OTP or one-time-programmable meaning you could
only program the micro once, test the code, and if your code didn't work, you threw it out and
tried again. Now micros are 'flash' based meaning they have flash memory built inside that
allows their code to be written and rewritten thousands of times. I've been programming
micros for years and always burn out the microcontroller far before I hit the limit of flash
programming cycles.
Flash micros are different than computers and RAM. Computers require tons of power and
components to get up and running. Computers run HOT. Computers take forever and a day to
boot. Micros are on and running code within milliseconds and if they're warm enough you
can feel heat coming off of them, something is very wrong and you've probably blown the
micro. Oh - and micros cost about $2.
Now back to that OR gate IC. It had a bunch of pins, all dedicated to being either inputs or
outputs of the various built-in OR gates (4 gates in one package = 8 inputs, 4 outputs, 2
power/gnd pins). 14 pins of fun. Now with a micro, the most basic pin function is GPIO general purpose input/output. These GPIO pins can be configured as an input or an output.
Very cool. Each input pin can be monitored and acted upon. Example:
if (PORTC.2 == 1)
then do something...
Guess what that code does? It toggles a pin high/low every 2 seconds. Fancy right? This is
the 'Hello World' of the microcontroller world. It seems trivial, but by god when you've been
trying to get a micro up and running after 5 hours of tearing your hair out and you see that
LED blinking for the first time, it's just glorious!
What types of microcontrollers are there and how do I get one blinking?
Here's a very shallow breakdown of the micros in my world:
PIC - This is the classic micro from Microchip. Very simple, very proven, but it lacks
many of the features that other mfg's are building into their chips. This is a big deal
for me. I was a die-hard PIC person for years and I've started to see the limits of PICs
and the benefits of other micros!
AVR - This is basically a direct competitor of PICs. They do everything a PIC does,
but in my new opinion, better, faster, cheaper, and simpler.
MSP - These are very good micros by Texas Instruments (TI), not as beefy as AVR or
PICs. However they truly excel at low-power applications. More on this later, but
imagine running a complete system on one AA battery for 5 years. This is in the
realm of nano-amp current consumption. Crazy!
ARM - Why are all these three letters? I don't know actually... ARMs are the new kids
on the block and they are huge. Very powerful, very low-cost, they are taking over the
world but can be really intimidating if you've never played with a micro before.
8051 - The '8051 core' was the de facto standard in 8-bit (and 4-bit!) microcontrollers.
Developed by Intel in the 1980s, it still seems to be the instruction set they love to
teach you in college. They are based on archaic, but field proven instruction sets.
Very old tech in my humble opinion, but these ICs have been significantly improved
over the years (now Flash based, ADC, SPI, etc.).
68HC08/11 - Another very common instruction set developed by Motorola.
Extremely popular, and a micro commonly taught at university, it's the
microcontroller I love to hate. These original micros often lack on-board RAM and
flash based memory.
Google any of these for more info. I have chosen the ATmega168 as the learning IC of
choice. Why?
20 MIPs (million instructions per second!) is powerful enough to do some really cool
projects
It's cheap! $2.13 currently
It's got all the goodies under the hood (UART, SPI, I2C, ADC, internal osc, PWM,
kitchen sink, etc)
16K of program memory is enough for almost any beginner project
The tools are free! (C compilers for many of the other micros cost a lot of money)
The programming and debugging tools are low cost ($20 will get you started)
With a little work and probably $40 worth of parts, you too can get an LED blinking. As with
any new hobby (also known as a drug addiction), the extra cost of 'goodies' can grow very
quickly.
You want to play microcontrollers today?
With any IC, you need to power the thing. There are two power connections on basic micros :
VCC and GND. What the heck is VCC? This is the label for the positive voltage. Don't
worry, after a few days of this, seeing 'VCC' will become very normal. GND is short for
ground. All electrical current needs a way to flow back to ground. This can be called
'common' but is often just labeled GND.
There are thousands of different micros out there, but 5V (five volts) is the typical VCC.
3.3V is also typical but you'll also see 2.8V and 1.8V VCCs on more exotic micros. For now,
just worry about 5V and GND.
Where do I find this 5V?
You can get all the parts for this lecture here.
You need to hook up 5V and GND to your micro. Your house outlet runs at 110V AC (or
220V for many countries). AC = alternating current and is very bad for 5V DC (direct
current) micros. So you'll need to convert the 110V AC from your outlet to a useable 5V DC.
Quick note: If you reverse the connection on your micro - bad things happen. Always make
sure your 5V power supply is connected to the VCC pins and GND to GND. If you reverse
this and connect 5V to GND on the micro and GND to VCC on the micro, things won't
explode, probably no smoke, things will probably heat up like crazy, and you'll probably
damage your $2 micro. You probably will. I did. Many times. Try not to do it.
Ok! You need 5V. Time to build a simple voltage regulator circuit!
You can buy something called a 'wall wart'. Don't ask me why they call it that, ask google. A
wall wart takes a higher voltage and converts it to a lower voltage. DO NOT assume a wall
wart labeled '5V' will output 5V. This is a major misconception - I know, I know, faulty
advertising. Just hook up your multimeter to the barrel plug and see what voltage you read.
Probably more like 8 or 9V. This will kill your micro so keep reading! For a more detailed
explanation check out the Unregulated Power Supply Tutorial.
Let's assume you are using a wall wart with an output of something nice like 9V. Dandy.
Unfortunately this 9V output is rather noisy - meaning there is a lot of ripple. Ok what does
ripple mean? You want a DC voltage meaning you want a solid voltage (the opposite of
alternating). A wall wart uses some cheap tricks to get 110V AC down to 9V DC. So the DC
signal coming out of the wall wart tends to alternate 100-500mV. Instead of a solid 9VDC,
you see a signal that rises and falls between 8.5 and 9.5 volts. This 'ripple' can cause havoc
with your system, and 9V is too high (we need 5V!) so we need to pass 110V through this
wall wart, and send the 9V through a regulator to get down to a clean 5V DC signal. If this all
sounds scary - don't worry. After you get your 5V power system built, you'll wonder why you
were scared in the first place (it's simple, I swear).
The most common regulator is called the LM7805. Why? I dunno. I've never actually
touched a component with LM7805 stamped on the outside. There's always other letters
stamped on the outside like 'LM78L05' or 'LV78X05' or some such crazyiness. Just know
that there are many many manufacturers out there and they are all producing the same basic
part, with small tweaks to each one. What you need is one of these generic parts that is
designated as a '5V linear regulator'. If you're playing in a breadboard, you'll also want it in
the TO-92 or TO-220 package. More about packages in a later lecture, just go with it for the
moment.
You've got your regulator in hand, you've got the wall wart. Time to connect them up.
Here you can see the 'pin-out' of the LM7805. Say 'IGO' in your head and commit this to
memory (input, ground, output). You'll probably hook up a lot of these. When in doubt,
always check the datasheet before hooking up a new part - or else be close to the on/off
switch! Input is the input voltage of anything greater than about 7V. GND is ground. Output
is the 5V output pin. Your wall wart should have two wires. One is 9V, the other is GND. All
grounds need to be connected together for current to flow across the system. One more time connect all grounds. This is the #2 reason why novii can't get a system to work. For our
breadboard, we will be inputting 9V (or whatever transformer you've got up to about 15V)
and outputting 0V (GND) and 5V to our breadboard rails.
We are going to go through a bunch of iterations of the power supply, adding parts as we go.
Shown above, we have a basic regulator configuration. 9V in, we should see a rough 5V on
the output.
Schematic note: The two ground pins are not shown connected. We assume that nets (the
green wires) of the same name are connected together. Schematics can get big and complex,
so you won't see all the wires together, but in your breadboard you need to connect all the
GND pins together. In this case it's the GND wire from your wall wart connected to the GND
pin on the regulator.
Cool. But why doesn't the multimeter read 5.000V? Electronics are not that good. The cheapo regulators are +/-5% tolerate meaning you'll see between 5.25 and 4.75V. In practice, you
should see between 5.1 and 4.9V with most run of the mill regulators. You can of course
spend many $$ and get tighter tolerances but 5.1-4.9V will work fine for our purposes.
Now we should be worried about ripple. There is noise coming in the input pin, the regulator
tries hard, but some of that noise gets onto the output pin. Your multimeter says 5.08V, but
that's because it's averaging many readings together and showing you only the average. Do
you know someone with a oscilloscope? If so, show them this tutorial and ask them to show
you the noise on your 5V rail. With no filtering caps, you could see as much as 200mV of
noise.
Whoa - what's a filtering cap? Filtering capacitors are large bulky capacitors that help smooth
out ripple. There've been lots of analogies about capacitors so here's another one for ya:
Capacitors act like water tanks. When your circuit pulls a bunch of water out of the system,
the capacitor helps hold the voltage up temporarily until the power system can catch up. For
example: you may live in a city with water and water pressure. If you take a shower you
affect the pressure in the municipal water system ever so slightly. If everyone turned on their
shower and flushed every toilet in the city, odds are the water pressure would fluctuate quite
a bit! A big water tank helps minimize these pressure fluctuations. A big cap helps minimize
the voltage fluctuations on your breadboard.
Is this something you can see happen? Unfortunately not really. You can probably run your
system without filtering caps, but it's not good engineering practice. Give it a whirl without
caps! But when things don't work, you'll wonder if it's the caps, or your code, or your timing,
or maybe you blew out the sensor. Too many unknowns will make you crazy. My
recommendation: just use a couple basic caps...
100uF (one-hundred micro farad) on the input and 10uF on the output. You will use a lot of
100uF and 10uF around power systems and you will eat 0.1uF (point one micro farad) caps
like candy around micros. These two caps should smooth the input into the regulator and will
smooth the output nicely.
Capacitors cannot delivery their stored energy instantaneously. Larger caps (1ouF and 100uF)
store more energy, but they react more slowly. The smaller the capacitor, the faster it can
delivery its stored energy. If you have a large power outage (power dips for 10-100ms), a big
cap (100uF to 1000uF) will help 'hold up' the falling voltage. A smaller cap (0.1uF) will help
suppress higher frequency noise and shorter power dips (noise in the 1us to 100us range).
Therefore, 0.1uF caps are located near the microcontroller to help with short bursts, where
100uF and 10uF caps are used on the power rails.
Now you see the schematic symbol looks a bit odd. What's with + and curved lines? This
schematic component is indicating that the 100uF and 10uF cap are polarized. Oh jeebus,
what's that? Time for a capacitor breakdown:
Electrolytic caps: These are larger caps capable of storing 10uF to 1,000,000s of
farads. They are cheap and great for bulk capacitance. They are polarized meaning
there is a positive pin and a negative pin.
The cap has a minus '-' sign on the cover indicating that pin needs to go to GND.
Ceramic caps: These are the cheapest and most common cap you'll play with on a
breadboard. They are NOT polarized so you can stick em in the breadboard any way
you want. Ceramic caps cannot handle as large of capacitance as electrolytics so
you'll need both on your breadboard system.
There are many more different kinds of capacitors but for the sake of your head
exploding, we won't cover them here.
Okay - now you need to work through some logic here. You know the positive part of the
100uF cap needs to be connected to the input pin, but only the negative pin is marked. Yes
it's confusing - but you'll get used to it. Negative marked pin goes to ground, the other goes to
the input pin.
What happens if you get them switched? Well here's where things may go poof.
Guess what happens when an electrolytic cap fails like the ones above? They quit working. In
most cases, they 'fail safe' meaning they won't work as a capacitor anymore but they won't
short to ground. The real fun begins when the failure is so bad that the internals fuse together
and you get a short to ground - then you can have some fun melt downs! In the case of this
computer, the motherboard had all sorts of bad software failures because the power supply
had too much ripple! The big filtering caps on the power supply had failed so the 12V was all
over the place.
Similar failures can happen if you reverse the polarization of the cap. If the voltage is low
(less than around 25V) the cap will probably just be damaged a bit. If you've got a vacuum
bell sitting around and you want to really cause some damage, ask a trained professional to
hook up 10V cap backwards to 10,000V. It should instantaneously blow up like a pop corn
kernel.
For your power supply filtering caps, I recommend using a 25V rated 100uF cap
(100uF/25V) on the input and a 10uF/10V cap on the output. Engineers will tell you to
'derate' the cap by 50% meaning if the label says 100V don't trust it past 50V. This is
generally good practice. Following this idea, our 100uF/25V is good for inputs up to about
12.5V before we should worry that we may pop the electrolytes. Again, not mandatory, just
don't expect a 5V rated cap to withstand a 9V input.
Back to our power supply! Don't worry about blowing things up just yet, you should be at
low enough voltages you won't do any harm. Again, if things heat up/smoke/spark, just
unplug or turn off the system. Speaking of turning things off - we need a power switch!
This will allow you to turn on/off the system. Handy. It can get really annoying pulling and
inserting the power wires to power/kill your system.
Inside the small black enclosure, is a switch. The switch has three pins. It looks like a see-saw
inside. The center pin is always connected to the middle of the see-saw and as you slide the
switch back and forth, the see-saw rocks up and down. Slide the switch forward and the seesaw shorts from the center pin to the forward pin. Slide the switch back and the see-saw
disconnects from the forward pin and shorts to the rear pin. We recommend you connect
power to the center pin of the switch. When you slide the switch forward, power will short to
an unconnected pin and do nothing (no power to your system). Slide the switch back and the
center power pin will short to the wire running into your regulator, delivering power to your
system (power on!).
Remember all the warning about reversing VCC and GND and how that is bad? Well if you
connect your power supply backwards, that's bad. So let's protect ourselves!
That's a diode (marked D1). A diode lets current flow in one direction (in the direction of the
arrow) and it blocks current from flowing in the opposite direction. This will allow 9V to
flow in the right direction, and if you accidentally hook your power supply up the wrong way,
it will block current from flowing backwards and damaging your system. Is it overkill? Pretty
close. But we always design them into our development boards because we don't know what
type of power supply you knuckleheads (also known as our paying customers) will plug on to
our boards. If you plug the wrong type of wall wart onto a board, we want to protect you
from yourself.
There are some down sides to a protection diode:
All diodes have a voltage drop, meaning 9V on one side will drop to about 8.5V on
the other. So your 9V wall wart just became 8.5V.
Diodes have a current rating. If you try to suck 1A (1 amp) through a 0.1A (one
hundred mili-amp) rated diode, the diode will quickly heat up and fail. For reverse
protection, we recommend a 1A 1N4001 diode. These are dirt cheap and very
common.
Note that diodes are polarized. They have a direction that you need to pay attention to. Many
diodes have a band indicating the cathode. What's a cathode? Go google. All you really need
to know is that the line on the schematic part is the same as the line on the diode. If you can't
remember which is which, remember 'arrow is for anode'. Cheesy, yes.
So if you want to install this 'reverse protection diode', the 9V from your wall wart goes into
the end of the diode without the band (the anode). The banded end (cathode) goes into your
switch. Your switch then goes into the input. Throw the switch and you should see 5V on the
output using your multimeter. Nifty. But I am tired of using my multimeter each time to
check the 5V output. There must be a better way! Time to wire in the power LED.
Light emitting diodes (LEDs) are bits of silicon that light up when current flows through
them. Go google for the science. As a general rule of thumb, LEDs can have 20mA max
current flowing through them before they begin to fail.
So if you hooked up your LED like in the above schematic, it would light up very bright for a
split second and then burn out. That's cause the LED is a diode and the current will flow from
the anode (arrow) to the cathode (line) to ground - uncontrolled! The silicon will flow current
at something like amp for a split second and burn up. To limit this current flow to 20mA, we
need Ohm's law. Yea, the book worms in the room suddenly perked up:
V = IR (this is Ohm's law)
If we have 5V, and we only want 20mA flowing through the LED:
5V = 0.02 * R
R = 250 Ohm
Now this is not completely true because the LED has a forward voltage drop, but don't worry
too much about that. Hooking up LEDs is very common with micros. All you need to
remember is that you're going to need to limit the current. The most basic way to do this is
with a resistor. 220 Ohms will work (LED will be brighter), 330Ohm is also good (LED a bit
dimmer), 1K (1000) will work as well. 220, 330, and 1K are more common resistor values.
I highly recommend you get your hands dirty. Hook up an LED to a 1k resistor, then a 330,
then a 220, 100, 50, then finally blow the thing up by hooking it with no resistor. That was
fun right? Good. You had a back-up right? Once the bit of silicon inside the LED is burned
out, it is no good and the LED can be thrown away.
varying between ~3.0V (3000mV = 30C) and ~2.0V (2000mV = 20C). This is wildly bad.
You need a good 'clean' power rail if you are doing anything with analog signals.
supplies and inserting the bare wires into a breadboard. Having energized bare wires bothers
me. If the wires get pulled out of the breadboard because you kicked out the power cord,
you'll have some tense moments until you get the power brick unplugged. So I soldered some
short leads to the barrel jack so that I can plug/unplug my power cable from the breadboard.
Easier to transport.
See the orange wire at the end of the barrel jack? That pin inside the DC barrel jack connects
to the center of the wall wart barrel. The center of our wall wart barrel connectors are '+' or
'hot' or '9V', whatever you want to call it. So the end of the DC barrel jack is soldered to an
orange wiring meaning it is '+'. This orange wire is then connected to the center pin of the
power switch.
All ground connections are connected together. You will see a small black wire underneath
the DC barrel jack. This is the pin that connects to the outside sheath of the wall wart barrel.
This is the ground connection on the wall wart. This small black wire connects the ground of
the wall wart to the ground on the breadboard.
I did not install a reverse protection diode. I *only* use center positive power supplies so I
know I'm safe. If you do anything similar, check your wall wart carefully with a multimeter
before doing any testing.
Note: Our breadboard will have 5V and 0V rails. The blue rail is GND (considered 0V). Red
is VCC (or called 5V).
Note on LEDs: LEDs are a polar device meaning you've got to hook them up in the correct
direction. Light emitting diodes (LED) have a cathode and an anode. How do you tell the
difference? Imagine the schematic element:
An LED
Do you see the arrow? Do you see the flat line? A is for arrow. A is for anode. The physical
LED will have a flat side corresponding to the flat line (the cathode) in the schematic picture.
And there you go! When connecting an LED, you know that diodes only pass current in one
direction (from anode to cathode - in the direction of the arrow!) so the flat side of the LED
needs to be connected to ground some how (usually through a resistor first) and the other side
(remember arrow) is the anode and needs to be connected to power for current to flow. If you
hook it up backwards, it won't turn on, and you might damage the LED but probably not. Just
verify that you've got 5V on the correct rail and then flip your LED around if need be.
The yellow lines show what holes are inter-connected and where the breaks occur
There is a reason why the power rails are broken. If you have a breadboard with multiple and
different power rails, you cannot share them on the same row of holes. So modern
breadboards break the rails up so that you can isolate different parts of your circuit. For
example, if you were building a really complex design you may need to have 5V and 3.3V on
the same board. Because the rails are isolated from each other, you could just use various
strips around your breadboard to be designed at 5V, 2.8V, etc. For the purposes of this
tutorial (and for almost all breadboarding) we assume that you'll only be using 5V and GND.
Therefore, we need to use short jumper wires to interconnect all the isolated rails, forming
one continuous 5V rail and one continuous GND rail.
When I first wired up my power supply, I only had the long black/red jumpers on the right
side of the board, but didn't have the small jumpers in the middle of the rails. Without these
middle jumpers, only the bottom left rails (next to the 5V supply) actually have 5V and GND.
Since the LED is connected to the upper left power and ground rails, the LED never got
power! Therefore, you will probably need to use very short jumper wires (and some long
ones on the end) to connect all the '+' rails (5V) together and all the '-' rails (GND) together.
Some additional nit-picky notes about breadboarding:
1. You won't listen to this rule. Neither did I initially. Use a few different colors of wire!
It's really helpful to see where the power and gnd wires go if GND is black and 5V is
red. I wired 200 connections using only orange. When things didn't work, it was hard
to figure out where all the connections went.
2. Don't worry about super-tight wires, and don't use huge loops. When cutting and
stripping wire for breadboard connections, don't spend exorbitant amounts of time
making the wire perfectly flat. It doesn't matter. That said, don't use 9" of wire when
1" will do. Make it clean.
3. The 'making things clean' rule applies to LEDs, resistors, and crystals as well. Clip the
legs! If you've got OCD like I do, it can be hard to permanently alter a part in this
way. What if I need the legs to reach further away on a future project?! It's ok.
Resistors cost $0.005 each. If in the future, you need a resistor with full legs to reach
from point A to point B, just get a new one. It's not worth having lots of exposed legs
that could bend and short to other exposed legs.
Now with your power supply built up, turn your multimeter to voltage and check your board
voltage by probing from the Blue rail (0V or GND) and the red rail (5V or VCC).
Note: To use a multimeter you need to use both probes. Voltage refers to a potential. Using
only one probe will get you nothing because you have to compare something against
something else. In our world, we assume ground is 0V. So touch your black probe to any
ground connection. Now you can measure the voltage on any other pin with the red probe. In
the picture below, the black probe is touching the ground rail (0V), and the red probe is
touching the 5V rail - thus we are viewing the what voltage is exposed on the red probe
compared to ground. If we put both probes on the 5V rail, the multimeter would show 0V
because there is no difference in voltage between the probes.
Guess what happens when you push the black probe against the 5V rail and the red probe
against the ground rail? The multimeter will show -5V. This is because the multimeter
assumes the black probe is touching 0V. There is still a difference of 5V between the probes
so the multimeter shows -5V.
A 500mA PTC
Quick Note: PTCs are your friend! PTC = positive temperature coefficient. Beginners will
often create shorts or accidentally hook things up backwards. A PTC (also known as a
thermistor) is a device that will increase in resistance as current flows through it. These PTCs
can be designed so that at a certain current flow (let's say 500mA), the resistance increases
dramatically, thus limiting the current flow. Basically, the PTC acts as a resettable fuse! You
will want to place this device in series, before your voltage regulator. If your circuit draws
more than 500mA (if you short power to ground for instance), the PTC will heat up and limit
the current to 250mA. Once you remove the short, the current will drop back down, the PTC
will cool off and the circuit will start operating normally again. Very cool little component
that has saved many of my designs from smoking.
This is how the PTC looks in circuit. The PTC is wired in line. As the current of the circuit
flows through the PTC, it will trip if the current is too large, cutting off the rest of the system.