6
\$\begingroup\$

Please read the question to the end. The answer to this question may be non-trivial.

Replacing a number of 2-coil latching relays with single coil latching relays to save space on the board. The trouble: single coil relays are a lot more trouble to drive with the current reversal requirement.

Currently low-side switches such as darlington arrays or mosfets are doing the work and they cost pennies. Here are the common solutions I've thought of which do not work in our case:

  1. An array of h-bridges: Too expensive and not enough room on the pbc board.

  2. The method shown in the picture below (from Maxim) for every relay driven by two low-side switches: The relay coil voltage is close to Vcc (3V) which yeilds low R values and a total current draw above what the PS can provide. Low Side coil switching

  3. Capacitor Charge and discharge drive: This method requires large capacitors that are physically too large to fit in the enclosure (defeats the purpose of using single coil relays).

  4. An array of analog switches (one per coil as an on/off switch and two to flip Vcc and Gnd and reverse pol): This might work, however analog switches with low on-resistance are expensive compared to low-side mosfet or bjt switches.

What other solutions are recommended in this case?

\$\endgroup\$
6
  • \$\begingroup\$ Are you sure about the unavailability of small H-bridges? What's the coil voltage and current? Is it all 3V? \$\endgroup\$
    – pjc50
    Nov 5, 2013 at 22:30
  • \$\begingroup\$ Personally, I find method 2 the best. The current spikes won't be much of a problem IMO, since they are relatively short and non-periodic (am I right?) \$\endgroup\$
    – Dzarda
    Nov 5, 2013 at 22:46
  • \$\begingroup\$ @pjc50 no, I'm not sure. Even parts like this one might work well since they can be chained. Cost is still a concern. \$\endgroup\$
    – MandoMando
    Nov 6, 2013 at 1:12
  • \$\begingroup\$ @Dzarda well you'll need ~300mA to drive a ~50mA coil with the given ratio of Vcc to Vcoil. The PS can only provide ~120mA and even with 1000uF caps it's still marginal. For this design, that method is not very good. \$\endgroup\$
    – MandoMando
    Nov 6, 2013 at 1:16
  • \$\begingroup\$ @MandoMando Could you provide a link to a datasheet for the relay? \$\endgroup\$
    – Tut
    Nov 20, 2013 at 11:13

8 Answers 8

3
+50
\$\begingroup\$

One approach would be to control N relays using N+1 half-H-bridges. One of them connects to one wire which is common to all the relays, and the others connect to one relay each. A variation on this would be to arrange the relays into a matrix, with a half-H driver for each row or column (the N+1-half-bridge solution is simply a 1xN matrix). One caveat with this approach is that other relays--especially those in the same row or column as the driven relays may receive a substantial fraction of the drive voltage. In an NxN matrix, the voltage fraction will be (N-1)/(2N-1), which would be 1/3 for a 2x2 matrix, 2/5 for a 3x3 matrix, and would approach 50% as a matrix got bigger. For a non-square matrix, things would be worse.

If you can be sure that relays will not fire unless they receive more than half the rated drive voltage, a square matrix approach might work. Even the relays which don't fire would gobble significant current (as the matrix gets bigger, the voltage across the relays in the same row and column as the driven row would approach half the drive voltage, so figure current similarly); if one used an 8x8 matrix, the total current gobbled by the inadvertently-driven relays would be about 7x the current going to the deliberately-driven one. Not great, but being able to drive 64 relays with 16 half-bridge drivers might be worth it.

\$\endgroup\$
6
  • \$\begingroup\$ That's a much better approach. The issue is that half bridges are still pricey. If you have an inexpensive way of driving a DMG1016UDW matched pnmos with a single mcu pin, we're done. Unfortunately, pennies count. \$\endgroup\$
    – MandoMando
    Nov 19, 2013 at 2:46
  • \$\begingroup\$ That might be as simple as connecting the two (MCU pin and your integrated complementary MOSFETs), depending on your requirements and your MCU's driving capability. Note that the DMG1016UDW's datasheet guarantees 0.6Ω (n-side) and 1.05Ω (p-side) on-resistance even with just +/- 2.5V gate voltage at 25 degree Celsius. Maybe that is already good enough? Of course, for the single common-to-all half-H-bridge you'll want a more robust (and less resistive?) solution. \$\endgroup\$
    – user30985
    Nov 20, 2013 at 6:03
  • \$\begingroup\$ @pyramids yes, driving with 2 pins it is simple. However, there are not enough available pins (and IO expander is not in the budget). I have posted another question for that which is still open. \$\endgroup\$
    – MandoMando
    Nov 20, 2013 at 15:26
  • \$\begingroup\$ Then why don't you drive with one pin? The n-channel FET conducts when the pin is high and the p-channel FET when the pin is low. This allows you to drive n relais with (n+1) pins, one pin for each relais' individual half bridge, and an extra one for the common half bridge. \$\endgroup\$
    – user30985
    Nov 20, 2013 at 15:40
  • \$\begingroup\$ @MandoMando: You didn't specify how many relays you have, but many kinds of demux or shift register chips are pretty cheap. If you have, e.g., 16 relays and can afford the current draw of putting them in a 4x4 matrices, you could use one octal high-side driver chip (or eight PFETs) and one octal low-side driver chip (or eight NFETs), and a couple of 3-to-8 decoder chips (perhaps one active high, one active low) to turn six I/O pins into a relay control (four bits relay selection, one bit polarity, and one bit enable). Add a shift register and you can reduce the I/O further. \$\endgroup\$
    – supercat
    Nov 20, 2013 at 16:04
