Electronic – arduino – 74hc595 sinking, not sourcing

74hc595arduinoregistershift

I'm trying to get a sn74hc595n working with an arduino Due, eventually I will be hooking up each output to an NPN to drive Nixie tubes (I am switching my design from a due to using a esp8266 so I need to cut back on the pin use, hence the shift register).

I have been using this https://learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/breadboard-layout as the schematic to get working (except using 3.3V isntead of 5V since I'm using a due). When set up according to the schematic nothing works (I'm using the same code too), however when reversing the polarity of the LEDs and hooking them up to high, it works, so the 74hc595 is working fine as a sink, but it doesn't seem to be sourcing.

Am I missing something to make it source? Thanks!

Edit: To make things clearer, here is what I have set up (currently only using 1 LED just to make sure things work)

enter image description here

And here is it set up with the 74HC595 as a source (which is not currently working).
enter image description here

Best Answer

It looks like we’ve encountered some resistance.

enter image description here

The Pch and Nch have a wide tolerance for Vt near 1.25V and if the Vt of Pch is higher than the Nch this would explain the inability to drive the LED.

Although rated for 2~6V for the 74HC' CMOS family, the worst case specs for (Vdd-Voh) match Vol so it is the symmetrical worst case but typically, one may expect slightly weaker Pch or higher Vt thresholds. enter image description here However the guaranteed IC std. test currents are as follows;
at 2V @ 25'C, Vol/Iol = 0.1V/20uA = 5k Ω = Ron " RdsOn "
at 4.5V @ 25'C, Vol/Iol = 0.26V/4mA = 65 Ω
at 6.0V @ 25'C, Vol/Iol = 0.26V/7.8mA = 33 Ω
Thus interpolating to 3.3V I expect RdsOn may 400~500 Ohms enter image description here is wishful thinking.

Conclusion:

For your prototype, you can bypass the 1K resistor.

For reliable LED driving 3.3V RdsOn performance, you can switch to the 74VHC' CMOS family 74VHC595 which is 360mV/4mA= 90 Ohms @ Vdd=3.0V