BistableRelay

18 October 2020

(reload from 19 march 2019!)

Reference model Relay PE014-F02

Polarized Bistable Relay

https://www.mouser.it/datasheet/2/418/5/NG_DS_PE_bistable_0717-1130456.pdf

See LTSpice simulation below

* /Users/graschetti/Dropbox/EleKtronicsLab/LTSpice/H-Bridge_BJT_22.asc

V1 N001 0 3.7V

V2 In1 0 PULSE(0 3 1ms 10ns 10ns 5ms 10us 1)

V3 In2 0 PULSE(0 3 10ms 10ns 10ns 5ms 10us 1)

Q1 M1 N002 N001 0 BC557B

Q2 M2 N003 N001 0 BC557B

Q3 M1 In1 0 0 BC547B

Q4 M2 In2 0 0 BC547B

D2 0 M1 D

D3 0 M2 D

R1 M2 N002 500

R2 N003 M1 500

D1 M1 N001 D

D4 M2 N001 D

L_Relay M2 M1 20mH Rser=22

.model D D

.lib /Users/graschetti/Library/Application Support/LTspice/lib/cmp/standard.dio

.model NPN NPN

.model PNP PNP

.lib /Users/graschetti/Library/Application Support/LTspice/lib/cmp/standard.bjt

.tran 20ms

.backanno

.end

Real cmd signal with Arduino Mini Pro 3.3V 8Mhz for ultra low power applications. Led on the top as been removed too

In the snapshoot above 2.9 Volt where powering the board with 20ms switch command applied the relay perfectly changing bistable state.

const byte SET_RELAY = 6; const byte RST_RELAY = 5;
void setup(){ Serial.begin(9600);
while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }
pinMode(SET_RELAY, OUTPUT); digitalWrite(SET_RELAY, LOW); pinMode(RST_RELAY, OUTPUT); digitalWrite(RST_RELAY, LOW);
Serial.println ("** Ready **");
}
void loop() { digitalWrite(SET_RELAY, HIGH); delay(20); digitalWrite(SET_RELAY, LOW); delay(500); digitalWrite(RST_RELAY, HIGH); delay(20); digitalWrite(RST_RELAY, LOW); delay(500);}

Running Low Power mode, timer interrupt wakeup using library https://github.com/rocketscream/Low-Power

very good current measure in sleep mode. Down below regular current against sleep mode current at 3.3V