AN152 - Driving Solenoids with The MPQ6610
Get valuable resources straight to your inbox - sent out once per month
We value your privacy
MARCH, 2018 - Solenoids are used in many applications to provide linear or rotational actuation of some mechanical system. Although driving solenoids can be as simple as switching the current on and off, often better performance can be obtained using a dedicated IC to drive them.
This application note discusses how to use the MPS MPQ6610 half bridge driver IC to drive solenoids, employing current control for improved actuation and energy savings.
In its simplest form, a solenoid is simply a coil of wire that generates a magnetic field. But the devices we usually refer to as "solenoids" are devices that use a coil of wire and a moving core, either made of iron or sometimes a magnetic material. Applying current to the coil causes the core to be pulled or pushed relative to the coil, causing motion that is used to actuate something in a mechanical system. A typical solenoid is shown in Photo 1.
Photo 1: A Typical Solenoid
The actuating coil of an electromechanical relay is also a solenoid. These typically have a fixed iron or steel core, and the magnetic field acts upon a movable part that closes the electrical contacts of the relay.
When actuating a solenoid, a voltage is applied to the winding to create a magnetic field. Since the winding has a large inductance, the current takes some time to build. The force on the core of the solenoid is proportional to the current. So, to generate maximum force to move the core, you need to apply a high voltage to build the current quickly.
Once the motion is complete, usually a much smaller current is needed to hold the core in position. If you continue to apply the full voltage, much energy is dissipated in the winding, and the solenoid generates a lot of heat.
To solve these problems, often a constant current driver is used to drive the solenoid. The current can be controlled over time to provide ideal actuation and also limit the power dissipated to hold the solenoid in place.
The MPS MPQ6610 is a half-H-bridge driver with current measurement and regulation capability. It supports operation up to 60V and load currents to 3A, and is packaged in small 8-pin SOIC or TSOT23 packages. The MPQ6610 block diagram is shown in Figure 1.
Figure 1 – MPQ6610 Block Diagram
The MPQ6610 can regulate the output current in either direction – in other words, the other side of the solenoid could be connected to ground, or to the power supply. Current is regulated by internally measuring the current in the output stage – no external shunt resistors are needed, saving cost and PCB area compared to other solutions. The regulation current is programmed by a small external programming resistor connected to the ISET pin.
The MPQ6610 also provides the ability to measure the current, by monitoring the voltage at the ISET pin. The voltage can be measured by an A/D converter in a microcontroller, allowing diagnostic confirmation of the current flowing in the solenoid. The MPQ6610 also provides protection against short circuits, and allows the detection of open loads, using the nFAULT output.
Refer to the MPQ6610 datasheet for full details on these features.
Controlling Solenoid Hold Current
In the simplest implementation, a single resistor connected to the ISET pin will program a constant current to be driven to the solenoid. When first enabled, the output will remain active until the current builds through the solenoid’s inductance until it reaches the regulation set point. Then, the MPQ6610 will pulse width modulate the output, alternating high and low, to regulate the current at the desired point. In many applications, this is all that is needed.
To improve energy efficiency, often it is desirable to provide an initial high current to pull the solenoid in, then lower the current to a level that is sufficient to hold the solenoid in place. This saves energy and reduces heat generated in the solenoid.
Adding a few additional components to the basic MPQ6610 application circuit can accomplish this, as shown in Figure 2.
Figure 2 – MPQ6610 Reduced Hold Current Circuit
This circuit works as follows:
Initially the input signal is low. This discharges C1 through D1, and holds the ISET pin low through Q1.
The input signal goes high, which enables the MPQ6610 and drives the output high, applying the full supply voltage to the solenoid. C1 starts charging through R1. Current is sourced from the ISET pin proportional to the current flowing in the solenoid, and as C1 charges, the voltage on the ISET pin is allowed to rise.
Assuming there is sufficient current flowing in the solenoid, the voltage on the ISET pin will continue to rise until it hits the current regulation threshold of 1.5V. At this point, the MPQ6610 will start regulating the solenoid current.
The resulting drive waveforms are shown in Figure 3 below. The yellow trace is the OUT signal driving the solenoid; the green trace is the solenoid current (as measured by a current probe). You can see that initially the full supply voltage is driven to pull in the solenoid, and after a delay (the time of which is set by C1 and R1 in the circuit above), the current is reduced via pulse width modulating the output to a level set by the resistor on the ISET pin.
Figure 3 - Reduced Hold Current Waveforms
The delay time is the time that it takes for C1 to be charged to 1.5V minus the VBE of Q1, or about 900mV, through R1. This time is also dependent on the logic high voltage of the control input. For a standard 3.3V logic level, the time is approximately 0.33 x RC. So for the example above with R=100kΩ and C=2.2μF, 0.33 x RC = 75mS. This time will be shorter for a higher logic voltage, and longer for a lower logic voltage.
The regulated hold current is set by the value of R2. Since the current from the ISET pin is 100μA per 1A of load current and the regulation threshold is 1.5V, the resistor value can be calculated as R = 15 / I, where R is in kΩ and I is in amps.
Controlling Solenoid Pull and Hold Current
By adding one additional resistor, it is possible to independently control the maximum pull-in current and also the hold current. This allows a higher supply voltage to be used, to speed up the initial current ramp in the solenoid. This results in optimized mechanical performance. This is shown in Figure 4.
Figure 4 - Regulating Pull-in and Hold Current
As before, the hold current is set by R2. The addition of R3 provides current limiting during the pull-in stage of operation. Initially, when C1 is discharged, the current is set by the parallel combination of R2 and R3. As C1 charges, the current will slowly taper off until it reaches the holding current set by R2.
MPQ6610 Solenoid Drive Evaluation Board
MPS has an evaluation board using the circuit shown above to allow users to evaluate this circuit driving their own solenoids. The schematic and PCB layout is shown in Figure 5 and Figure 6.
Figure 5 - Solenoid Evaluation Schematic
Figure 6 - Solenoid Evaluation PCB
To use the board, the power supply input is connected to P1. Voltages from 5V to 60V are supported. The solenoid is connected to connector P3. The “OUT” pin will be driven to VIN to actuate the solenoid.
To use the internal slide switch to enable and disable the solenoid, leave jumper JP1 in place. A small 3.3V LDO regulator is present on the PCB to provide the logic level to enable the MPQ6610. If you want to control the circuit using an external logic signal, remove JP1 and apply the control signal to P2. The control signal can be any logic level from 2.5V to 5V, but keep in mind that the voltage will affect the time delays.
Two potentiometers are used to control the pull-in and hold current. RV1 in parallel with RV2 sets the maximum pull-in current, and RV2 sets the hold current. The hold current will always be less than the pull-in current. If you turn the pull-in current all the way up, then the pull-in current will not be limited. At the lowest setting of RV2, the hold current will be limited to approximately 300mA.
Note that the MPQ6610 has an overcurrent protection circuit that will activate between 3A and 6A. If the solenoid draws more than this current, the MPQ6610 will disable the output for 1mS, then will re-enable it.