Maker Pro
Maker Pro

Resistor Pull-Up/Down Problems With Relay Driving Circuit And Darlington Transistor

Hello,
I created a relay driving circuit using an IO extender (PCF8574) and darlington transistors (MMBTA13). I was originally not aware that the IO extender can only source 100uA of current for an output... knowing that now I would probably design this quite differently. This is why I am currently trying the darlington.

However, I have some boards that I am hoping I can get to work by swapping out components, but I am currently stuck.
Here is my schematic and a description of what is going on:
PCF8574_question.jpg
The relay can activate on and off no problem, that all works.

The problem is that on initial power up (before the IO expander has been configured), the GPIOs default to an INPUT with an internal 100uA pullup (which I assume to be 33K?). This is enough to activate the darlington transistor. Because of this, the relays activate for this short period of time (3 to 10 seconds, or even longer), until the IO expanders GPIOs are configured as OUTPUTs.

I was experimenting with R24, I thought that if I reduced the ohm value enough that it would overpower the 33K internal pull up. 15K resistor is not enough and the relay activates on power up. 12K resistor is too much and the relay will never activate no matter what.

What do you think I should try to get this thing working, I am stumped. Thanks and any help or advice is greatly appreciated.

And again, if I was to redesign this, I think I would instead run the GPIOs into an Inverter and then into ULN2803A, but for now I am sort of stuck with this for the time being.

Datasheets:
Darlington Transistor:
https://www.fairchildsemi.com/datasheets/MM/MMBTA13.pdf

IO Expander:
https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf
 
I don't know the spec of the relay you're using but if you can sink 25mA why not just drive a suitable low power relay directly from the port?
 
For me the 2n7000 ( Fet equivalent darlington). is the choice.
M.
I have actually tried the 2n7002 as well, and this also works. This is not the problem though. The problem is with the power startup and the default pin state messing everything up.

I don't know the spec of the relay you're using but if you can sink 25mA why not just drive a suitable low power relay directly from the port?
This is not an option unfortunately. Most relays need between 70mA and 200mA, that would be a specialized relay to only need 25mA and is not possible to change.
 
Top