0

Context

I have been trying for some time to control a 4.5 V bistable solenoid valve (a bistable solenoid valve is controlled by reversing the polarities) using an ATmega328P in order to be able to control a flow of water. Everything will be on battery and therefore needs to consume as little as possible.
For now, all tests have been done at 5 V powered by USB and on 3.7 V battery.

Attempts

When I directly connect the valve between VCC and GND, whether it is with USB or battery, the valve correctly open/close.

I tried using a L9110s and a L293DNE, but with the battery, the problem is that the valve only makes a slight noise, but does not open/close. It also happens from time to time with USB, but it's probably a handling error on my part.

So I think the controllers have too big losses and don't give a high enough voltage to do anything. These are of course just assumptions, I don't know enough about it to say for sure.

Regarding the connections, I did as indicated in the datasheet: L9110s datasheet wiring

By placing the valve in place of the motor and connecting one of the two inputs to the GND and the other to the VCC.

Values

I did some tests by measuring the voltage across the valve with the L9110s, as well as its current under different conditions.

In 5 V through USB

Voltage with valve Voltage without valve Current
Off 0 V 0 mA
Open 2.7 V 4.5 V 196 mA
Close -3.3 V -4.6 V 231 mA

And that work !

In 3.9 V through 3.7 V battery

Voltage with valve Voltage without valve Current
Off 0 V 0 mA
Open 1.8 V 3.3 V 140 mA
Close -2.1 V -3.5 V 150 mA

But here, it just makes little noises…

Finally

I would like to know if there is a way to increase the output voltage of the L9110s without consuming more when not in use. I had thought about using a DC-DC step up boost like this one, but the problem is that the L9110s reverses the polarities, and therefore I cannot connect my boost to the output of the latter.

10
  • Did you check how much current the valve requires? Are you sure your power supply can deliver that much current? Commented Jun 20 at 18:49
  • @EdgarBonet the current required for the valve is 500mA and the power supply is 2A so no problem. Additionally, the valve works correctly when I manually connect it between VCC and GND. So I don't think that's the problem 🥲. Thanks anyway for this remark!
    – Kinan
    Commented Jun 20 at 19:00
  • use a transistor to drive the solenoid ... many examples on the internet
    – jsotola
    Commented Jun 20 at 19:20
  • 1
    @jsotola this valve being a bistable valve, I have to reverse the polarities in order to open/close it. So I have to make an H-bridge with transistors? Isn’t that precisely the work of the l9110? I will try as soon as I have enough transistors at my disposal. Thank you for your idea!
    – Kinan
    Commented Jun 20 at 20:01
  • 1
    Please measure voltage and current of the valve when you apply control signals for all three situations, off, open, close, and edit your question to add the results. BTW; what is the reference to Arduino? Perhaps it would be better to ask this at SE/EE? Commented Jun 21 at 6:04

1 Answer 1

0

You did not yet post this question over at SE/EE, so I answer here. Anyway, it can be helpful for other Arduino users, too.


The data sheet clearly shows the saturation voltages at VCC = 9V:

Symbol Meaning Typical Unit
VHout Output high voltage 7.6 V
VLout Output low voltage 0.45 V

So you need to take about 1.8 V voltage loss into account, and this matches your measurements.

Instead of boosting the output voltage to the solenoid, which does not work as you note, you can boost the supply voltage of the L9110. According to the data of the linked booster you should be able to use it.

The supply voltage of the L9110 does not need to be the same as that of the MCU.

The data sheet says this for the inputs:

Symbol Meaning Typical Unit
VHin Minimum input high voltage 2.5 V
VLin Maximum input low voltage 0.7 V

This matches the output voltage produced by an ATmega328P at 3.6 V supply:

Symbol Meaning Typical Unit
VOH Minimum output high voltage (shall be higher than the value for the L9110) 2.9 V
VOL Maximum output low voltage (shall be lower than the value for the L9110) 0.5 V

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