4
\$\begingroup\$

I understand that "drive output" on this datasheet means that it's the maximum current the IC can source/sink - i.e. if there is something pulling one of its outputs high at a current higher than 6 mA, it cant pull the output low. This is, at least, what seems to be happening. If I put a 3.3 kΩ pull-up resistor on an output (to make it default to high when OE is high), the shift register cant seem to pull it low when OE is low. If I put a second resistor to get 6.6 kΩ, it can pull the output low. I'm measuring that it can't pull the resistor low by connecting each output to the segments of a 7 segment display. When the shift register pulls them high, the segments get brighter, but when it (should try to) pull them low, they don't turn off or get dimmer. They do turn off when I use two resistors though. But there's a problem there - I'm supplying it 3.3 V, so the single pull-up resistor (to a 3.3 V source) should only be pulling 1 mA, which is less than the "drive output" on the datasheet, so the shift register should be able to pull it low. Am I misunderstanding the datasheet or is something else going on here?

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
9
  • 5
    \$\begingroup\$ please verify your resistor value. When you look in the table on page 5, you will see that pulling low, sinking much larger currents than 1 mA, is not a problem at all. Also make sure you have the right datasheet fro your specific chip; there's different series, and you're specifically linking to the datasheet of the SN74HCxx series. Also, detail Exactly how you're measuring that you can't pull the resistor low. \$\endgroup\$ Commented Feb 25 at 22:51
  • 2
    \$\begingroup\$ We really could use a schematic here. Draw one with the tools provided, please, it will at least rule out any obvious wring errors. \$\endgroup\$ Commented Feb 26 at 2:49
  • 1
    \$\begingroup\$ @SimonFitch I added a schematic now. \$\endgroup\$ Commented Feb 26 at 4:40
  • 1
    \$\begingroup\$ One of the problems is you have a single 330ohm resistor for the common cathode on your display. See here for more info: petervis.com/electronics%20guides/7%20Segment%20LED%20Display/… \$\endgroup\$ Commented Feb 26 at 6:22
  • 1
    \$\begingroup\$ could you really measure your resistors with a multimeter, and what the voltage is at the pins of your 74HC595; think about it from our perspective: you're using something that in itself could harbor a lot of surprises to measure something that is surprising you. The logical next step is to take the surprises out of things, and use a known-to-be-good measurement device. (that's why engineers' labs spend 1000s of €€ on expensive measurement equipment even for measurement tasks that said engineers could solve with opamps, microcontrollers and maybe FPGAs: elimination of sources of confusion) \$\endgroup\$ Commented Feb 26 at 7:52

2 Answers 2

5
\$\begingroup\$

The 74HC595 is not fully characterized for 3.3V operation. It is characterized at 4.5V with a few specs at 2V and 6V.

It should typically be fine.. dropping just hundreds of mV, and therefore I think that you are doing something wrong, as Marcus indicates in a comment.

enter image description here

However it's not guaranteed. At lower supply voltages the MOSFETs get very weak, as you can see by the 20uA spec at 2V. That also makes it slow.

If you use a 74LVC595A it can sink 24mA with less than 800mV drop guaranteed with a 3V supply (it will be a bit better at 3.3V). But the maximum supply voltage is 3.6V and you might not be able to get it in the package you want.

In any case, be sure to also observe the limits on GND and Vcc pin currents, and it is best to stay conservative on the currents if you want long

\$\endgroup\$
3
\$\begingroup\$

Those pull-down resistors are not needed. Just load the shift register with what you want to display. When the output is disabled, the display will be completely off. That's how it's all meant to be used. If you want the display to go all segments on, don't use OE to do that. Just load all-ones into the register.

The HC595 will drive the 7-segment display directly, without any resistors. Not even R1. HC logic outputs are current sources, more-or-less. They are as close to LED drivers as you can get without buying a specialized chip.

If the display is not as bright as you wish, use two HC595s connected in parallel. Or three. Literally connect all pins of two or more chips together. Before the initial load, disable the outputs, so the parallel chips don't fight in their initial random state.

If you want bright display without multiple chips in parallel, use HCT595, power it from 5V, and it can accept 3.3V logic inputs from the MCU.

\$\endgroup\$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.