We often seem to use microcontrollers to control relays, and a 5 V microcontroller is often used with 12 V relays. A relay may need several times more power than the microcontroller. Not a problem if you can use an SSR, which you can drive at a few mA, but there are situations where you do need an electromechanical relay. When, is another discussion. Here I'll focus on the electromechanical. So, what are some ways to use those relays more efficiently?
|
|
This is becoming a quite long answer, but I added lots of pretty pictures, which should keep you from falling asleep ;-) I'm aware of bistable relays, and they're the big savers, but here I'll discuss different solutions all for the same non-latching relay, in case you don't want to use a latching relay. That could be for feedback, or more complicated drive reasons, for instance. (One way to get feedback is by using one contact of a dual pole relay, but then you reduce it to a single pole relay. Three pole relays exist, but are expensive.) Series resistor
In this and the other graphs the common solution's power is shown in blue, normalized for 12 V input, and our improved solution in purple. The x-axis shows the input voltage. LDO regulator
Sensitive relay
12 V relay at 5 V There's one catch: how do we know this will work for our relay? It doesn't mention the 5 V anywhere. What we need is the relay's "hold voltage", which gives the minimum voltage to stay activated, and unfortunately that's often omitted in datasheets. So we'll have to use another parameter: "must release voltage". That's the maximum voltage at which the relay will guaranteed switch off. For our 12 V relay that's 0.6 V, which is really low. The "hold voltage" is usually only a bit higher, like 1.5 V or 2 V. In many cases the 5 V is worth the risk. Not if you want to run a 10k/year production of the device without consulting the relay's manufacturer; you may have a lot of returns. But for a hobby project with a one-time production you can see for yourself if it works. So we only need the high voltage for a very short time, and then we can settle for the 5 V. This can easily be achieved with a parallel RC circuit in series with the relay. When the relay is switched on the capacitor is discharged and therefore short-circuits the parallel resistor, so that the full 12 V are across the coil and it can activate. The capacitor then gets charged and there will be a voltage drop across the resistor which reduces the current. This is like in our first example, only then we went for a 9 V coil voltage, now we want 5 V. Calculator! 5 V across the coil's 360 Ω is 13.9 mA, then the resistor should be (12 V - 5 V)/13.9 mA = 500 Ω. Before we can find the value for the capacitor we have to consult the datasheet once more: maximum operate time is 10 ms maximum. That means the capacitor should charge slow enough to still have 8.4 V across the coil after 10 ms. This is what the coil's voltage over time should look like:
The R value for the RC time constant is the 500 Ω parallel to the coil's 360 Ω, due to Thévenin. That's 209 Ω. The graph's equation is \$ V_{COIL} = 5 V + 7 V \cdot e^{\dfrac{-t}{RC}} \$ With \$V_{COIL}\$ = 8.4 V, \$t\$ = 10 ms and \$R\$ = 209 Ω we can solve for \$C\$ and we find 66 µF minimum. Let's take 100 µF. So in steady state we have a 860 Ω resistance instead of 360 Ω. We're saving 58 %.
12 V relay at 5 V, reprise
What happens when we close the switch? C1 gets quickly charged to 4.3 V via D1 and R1. At the same time C2 gets charged through R2. When the analog switch's threshold is reached the switch in IC1 will toggle, and C1's negative pole will be connected to +5 V, so that the positive pole goes to 9.3 V. That's enough for the relay to activate, and after C1 is discharged the relay is powered by the 5 V through D1. So what our gain? We have 5 V / 360 Ω = 14 mA through the relay, and coming from a 12 V via an LM7805 or similar that's 167 mW instead of 400 mW.
12 V relay at 5 V, reprise 2
(graphs made with Mathematica) |
|||||||
|
|
stevenvh gave a wonderful answer, but there's a solution not listed that I use every time I can: step relays. They consume power only when changing the relay state. Of course, it makes the electronics more complex because you need a way to know the relay state when the microcontroller starts, but in many cases, it saves a lot of power. In my home automation system, replacement of 24 "standard" relays with the step ones saved nearly 98% of power consumed by the microcontroller board.
|
|||||||||||||
|
The following describes the most efficient system in principle that can be used with a "normal" non latching relay. This circuit will work with Steven's reference relay - or any other relay.
The utterly brilliant circuit below was contributed by Richard Prosser in response to a low cost switching regulator design challenge that I issued about ? 8 years ago. While component count is a little higher than many other power saving solutions this one will typically be more efficient to much more efficient than typical alternatives, and really stands out when the relay holding voltage V_hold_in is much less than the supply voltage. In the example shown the supply voltage is 20V to 70V but the circuit can be designed for any sensible voltage range. As shown here the circuit drives a relay at constant current. The power-on characteristics could easily be changed to initially provide a higher drive current, but the circuit as shown will usually be very acceptable. The key brilliance of the circuit is the implementation of a constant current drive to thew relay coil using the relay inductance itself as the inductor in a buck regulator. Applied voltage is stepped down to whatever voltage is required to provide the required drive level. This can be though of and designed as driving the coil at defined voltage or defined current. Even at very high applied voltages where the efficiency is lower (probably as low as about 50% at very high Vin) the power savings are substantial.
Again, this is the gain relative to the very best linear system that can possibly be achieved.
Simplified operating description - more detail available if required: Call zener Z1. Zener voltage Vz1. Q1 base is held at a reference voltage by Vz1 divides by R9, R2. "Black Switchjing Regulator" - by Roman Black: The relatively well known "Black Switching Regulator" was derived from this circuit as a consequence of the design challenge. Cicruit link broken but Untested PCB layout here - the excessively keen can derive the circuit from this with relative ease. Um.
Step relays were mentioned by Axeman. There are also bistable latching relays. A circuit could easily enough be devised to store power and apply it to the delatching coil when power was removed from the main input, thus making operation externally identical to a normal single coil relay. Below - one version of latching relay - some have a separate de-energise coil:
|
||||
|
|
|
You may want to check out a recent EDN Design Idea.
Essentially you end up with a DC multiplier and a single transistor to switch it on and off. The multiplier gives that initial "kick" you need, but then its steady-state voltage is much lower. There isn't anything critical in the circuit, and it can be adapted for almost any relay or solenoid. |
|||||||
|
|
Relays still have many benefits over SSR's and selection criteria will be different when choosing for high volume or high reliability for automotive needs. Switching life times are as much as 10e5 and 10e6, when used conservatively. For those not already proficient in relay choices, increasing awareness of common features will help optimize the efficient matching of performance to needs.
Ways to mis-use Relays ( read.. lower MTBF )
Feel free to add to my list. |
|||
|











