Embedded Systems/Low-Voltage Circuits

< Embedded Systems

Low voltage circuits, in this field of consideration can essentially be considered circuits that never exceed the pin voltage (or exceed it by small amounts). If the voltage goes higher, or if we keep our current under control, we risk damage to our embedded systems.

Example: sensorEdit

As a simple example we would like to measure the temperature.

The simplest and one of the cheapest ways to measure the temperature is to use a thermistor connected to GND, a resistor connected to VCC, and connect the other ends of each to the analog input pin of a microcontroller.

Because the thermistor and resistor are connected to the same power supply as the microcontroller, we can guarantee that the signal voltage is no higher than the VCC of the microcontroller, and no lower than GND. Because the analog input pin of a microcontroller inherently has high input resistance, we can guarantee that very little current flows. So in this case, we don't need any other components to protect the microcontroller from damage.

Example: Lighting LEDsEdit

As a more complex example we would like to light a LED (light-emitting diode) from an output pin on an embedded computer. Consider that our output pin can source 20mA at +5V. Our LED is green, which implies a forward voltage drop of about 2 V. However, we also need to consider that our LED requires at least 10mA to light, and our LED can not exceed +20 mA. If the current through the LED gets too high, the LED could pop (it's an actual pop, cover your eyes).

Using ohm's law on the pin, we can find the minimum resistance for the circuit:

Now, if we use Ohm's law on the diode, we can figure out the maximum resistance (the resistance that makes the LED not light up).

So we know that our resistance, r, needs to be between 150 and 300 Ohms. Any less than that, and we can permanently destroy the LED or the microcontroller (or probably both). Any more than that, and no damage is done, but the LED will be too dim to see.

further readingEdit