I have 8 of the original beefcake relays and 2 of the version 2.0 relays. The v2.0 relays do not operate the same as the others, as so it seems. The 8 original relays switch no problem with the Raspberry Pi 3 GPIO output of 3.3v, but the ver 2.0 relays do not. In fact, you can hear the relays on the v2.0 switch but the high voltage load does not activate. Any ideas? Thanks in advance.
The weird thing is that the v2.0 relays will activate on the 3.3v in a standalone configuration, but as soon as I integrate it with my other relays (the old ones) the voltage drops just low enough to not fully activate it.
I’m actually using this https://www.sparkfun.com/products/12009 to boost it and the HV1, Hv2, etc are reading 5v as expected, but as soon as I feed that output to the data line on the relay, the votage drops to 2.5v.
I know I’m missing something stupid. I’ll try your suggestions and see what happens. Any other ideas would be greatly appreciated. Thanks!
Of course, sorry I didn’t provide one earlier. Attached is a rough sketch of how I have it set up. When the GPIO goes high, prior to applying the output of HV1 to the relay CTRL terminal, the voltage reads 5v as expected. Now when I apply the 5v to the relay CTRL, the voltage is cut in half there. Another thing to note is that I have 2 of these relays and I’m getting the same readings from both when tested individually.
This sounds about correct me. The level shifter has a diode over the FET. A positive GPIO output of 3.3V will cause the FET to switch OFF and 3.3V - 0.7V (for the diode) of 2.5V on HV1. The HV1 has a pull-up resistor of 10K to 5V, with the potential to increase HV1 to 5V if the current drawn is low.
The Beefcake board has 1k resistor to the base of the 2N2904, the current is about ~1.8mA (2.5V -0.7 BE / 1K). This current is mainly provided by the supply with the lowest resistance, I suspect from the GPIO because of the 10K to the 5V. BUT even if it all came through the 10K serial with the HV (5V) on the shifter, it will cause a drop to 3.2V (5V - 10K *1.8mA). With all these calculations, margins have to be taken into account.
The 1K serial to the 2N2904 on the beefcake board is to limit the BE-current to MAX 4.3mA (5 V-0.7V BE / 1K), where 5 mA MAX. allowed for a 2N2904.
When powering directly from 3.3V it will result is ~ 2.5mA ( 3.3v - 0.7v BE) = 2.5V / 1k). This enables 2.5mA * 100 (assumed hfe) = 250mA (collector current). Normally that is more than enough for the 185mA needed (according to the datasheet of the relay) and that is what you see on the other Beefcake boards. Not sure what changed (relay, resistor, transistor ??) , but lowering the 1K resistor to 720 ohm, will result in 2.5V/720 = 3.4mA. This is still within the save zone of the max 5mA BE. Enabling 3.4mA * 100 (assumed hfe) = 340mA for the relay. Nearly double what is needed according to specification. One could even go with 620 or 560 ohm(pushing the limit)
Alternative is to get replacements and hope this solves the issue.