Having trouble Driving Darlington array from GPIO expander

Thread Starter

deane1111

Joined Nov 3, 2022
9
Hello,

I am new here so hope this is the right place.

I am trying to drive multiple max output of 500mA independently from a GPIO expander. I am connecting Darlington array NCV1413BDR2G directly to gpio expander PCA9675 as shown below.

For some reason, any U9 GPIO pin is held as a output low signal no matter how hard i try to make it high. I ended up getting it to work with 1k resistors pulled to 3V3 in-between U8 and U9. However, this circuit is used to drive a relay controlling motors. The motor is now defaulting on because it is active low.

I am not sure how to handle this now. I seem to need the pull up to toggle the output but that will run the motor. It doesnt seem easy to find PNP darlingtons at 7 channels like this. Is there a better way to approach this?

Thanks

1667492034158.png
 

Thread Starter

deane1111

Joined Nov 3, 2022
9
hi,
If you have the space, add HEF4049 inverters to the outputs of the expander
E
That would work however, not the most elegant solution. Perhaps with that said, I should select a different expander that can drive the darlingtons without the use of pullups. Maybe I can find one that will drop in and be easy....
 

Thread Starter

deane1111

Joined Nov 3, 2022
9
You could also try switching to a MOSFET version of the load drivers.
This is what I really wanted to do! would solve all the problems..but I wasn't seeing very plentiful options of mosfet arrays. Maybe i am looking in the wrong place but I would like to be easily sustainable.
 

JohnInTX

Joined Jun 26, 2012
4,704
Perhaps with that said, I should select a different expander that can drive the darlingtons without the use of pullups.
Take a look at the MCP23017:
https://www.microchip.com/en-us/product/MCP23017

16 bits of 25mA sink/source on each pin. Not a drop in replacement but could solve your source current problems in one place. There are probably others around but I've used these with success.

Good luck.
 
Last edited:

JohnInTX

Joined Jun 26, 2012
4,704
Last edited:

Thread Starter

deane1111

Joined Nov 3, 2022
9
Thanks but i think that would be ok. I believe the PCA9675 max drive current is 25mA.
I replaced the darlington pack with TBD62003APG and as expected I no longer have a current driving problem but i do have a polarity issue still. Seems like the PCA9675 defaults as a input HIGH. I am not sure I understand this...Is this because of an internal pullup? Either way, I will either have to add an inverter or grab a expander that doesnt default this way.
 

Irving

Joined Jan 30, 2016
3,181
I replaced the darlington pack with TBD62003APG and as expected I no longer have a current driving problem but i do have a polarity issue still. Seems like the PCA9675 defaults as a input HIGH. I am not sure I understand this...Is this because of an internal pullup? Either way, I will either have to add an inverter or grab a expander that doesnt default this way.
Correct.... as per datasheet... that's a crock, a sensible device would default to an input plus hi-Z tristate output, but no...
"This quasi-bidirectional I/O can be used as an input or output without the use of a control
signal for data directions. At power-on the I/Os are HIGH. In this mode only a current
source (IOH) to V DD is active "

I'd switch to the MCP23017 - proper tri-state outputs and no drive issues...
 

PaulJ2022

Joined Nov 10, 2022
2
Hello,

I am new here so hope this is the right place.

I am trying to drive multiple max output of 500mA independently from a GPIO expander. I am connecting Darlington array NCV1413BDR2G directly to gpio expander PCA9675 as shown below.

For some reason, any U9 GPIO pin is held as a output low signal no matter how hard i try to make it high. I ended up getting it to work with 1k resistors pulled to 3V3 in-between U8 and U9. However, this circuit is used to drive a relay controlling motors. The motor is now defaulting on because it is active low.

I am not sure how to handle this now. I seem to need the pull up to toggle the output but that will run the motor. It doesnt seem easy to find PNP darlingtons at 7 channels like this. Is there a better way to approach this?

Thanks

View attachment 279839
Hi. Your theory of adding 1k resistors seems valid. But what if you include a diode between u8 and u9? Surely this will drive the circuit allowing control relays to operate?
 
Last edited by a moderator:
Top