Intro: Voltage Clamp for Arduino Using Zener Diode, PTC, and an NPN Transistor
Here is a simple power (voltage) clamping circuit that can help protect components and microcontrollers from overvoltage which can be generated either by plugging in the wrong DC adapter, wrong battery, or pressing the wrong button on your power supply and sending 30V through them.
It uses a Zener diode as a voltage regulator and will draw no extra power while the voltage remains below the zener breakdown.
Unlike a crowbar, the circuit does not normally need to be reset once the zener is triggered and will return to normal unobtrusive operation once the excess voltage is removed.
A Zener diode placed across the input power supply is often used for overvoltage protection. Unfortunately, the zener can easily be smoked if too much current is allowed to flow though it once the breakdown voltage is exceeded.
Adding a high-power transistor to the circuit allows the excess current to be at least partially diverted to ground.
The performance of the clamp circuit depends on the power rating of the transistor. If the Collector Current (DC) rating is high enough, the clamp circuit performance is good; otherwise you could see some heat dissipation problems develop or even smoke, if you exceed the transistor voltage and current ratings by too much.
Step 1: Parts List
- RXE025 - 250 mA PTC Resettable Fuse
- Zener Diode – 5V6, 1 Watt
- Resistor – 1K Ohm, 1 Watt
- Transistor – BD139 (NPN Medium Power – 80V, 1.5A CC Rating)
Step 2: The Schematic
The PTC (here the RXE025), functions by limiting a potentially damaging overcurrent.
High currents may be encountered whenever electrical equipment such as power supplies are turned on. Because excessive inrush currents can damage or destroy sensitive components, we’ve taken this inrush current limiter (ICL) protective measure. Here with a max 72V and 40 A rating, the RXE025 has no problem limiting the initial voltage and current surge.
The 5V6, 1 Watt Zener would normally fry when a high voltage with high initial current is applied, but with the PTC and the Transistor to help offload these surges, it has no problem.
The NPN Transistor is the BD139 with an max voltage of 80V, a collector current of 1.5A and a max peak collector current of 3A.
There are many others available including the BD911 which has a max voltage rating of 100V and a collector current rating of 15A, when and if it is required.
Step 3: Test
For a demo, we use a home-built 3.3V Atmega328PU-16M Arduino clone, powered by an MCP1703.3302. It comes complete with an 8Pin Female socket wired for any of the nRF24L01+ boards and sports dual barrel-power inputs. One barrel is for an AC adapter while the other is for a battery. The arbitration logic: the higher power wins while the other is locked out via diode.
With no Leds or any other extraneous add-ons, this puppy has a quiescent current draw of 27 uA and is perfect for battery operated sensors or actuators.
I keep a stock of these, but recently had a minor problem when I inadvertently ran 30V from my power supply through one. The MCP1703 made an interesting POP along with a short flame-up and was shortly thereafter pronounced dead. Hence, the motivation for this circuit.
It will be running a short sktech which sleeps for 1 second, wakes, transmits a message with ID = 9 and an increasing sequence number, and then goes back to sleep. A monitor program will be running on a Windows machine which will receive these messages and then display them.
Step 4: Voltage Clamp - Test
The Voltage Clamp Test (Video)
- Arduino clone power barrel is connected to Voltage Clamp power rails
- The voltage clamp power rails are connected to a DC Bench Power supply (set to 6V and 2.5 Amps max.)
- The voltage clamp power rails are also connected to a multimeter to read rail voltage and/or current
- Initial readings reflect that the Zener Diode has not yet reached breakdown, power supply shows 6.0 volts and 0.00 current, multimeter shows 6.01 volts.
- The bench power supply voltage is cranked up to 24V DC and the current flow initially spikes and then subsides.
- The voltage on the multimeter now reads 6.33-4 as the Zener is now regulating the voltage and overcurrent is being passed on to the Transistor
- The bench power supply is readjusted back to 6 Volts
- The current flow returns to 0.00 on the bench supply as the Zener is no longer in saturation so there is no longer current flow to the transistor
- The multimeter again displays 6.01V
- The bench power supply is now turned off, the display shows the 2.5A programmed maximum current setting
- The bench supply test voltage is now cranked up to max. 30 Volts
- Before the bench supply is turned back on, the multimeter shows 0.00V.
- The bench supply is turned back on and the current spikes before being controlled by the Clamp circuit
- The multimeter again shows 6.34 V as the voltage is again being clamped.
- The supply is again reset to 6.0V, current flow goes to 0.00 and the multimeter again shows 6.01V.
- During the testing, not a single message from the Arduino Clone to the monitor was missed.