I am working on a project where i need to measure the battery voltage and send the measurement to a uC, which is powered by 3.3V.

The voltage divider is projected as shown before: enter image description here

As input we have the battery voltage (4.2V maximum) and as output, our goal is to have 3.3V (maximum) that is read by the uC.

The problem is that when I connect the zener diode, as output voltage I have 1.55V instead of 3.3V, while if I connect only the resistance and capacitance I have 3.3V.

Does anyone know the cause of this?

The electrical characteristics of zener dioce are in the following picture: enter image description here

  • \$\begingroup\$ didnt you just shorted the V_Batt with V_Batt i mean TP7 is shorted to the battery in altium ? \$\endgroup\$ – Hasan alattar Apr 17 '19 at 14:03
  • \$\begingroup\$ @Hasanalattar V_batt is sent to uC (Analogic Input). \$\endgroup\$ – Alessandro Apr 17 '19 at 14:05
  • \$\begingroup\$ try to make 127K resister less as i can see that zener has leakage current i belive your resister is too high .. (4.2-3.3)/127k = 7uA which will go through both zener and R18. im not showing the real calculations here but i believe that this is the problem. \$\endgroup\$ – Hasan alattar Apr 17 '19 at 14:08
  • \$\begingroup\$ yeah but what i mean is that you should have two different naming (V_batt) as the battery terminal and the (V_batt) as the mcu analog pin \$\endgroup\$ – Hasan alattar Apr 17 '19 at 14:14
  • 2
    \$\begingroup\$ If the role of the zener is to clamp the ADC input to 3V3, there are other circuit techniques to accomplish this. A low voltage zener has too soft of a breakdown curve and will always load the divider network. \$\endgroup\$ – sstobbe Apr 17 '19 at 14:53

The values of resistor R17 is too high, this means only small currents can flow. The zener diode isn't ideal, it also leaks current. Perhaps the current through R17 and the zener's leakage current are in the same order of magnitude preventing "good zener" behavior.

Let's calculate:

When Vbat = 4.2 V and the zener would work there would be 3.3 V at the output. So across R17 we get 4.3 - 3.3 V = 0.9 V. That means a current of 0.9 V / 127 k = 7.1 uA.

Hmm, only 7.1 uA, that's quite close to the leakage current of the zener diode. See \$I_R\$ in the table in your question, it is 5 uA so quite close to the 7.1 uA that would flow through R17 if all worked well.

Also note the value of \$I_{ZT}\$ in the table, it is the current which the zener diode needs to have a proper zener behavior. Using a higher current is also OK. To get the 5 mA from the table, the value of R17 needs to be substantially lower. In the order of 180 ohms !

  • \$\begingroup\$ Very clear. Thank you so much. \$\endgroup\$ – Alessandro Apr 17 '19 at 14:09
  • \$\begingroup\$ @Bimpelrekkie, i think your last paragraph doesnt make sense to much because the desired here is not regulating at IZT right? to make it 100uA would work right? \$\endgroup\$ – Hasan alattar Apr 17 '19 at 14:12
  • \$\begingroup\$ @Hasanalattar You could indeed choose 100uA but you would not get the specified zener voltage of 3.3 V. The manufacturer guarantees the specified behavior at 5 mA, if you deviate from that, you will get a different behavior. It is possible that the datasheet shows the zener voltage as a function of current. If it shows 100 uA and a suitable voltage then you can use 100 uA if you want. \$\endgroup\$ – Bimpelrekkie Apr 17 '19 at 14:37
  • \$\begingroup\$ @Bimpelrekkie yes i understand and 100uA will work below knee point. but he is not regulating.. he is measuring .. \$\endgroup\$ – Hasan alattar Apr 18 '19 at 16:03

The 3.3 V Zener diode does not have always 3.3 V on it.

The nominal voltage on the zener diode is only achieved at a specific current – see \$I_{ZT}\$ being 5 mA in your image. If the current is smaller, the reverse voltage of the diode will drop too. Looking at R17, there can be no more than 25 uA going through your diode.

Most datasheets show a graph between current and reverse voltage.

  • \$\begingroup\$ Thank you so much. \$\endgroup\$ – Alessandro Apr 17 '19 at 14:09

At 4.2V you have ~7uA of current flowing into the resistor divider. Look at the reverse leakage current Ir@Vz for that diode. The datasheet says it can leak 5uA at 1V. This is reducing your voltage because it is leaking current to ground. Zeners are a bad choice for this. I'm assuming you are trying to protect the micro controller. You are better off adding a low leakage diode BAV199 with the anode tied to the voltage divider node and the cathode tied to the supply voltage of your micro controller. As BAS40 might work as well if the board doesn't get too hot, leakage will be higher but forward voltage is lower and it will clamp sooner. Anyway, this will clamp the voltage to 3.3V plus the diode drop and keep the micro controller ESD diodes from forward biasing and damaging your part. Most micro controller datasheets tell you the absolute maximum a pin can take (See Absolute Maximum Ratings in the datasheet). It is usually Vcc plus 0.3-0.5V. This is because they don't want the internal ESD diodes forward biased all the time. They are designed to take short ESD hits, not be forward biased all the time.

Proposed Solution Clamps at ~3.5V

enter image description here


One can scale the battery "voltage guage" with an offset to improve resolution or use an R divider with a clamp.

This is how Zeners ( and LEDs) work. The Vf depends on the applied current and the tolerance on bulk resistance, Rs above some knee current =Izk.

enter image description here

If you know the characteristics, one could do this with a Zener or LED or a couple signal diodes using the Zener specs which I have converted to a linear formula that works < 10:1 current range.

This just shows a 2V Zener or LED.


simulate this circuit – Schematic created using CircuitLab

This is just another way to measure voltages above the max input range, over a limited range.

I assume you may want to minimize this current from battery drain, so factor the reduced voltage on the diode using the diode linear resistance down from rated current.

Vzt ( Zener Test voltage) @ 5mA
Vzk ( Zener knee voltage) @ 0.5mA

Reducing the Zener current to 0.5mA also reduces the Zener knee voltage by 0.5V from the rated nominal value and is close to the 2.8V.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.