Browsed by
Category: MISC

Expanded Scale Analog Meter Circuit

Expanded Scale Analog Meter Circuit

I am putting in a small scale solar system with a 24VDC flooded lead acid battery bank for back up power. I want to make a low power consumption expanded scale analog meter circuit to monitor the battery bank voltage of my system. The expanded scale allows me see the voltage range that I am most concerned about between 21V to 30V and that gives me about three times the resolution on the meter face.


While searching for circuit ideas I found this website “The Back Shed” and I liked the simplicity of the circuit that they presented on their site (this is the circuit from their site). I tried to make the circuit but found that the response was not very linear.






The problem with this circuit is that the current going through the Zener diode changes as the voltage input to the circuit changes (I=V/R) because it uses a simple resistor current limit.

Zener diode voltages are specified at a set current in the datasheet. In this Zener diode curve, Izt is the current where the Zener voltage Vz is specified, if you change the current through the Zener diode the voltage changes.

Zener Diode Curve
Zener Diode Curve












I wanted an expanded meter with a fairly linear response. So after thinking about the linearity issue with the Back Shed circuit and how it was related to the current changing in the circuit, I decided to revisit our old friend the current limit circuit I blogged about previously.

I modified the current limit to pull about 1.5mA through the circuit and added Zener diodes in place of the LEDs.

Expanded Meter Circuit
Expanded Meter Circuit

(To get a larger image, click image, then click image on the following page) So here is how this circuit works: For voltages below 21V the Zener diodes are off and there is no current flowing in the meter path of the circuit. Somewhere around 21V the Zener diodes crack over their knee voltage then current starts flowing in the circuit. The current limit circuit turns on and starts to drop voltage across the 2N7000 NMOS FET. As the voltage going into the circuit rises the current limit circuit causes the NMOS to drop any voltage not going through the Zener and current sense resistor. The Zener diodes drop a fairly constant voltage in this circuit because the current limit circuit is holding the current at a fairly constant rate. Since the 10VDC panel meter is measuring the Voltage across the NMOS it displays any voltage over ~21VDC on the meter face. The battery bank voltage should not go over 30VDC , unless there is something wrong with the charge controller, so hopefully we never see the meter at 32V.

(Note: instead of the 400 Ohm resistor in the schematic I used a 1K trim pot in series with 200 Ohms) (Also for the meter I bought a cheap 10VDC panel meter from E-bay, $5.99 including shipping)

This circuit still has the drawback of the temperature coefficient (TC) of the Zener and also the temperature effect of the VBE on the transistor that will have an over all effect on the accuracy with temperature. The temperature error is a very small (around 0.08%/degree C, for a change in room temperature of 65F to 75F you would see an error of less than 0.1V) and that small of an error really does not matter to me. If you are concerned with having a more accurate meter over a large temperature range, you can use a combination of Zener diodes with a positive and negative TC. An example would be to use four 1N5222B (TC=-0.085%/C) and a 1N5242B (TC=+0.077%/C) .

I took the 10VDC panel meter apart and scanned the face in on a flat bed scanner at 600DPI then modified the the scan with GNU Image Manipulation Program (GIMP) and reprinted it at 600 DPI onto a shipping label sticker. Placed the sticker onto the meter face cut the edges of the sticker off then put the meter back together. The following picture was the first pass:

Expanded Meter Face Rev1
Expanded Meter Face Rev1








After I put the circuit to the meter I found it was a little off ( this is was really no surprise, since Zener diodes are +/-5%, but it was a lot closer than I expected) so I had to calibrate the meter with one more graphic spin in GIMP. To calibrate the meter face with the actual DC voltage reading. I put the expanded scale meter in parallel with a digital multimeter, made little tick marks on the meter face for the voltages.

Meter Face Calibration
Meter Face Calibration









I ended up with a graphic like this.  ( Note: I highlighted the 28.8V mark since this is where my charge controller will push the battery bank to at the bulk charge phase) ( the 30VDC mark is also important for when I equalize the battery bank)

Final Expanded Scale Meter Face
Final Expanded Scale Meter Face









And here is picture of the meter hooked up with a power supply and a DMM to verify operation.

Expanded Meter in Operation
Expanded Meter in Operation
Product Road Test – TI eZ430-F2013 Development Tool

Product Road Test – TI eZ430-F2013 Development Tool

I just received the MSP430 Ultra-Low Power MCUs eZ430-F2013 Development Tool made by Texas Instruments from Newark to Electronic Components for a product road test.

TI usb development tool
TI ez430-F2013 usb development tool


This is a complete USB based development tool for about $23.00, that includes all of the required hardware and software to start a MSP430F2013 low power micro-controller project. It features:

  • eZ430-F2013 development tool including a USB debugging interface and detachable MSP430F2013 target board
  • eZ430-F2013 target board
    • LED indicator
    • 14 user accessible pins
  • eZ430 debugging and programming interface
  • Removable USB stick enclosure
  • Includes IAR Kickstart and Code Composer Studio which include an assembler, linker, source-level debugger and limited C-compiler
  • Full documentation on CD-ROM
eZ430 dev. board with removable daughter card
eZ430 dev. board with removable daughter card


The USB stick comes in an easy to remove case that you pry open at the corner. The MSP430F2013 is mounted on a removable daughter card. The daughter card has test points that allow access to all of the pins of the MSP430F2013.