7
\$\begingroup\$

Someone asked a question about a mystery circuit here a while ago, that lead to a pretty damn clever way to single-coil latching relay with one IO line.

enter image description here

the 100Ω resistor is the relay-coil. Note that you will need to size the capacitor (220 uF in the image) to properly drive your relay coil, and you should test the circuit with a fairly worn-out relay, in case the required coil current increases as the relay ages.

Image is a link to a simulation of the circuit.


FWIW, I think your design constraints as you have outlined in the question are kind of ridiculous. You've pretty much ruled out all the ways there are to drive relays.

  1. An array of h-bridges: Too expensive and not enough room on the pbc board.

    You can't afford 4 cheap BJTs? How can you afford the relays? You do know you don't need to buy pre-built ICs for this, right?
    Since you really don't need much current gain, you can always build your own h-bridge using two NPN transistors, and two PNP transistors. It sounds like you're only looking at ICs for some reason.

    Also, it sounds like you really haven't done much shopping in this area. You can buy low-power integrated H-bridge ICs for ridiculously low prices. For example, the LV8548MC-AH is a dual h-brige driver IC for $1.41 each in single quantities. The MPC17C724 is similar, and is $1.15 in single quantities (though a slightly less easily assembled package).
    Each of these devices could drive two relays.

    If you're really, REALLY price constrained there are even cheaper alternatives out of china, but in that case, why are you using expensive latching relays?

  2. The method shown in the picture below (from Maxim) for every relay driven by two low-side switches: The relay coil voltage is close to Vcc (3V) which yeilds low R values and a total current draw above what the PS can provide.

    This seems like a really silly way to drive the relays. The only reason I can see for doing this is if you have to use a demultiplexer to drive the relays, and can therefore only set one IO line low at a time.

  3. Capacitor Charge and discharge drive: This method requires large capacitors that are physically too large to fit in the enclosure (defeats the purpose of using single coil relays).

    How small are your relays? I've shopped around a fair bit for latching relays, and I don't think I've seen any that are even similarly sized to reasonably priced large-value low-voltage capacitors.

  4. An array of analog switches (one per coil as an on/off switch and two to flip Vcc and Gnd and reverse pol): This might work, however analog switches with low on-resistance are expensive compared to low-side mosfet or bjt switches.

    This is going to be MUCH more expensive then the H-bridge option, and offer negligible benefits.

\$\endgroup\$
11
  • \$\begingroup\$ Care to explain how this allows the relay coil to be driven in either polarity? I see how the 220uF capacitor would give it a pulse but I don't see how the direction of the polarity changes. \$\endgroup\$
    – akohlsmith
    Nov 18, 2013 at 20:37
  • \$\begingroup\$ @akohlsmith - Click the image, and have a poke around with the simulation. The TL;DR version is basically the cap is either charged, or discharged through the relay coil, with the current going through the relay in opposite directions for each operation. \$\endgroup\$ Nov 18, 2013 at 20:40
  • \$\begingroup\$ The functionality isn't immediately apparent. \$\endgroup\$ Nov 18, 2013 at 20:44
  • \$\begingroup\$ Links disappear over time, and this site tends to favour answers which can stand on their own rather than click-throughs to do the explaining for them. I appreciate the TL;DR explanation. I intend on poking around the sim tonight. \$\endgroup\$
    – akohlsmith
    Nov 18, 2013 at 20:45
  • \$\begingroup\$ @akohlsmith this is the capacitor charge/discharge method #3 in the question. The polarity reverses during discharge cause by pin state change. \$\endgroup\$
    – MandoMando
    Nov 19, 2013 at 1:15
2
\$\begingroup\$

Number 2, in my oppinion, is the way to go. When you're saying that you are rather limited on the power supply side, perhaps you could add a resistor in series after the power supply, so that you don't load it too much. This would of course require some rather large capacitance to be placed after the resistor.

Please forgive the ascii art schematic, CircuitLab is not working as expected let's say...

