I have a circuit which drives a latching selonoid valve(valve changes state for every 50ms pulse)

Below there is an easy go schematic of the circuit. Basically a 3.7V LiPo Battery supplies for 3.3V mcu regulator and a boost converter of 9V's (LM2623).

To switch the valve mcu enables the boost converter and waits for 10ms for stabile 9V. And then set drive pulses to valve driver.

When I connect the board to MSP430 Launchpad(debugger, vcc=3.5V) and in debug state; if I run the code, valve perfectly switches between state. In the switching time, voltage on coil only decreases to ~7V.

When I disconnect the debugger and run with only battery, code tries to swith the valve but, it not switches. And voltage on coil decreases till ~5v or so.

How can this extra voltage decrease can be compansated. There is already 100uF connected to valve driver supply.


simulate this circuit – Schematic created using CircuitLab


You can calculate the required capacitor from:

C= \$\frac{I \cdot T}{\Delta V}\$

Where I is the coil current, T is the pulse time, and \$\Delta V\$ is the allowable voltage droop.

For example, if the current is 1A, the allowable droop is 1V and time is 50ms, then a 50mF capacitor (50,000uF) is required. Naturally, a larger capacitor will take more than 10ms to charge if the battery cannot supply enough current to hold the supply up for 50ms.


I answer myself:

Basically as described I was wait for 10ms to stabilize 9V output. But after @Spehro Pefhany's comment. I re-inspected with oscilloscope and I saw It was not reaching to 9V's.

To be sure I made a delay of 750ms and inspected on scope. And I saw It was taking ~100ms to reach stabile booster output voltage and charging of capacitors. Therefore it started to latch the relay.

Here is an scope inspection(booster configured to 11.8V) :

enter image description here


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.