The MSP430F2013 features:

  • Low Supply Voltage Range 1.8 V to 3.6 V
  • Ultra-Low Power Consumption
    • Active Mode: 220 µA at 1 MHz, 2.2 V
    • Standby Mode: 0.5 µA
    • Off Mode (RAM Retention): 0.1 µA
  • Five Power-Saving Modes
  • Ultra-Fast Wake-Up From Standby Mode in Less Than 1 µA
  • 16-Bit RISC Architecture, 62.5-ns Instruction Cycle Time
  • Basic Clock Module Configurations:
    • Internal Frequencies up to 16 MHz With Four Calibrated Frequencies to ±1%
    • Internal Very Low-Power Low-Frequency Oscillator
    • 32-kHz Crystal
    • External Digital Clock Source
  • 16-Bit Timer_A With Two Capture/Compare Registers
  • On-Chip Comparator for Analog Signal Compare Function or Slope A/D
  • 10-Bit 200-ksps A/D Converter With Internal Reference, Sample-and-Hold,
    and Autoscan (MSP430F20x2)
  • 16-Bit Sigma-Delta A/D Converter With Differential PGA Inputs and
    Internal Reference (MSP430F20x3)
  • Universal Serial Interface (USI) Supporting SPI and I2C
    (MSP430F20x2 and MSP430F20x3)
  • Brownout Detector
  • Serial Onboard Programming, No External Programming Voltage Needed,
    Programmable Code Protection by Security Fuse

In the coming weeks we will be testing the development system. We will post some sample code for our project also.

Simple LED Constant Current Circuit Uses Four Discrete Components

Simple LED Constant Current Circuit Uses Four Discrete Components

I need to add an active current limit to the LEDs from the previous post. The main reason for the current limit is so that the brightness of the LEDs remains uniform across the lead acid battery voltage range of 11.8 to 14.4V. The circuit I am using is a very simple and only uses 4 components to limit current.
See the schematic here:(to see a bigger version of any of these pictures click the image, then click the image on the following page, it is a weird wordpress issue)

The circuit functions as follows:
For this example we will set the current limit at 100mA so R2 is 6 Ohms.
The NMOS is turned on when the voltage from Vin through R1 exceeds the NMOS Gate threshold level. As voltage at Vin rises so does current through the circuit and so does the voltage drop across R2. The current limit kicks in when the R2 voltage drop exceeds the base voltage threshold (VBE) of approximately 600mV on Q1. So if the current limit is set for 100mA the voltage across R2 = 6 Ohms * 0.1A = 600mV. When Q1 turns on it starts to pull the voltage down at the gate of the NMOS causing the FET to go into its linear region, this limits the current through the circuit. The NPN transistor is so much faster than the NMOS that there is no problems with oscillation in the circuit ( this assumes that the circuit is built properly with the current limit components in a very tight group )

There is one more ‘benefit’ to this circuit. If you want some limited form of over heating protection for your load circuit you can place the transistor next to the hottest part of the load. The VBE of the transistor will drop as it heats up, effectively dropping the the current limit in the circuit, this will all depend on the current in the transistor and the temperature. The greatest analog guru of all time Bob Pease wrote an article that explains VBE in detail just click here to read What’s All This VBE Stuff, Anyhow? Of course if you want to keep your current limit circuit constant keep the transistor away from the heating of the load.

Here is a simulation run of the circuit: Red line is the current going through the LEDs and R2, Blue line is the Voltage into the circuit ramped from 0 to 14.4V in 20mS, Green is the gate voltage of the NMOS, Light blue is the Voltage across R2 and at the base of Q1.

This circuit can be used for a constant current source / sink for LEDs and laser diodes (the circuit can be used on the high or low side of a load). It can also be used anywhere a current limit function is needed.

The NMOS can be just about any N-Channel FET that is rated for 1.5X the voltage of the circuit, 2X the Wattage of the circuit and at least 2X the current of the circuit, and should have a reasonable RDSon. The FET may need to attached to a heat sink, if you plan on running more than a 1/4 Watt.

The current limit function comes into play only if the input voltage is high enough to meet the following:

Vin > Load Circuit Voltage Drop + ( NMOS RDSon * Ilim ) + ( R2 * Ilim)

Here is an example of the current limit setting a constant current for two different voltage levels:

For example A the current limit is set for 30mA and is barely on with just 0.7V dropping across M1. This is derived with : 11.8V Vin – (LED forward voltage 3.5V at 30mA * 3 LEDs) – 0.6V across R2
The power dropped on M1 = 0.7V * 0.03A = 21mW

In example B the lead acid battery is fully charged and the power drop is at it highest with the power dissipated on M1 = 4V * 0.03A = 102mW

An LED Daylight Sensor with PWM Brightness Control

An LED Daylight Sensor with PWM Brightness Control

This blog adds a PWM brightness control to the circuit from the previous post A Quick and Simple LED Daylight Sensor.

I have added a 555 timer circuit to give the LED daylight sensor circuit PWM brightness control. See the schematic here:
(to see a bigger version of any of these pictures click the image, then click the image on the following page, it is a weird wordpress issue)

Adding a variable PWM control to the previous circuit only uses eight more components.

Using the 500K potentiometer the PWM can be set for ~1% to ~99% duty cycle.

I have also increased the resistance going to the photo-transistor to further reduce the off state current draw and increase the dark sensitivity ( the circuit turns on later, when it is darker, and back off earlier in the morning ).

Since I am running my circuit with the PWM duty cycle set to 30% I have increased current to the LEDs to get more light out with less average current draw ( Note the 68 Ohm resistor that were 100 Ohms in the previous circuit ). The LEDS appear brighter because of persistence of vision from the human eye.