Using this shecmatic to drive some relays - works fione for a while then the relays start misbhaving. I'm a moron - the PCF is current based output thingy not a simple "heres 5v or 0v" for the ULN to work with.

As a result (of me not really reading the dtatasheet all that carefully) the base of the transistors in the ULN sit at around 2v when "on" - thats my issue! - So here's the question(s)

  1. Is there a hack I can do to this circuit (its laid onto a PCB proto) that will make it work for now? Something simple like a pullup/or something?
  2. Keeping the PCF to give my my "signals" what would you recommend as an output low side switch (as I am guessing the internal resistors in the ULN/transistor specs of the ULN are the issue) to drive some simple 12v automotive relays - maybe a hexfet or something?
  3. is there a replacement device that fits the PCF footprint, shares the same logic etc, but does a simple "heres 5v or 0v" output to drive the ULN properly?

Looking forward to some advice! Thanks in advance! enter image description here

  • 1
    \$\begingroup\$ Watch the total current on that thing too. It's 500mA per but a max of 2.5A. You did not specify your relay current so I had to mention anyway. \$\endgroup\$ – Trevor_G Nov 17 '17 at 19:42

In answer to your third question it looks like the TPL7407L is a pin compatible version of the ULN2003 with MOSFET drivers and negligible input current - it could be driven directly from the PCF8575 without pull-ups.

As commented by Peter there is a 1 Megohm pull-down on the inputs but the PCF8575 has a 100uA pull-up so it should drive it ok. Designing from scratch I would put pull-ups to give more drive current but it should be acceptable to use in your existing PCB.

tpl7407l Datasheet

  • \$\begingroup\$ I think you'll still need pull-up resistors - that part has 1 M pull-down resistors on its inputs, so it won't see an input as High without something to pull it up, and the PCF8575 open-drain outputs can't do it. \$\endgroup\$ – Peter Bennett Nov 17 '17 at 20:45
  • \$\begingroup\$ @PeterBennett. But the PCF8575 has a 100uA pull-up with a guaranteed 30uA minimum. The TPL7407L has a maximum 10uA input current at 5V. I agree having more would be better and I wouldn't intentionally design it this way. The TI datasheet for the PCF8575 has 100mA (note: milliamp) current source pull-up erroneously shown in the block diagram!!! \$\endgroup\$ – Kevin White Nov 17 '17 at 21:20
  • \$\begingroup\$ This one is also only good for 2A..just saying :) \$\endgroup\$ – Trevor_G Nov 18 '17 at 2:14
  • \$\begingroup\$ The ULN2003 is only rated slightly more at 2.5A and 500ma per output. At the higher currents it would probably be limited thermally rather than by the ground pin current as the voltage drop is rather high. \$\endgroup\$ – Kevin White Nov 18 '17 at 2:48
  • \$\begingroup\$ A closer look at the PCF8575 shows that only the Interrupt output is open drain - the port outputs do have internal pull-up current sources but only provide 1 mA or so when outputting a High. \$\endgroup\$ – Peter Bennett Nov 18 '17 at 8:08

You need a pull-up resistor on the PCF8575 outputs - 3K or so should work.

The PCF8575 has open drain inputs, so it can only pull its outputs to ground, and cannot supply the input current that the ULN2803 requires. A pull-up resistor will supply the 1 mA or so input current for the ULN2803 when the PCF8575 is not pulling its output Low.

  • \$\begingroup\$ Closer to 1K5. 2V @1.3mA \$\endgroup\$ – Trevor_G Nov 17 '17 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.