Drive a single-coil latching relay without an H-bridge circuit
Single-coil latching relays find use in signal-routing, audio, and automotive systems. To maximize their usefulness and cut power consumption, these coil currents must flow in both directions. Current flowing from the latching relay's positive pin to the negative pin causes it to latch in its reset position. Current flowing from the negative pin to the positive pin latches the relay in its set position. The relay maintains its position even when you remove the coil current, which saves power after the relay latches.
Latching relays have advantages over classic relays because, as soon as the relay switches, it remains in that position without consuming energy. Thus, no current consumption means less heat, smaller heat sinks, and a dramatic increase in battery life for portable devices. In some cases, the use of a latching relay lets your greatly simplify a circuit.
Although latching relays boast significant advantages over classic relays, their use appears limited to niche applications because they require more attention to design details. In general, a latching relay's drive circuit is slightly more complex than that of a classic relay. The traditional approach to driving a latching relay is to use an H-bridge circuit, which can be costly and difficult to handle. In addition, you must design a demagnetization circuit using a special resistor to limit the current in compliance with the manufacturer's specifications.
Figure 1 shows a simple circuit using the MC9S08QE128 microcontroller from Freescale to drive a Finder 40.61.6.005 single-coil latching relay with a standard ULN2003 Darlington driver with open-drain outputs and inductive-kickback protection. Clamping diodes on each ULN2003 output pin catch high-voltage transients that occur when you interrupt the coil current. Because demagnetization uses low-value resistors, you must wire at least two open-drain buffers of the ULN2003 to both endings of the relay coil to ensure enough current when the microcontroller pulls down.
Listing 1 shows the software procedure to latch the relay to its set or reset position by turning on the corresponding microcontroller output for at least 50 msec. The current flows into the ULN2003 open-drain output and latches the relay to its set or reset position, according to the direction of the coil current. As soon as the relay latches, drive the corresponding microcontroller output low to turn off the ULN2003 open-drain buffer to ensure the lowest power consumption. You must, however, take into account the set/reset timing. Pull the microcontroller output low only after the required time has elapsed. Waiting ensures that the relay will properly latch to its intended position.