Is this bistable 1 coil power relay implemented correctly?

I recently sourced a schematic where one of the functions of the planned board is to latch a high current line via a power relay. The relay is needs to be switched on and off occassionally (e.g a few times a week). I understand the basic operations of latching relays but my electrical knowledge is quite limited.

Here is the circuit in question:

[edited] Case 1: When BAT_RELAY_RESET is set to 0 and BAT_RELAY_SET is set high for 100ms every second (suggested by relay supplier), I expect the result the relay should latch, i.e.

But I see the same pulse on both scope channels with probes at A1 and A2.

Moreover the pulse is actually inverted, going from high to low (more like a 900ms) pulse.

Case 2: When I do the inverse, the pulses have the right order, but the voltage drops by a lot.

I was expecting the circuit which is symettrical around A1 and A2 to provide the inverse results in both cases.

GPIOs pulses from the microcontroller look ok. I'm not really familiar with operating such relays. Does anyone have an idea or suggestion? What change to the existing circuit could lead to a fix?

This is not really a very good circuit (and your question could be more clear).

Here is the datasheet for the relay (please link such relevant data in the future).

The coil resistance is nominally 96$$\\Omega\$$, which means that your coil will only see 10.3V nominally. That is barely enough to be guaranteed to work with the coil dead cold (23°C)- 9.6VDC. At higher ambient and/or with the coil having been previously energized the required voltage will increase and the coil may or may not work.

The worst kind of problem- a product that works on the bench in nominal conditions but fails when in a real environment.

Another problem with this circuit is that the resistors R11/R12 will briefly seen 9.6W dissipation when you actuate the coil, so if it sticks for more than a few hundred ms the resistor will burn out and you'll get a situation like your first set of traces (assuming one trace is each side of the coil). Unless you're using huge 10W resistors in those positions, of course.

It also draws a relatively large current pulse from the 12V supply- more than 900mA for 100ms for a coil that only needs only 125mA.

Edit:

There seems to be a lack of understanding of how this circuit is supposed to work, I guess I thought it was kind of obvious, but will explain below: First, none of the diodes do anything except when one of the transistors turns off, and D4 and D5 (and the MOSFET body diodes which they are in parallel with) do nothing at all. D3 and D6 also do very little, unless the R11 or R12 has been destroyed.

Here is how it works in either direction, with the MOSFET shown pulsed on briefly. The opposite MOSFET remains off.

When the conducting MOSFET turns off (without D3/D6), the drain will briefly increase in voltage to a bit under +14V, which rapidly decreases to +12V. That is simply the coil current times 15 ohms on top of +12V. With D3 and D6 present that < 2V spike is reduced to a few hundred mV. Not particularly valuable. Of course if R11/R12 have been destroyed it will save the transistor.

Only one transistor is intended to be turned on at a time, and only briefly.

simulate this circuit – Schematic created using CircuitLab

The designer is using a resistor in place of the high side driver which would be used in a full H-bridge. The cost of that is a much higher current for 100ms and the coil seeing significantly less than nominal voltage. The latter, as I described above, is a problem however the designer may not have had the experience to recognize it. Similarly, throwing diodes in places where they do nothing of value indicates a neophyte. The resistors see a pulsed power dissipation of almost 10W which may affect the reliability if they are not rated for that dissipation (or if the MCU glitches and leaves one or both outputs high for a while).

If this was a volume application, I'd probably be tempted to consider one of the lovely H-bridge motor drivers that are used in consumer products or to otherwise make a proper H-bridge.

• @TonyStewartSunnyskyguyEE75 it's a 50mΩ FET with logic levels on the gate. still plenty low enough. at \$0.05 each it's not a terrible choice especially if it's being used elsewhere in the design. Aug 24 '20 at 3:44
• no. drain ans source look ok to me. Aug 24 '20 at 3:53
• still looks fine to me. gate goes up drain goes down. Spehro's answer is not the place to discuss this. Aug 24 '20 at 3:58
• One of R11/R12 is likely open for the first traces. The circuit has no conceptual errors, it’s just badly implemented. Load is (15+96)||15 ohms not 96. Aug 24 '20 at 3:59
• Or the relay is in backwards contacts and coil swapped. Aug 24 '20 at 4:01