V+ ---\/\/\------ To Relays
               |
              ___
              ---
               |
              GND

You're saying that you are also limited regarding the size of the device. The capacitor does not have to have gazilion Farads, a few hundred micro would do in my opinion. How big these relays are / How much current do they need to latch in?

\$\endgroup\$
1
  • \$\begingroup\$ See my response comment above and thanks for reading it through. The coil is 50mA and needs to stay on for 8ms to latch. A 330uF is the largest that fits. The resistor idea is cool anyway. \$\endgroup\$
    – MandoMando
    Nov 6, 2013 at 1:21
2
\$\begingroup\$

This is an old topic, but I hope my answer is still useful.

The schematic below shows how to drive a single-coil latching relay from one logic pin, provided that there is a symmetric power supply for the relays. I don't know whether such a supply could be made available by the original poster, but if so the circuit can be built very cheaply.

The circuit can be adapted to circumstances by selecting the appropriate values for the resistors and the capacitors, depending on the logic voltage, the available current from the logic output, the relay coil voltage, and the required duration of the pulse. R1 & C1 determine the pulse duration, while R2 determines the base drive current for Q1 or Q2.

Relay voltage and logic voltage can be chosen independently, the 12V for the coil I've shown is just an example. Also, the ground potential for the logic and for the relay can differ to a certain extent.

The transistors will switch off relatively slowly, therefore there's a good chance that freewheeling diodes for the coil won't be necessary. Check the circuit with the actual relay in order to determine the resulting pulse shape.

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
1
\$\begingroup\$

Similar to your option 4:

Look at a TS3A5223RSWR 0.45Ω Dual SPDT Bidirectional Analog Switch from TI:

enter image description here

This device will operate with supply voltages up to 3.6V. Note maximum DC current is +- 300mA and VIN-MAX is 4.3V (Absolute Maximum Ratings)

Wire it like an H-bridge: Connect the coil across the COM1 and COM2 pins. Connect NC1 and NC2 to your positive coil supply (via current limiting resistor if needed). Connect NO1 and NO2 to GND. Use the truth-table in the data sheet to control direction and ON/OFF (probably using 3.3V logic).

If you wish to control the direction with a single I/O, you could connect NC1 and NO2 to your positive coil supply (via current limiting resistor if needed) with NC2 and NO1 connected to GND. You would then tie SEL1 to SEL2 and connect this to your I/O. With this method, you would need to control ON/OFF with another device (possibly a single device for all coils).

Note that this device features break before make so shoot-through is not an issue.

Being in a tiny 1.8 x 1.4mm QFN-10 package, it is very economical in terms of space. At $0.213 (US Dollars, 1000 piece price - Avnet - 11/18/2013), it is not overly pricey.

Note that since you are switching coils, you should clamp the voltage on each end of the coils to the supply and GND (DC common). Although the pins are ESD protected, the datasheet mentions that you should not rely on that for normal conditions beyond the Absolute Maximum Ratings.

\$\endgroup\$
2
  • \$\begingroup\$ @pyramids I believe the comment that you got the 300mA figure was in regards to method 2. If you look at that comment again, you will see the OP is talking about ~50mA coil. \$\endgroup\$
    – Tut
    Nov 20, 2013 at 11:11
  • \$\begingroup\$ Thanks! I missed that figure. For driving 50mA, this would seem to be a fine solution. Actually, let me delete my original comment, as it really doesn't apply and isn't helpful. \$\endgroup\$
    – user30985
    Nov 20, 2013 at 11:15
1
\$\begingroup\$

The issue with the resistive solution is that the switch sinks current from both the relay coil and the resistor to +V.

If that resistor could be arranged to increase when the switch is closed, the excess current could be eliminated. Or if the resistor were initially high and the opposing one could be arranged to decrease. Perhaps something like this...

schematic

simulate this circuit – Schematic created using CircuitLab

I realise that this is tantamount to an H-bridge with simplified drive logic, but given a suitable transistor choice I don't see how you could call it large or expensive. Perhaps it just needs a different name?

(EDIT: added protection diodes)

\$\endgroup\$
1
  • \$\begingroup\$ I've used in the past a similar approach, with discrete small-size MOSFETs - P-channel in the high-side, N-channel as the depicted switches. That was to reverse a small DC motor. You just have to be careful not to switch the low side on both... or provide a safety measure \$\endgroup\$
    – LuC
    Aug 1 at 15:45
1
\$\begingroup\$

This is a solution I've ben using for a number of yearsSingle coil Bistable relay drive low power and single drive pin

\$\endgroup\$
0
\$\begingroup\$

For an H bridge solution needing only moderate output power, something like the TI ABT or ACT basic logic series can drive about 5V and +/-30 mA. Very cheap and compact. A little bit more expensive, but the TCA series of IO expanders can also do the same job.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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