Go Down

Topic: 74HC595 Malfunction (Resolved) (Read 832 times) previous topic - next topic

mbduino

Jan 08, 2013, 10:18 pm Last Edit: Jan 09, 2013, 12:22 am by mbduino Reason: 1
Resolution: Moral of the story is - double check your pins and solder work...and don't skip a pin!

Decimal values (converted to binary of course) 0, 1, 3, 4, 5, 6 ... 255 all light up using the 74HC595 properly wired (ARDX CIRC-05) and sketched in a simple for() loop.

However, it when it gets to decimal 2 (that is, the second LED in series should be lit, all others off), the LED is still off. Every other value from 0 to 255 lights up.

Is it possible I may have shorted or melted something doing solder work to this (attach to PCB, on the right, oriented moon side up), or am I missing something here?

What's even more mind boggling is that the second LED does light up as values are shifted. It's just binary value B00000010 that it doesn't like for some reason (e.g. it will light up B00000011 and B000110). It actually looks like every count on B00000010 stays dark or effects no change. Something's definitely not shifting properly (fortunately for me, my 10 new 74HC595's just came in today :)

Docedison

Kinda hard to tell the 'backside' of one circuit board looks pretty much like anyone else's.. I would note that you don't appear to have any by-passing installed and that "can" cause many different issues to crop up, including ones similar to if not identical to yours especially with shift registers.

Bob
--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

mbduino

#2
Jan 08, 2013, 10:54 pm Last Edit: Jan 08, 2013, 10:56 pm by mbduino Reason: 1

Kinda hard to tell the 'backside' of one circuit board looks pretty much like anyone else's.. I would note that you don't appear to have any by-passing installed and that "can" cause many different issues to crop up, including ones similar to if not identical to yours especially with shift registers.

Bob


Bypass, as in a capacitor? Also, would this happen to have anything to do with it remember the last state the shift register was in, per http://arduino.cc/en/Tutorial/ShiftOut ?

Docedison

Possibly and more to the point, If the board doesn't have (at least) a 100 nF cap from +5 V to ground right on each IC the board 'can' count itself or count the noise on the + 5 V source at the shift register. I am assuming that the other pins are either pulled up or grounded as per the tutorial and that the capacitor shown on the '595 shift register tutorial diagram IS NOT installed.
The tutorial is a good one except that it doesn't show the missing capacitors.

Bob
--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

Grumpy_Mike

Quote
Also, would this happen to have anything to do with it remember the last state the shift register was in, per http://arduino.cc/en/Tutorial/ShiftOut ?

That tutorial has a 1uF cap wired to the latch pin, this is wrong.
You don't have to remember the state of the previous values in the shift register because it is over written by the shift out.

mbduino


Possibly and more to the point, If the board doesn't have (at least) a 100 nF cap from +5 V to ground right on each IC the board 'can' count itself or count the noise on the + 5 V source at the shift register. I am assuming that the other pins are either pulled up or grounded as per the tutorial and that the capacitor shown on the '595 shift register tutorial diagram IS NOT installed.
The tutorial is a good one except that it doesn't show the missing capacitors.

Bob


As mentioned, this follows the ARDX CIRC-05 example (albeit, I've simplified it a bit and rearranged the LEDs so that they light up and correspond to MSBFIRST order so I can quickly see the on/off bits) here: http://www.oomlout.com/oom.php/products/ardx/circ-05

They do not introduce a capacitor or mention pull-up/pull-down resistors so neither are installed.

Per your comment, it actually does have the effect that the board is counting itself. I started thinking along those lines when I noticed this behavior...but each time I checked the pins, they were all correct, so I began to think it may be something internal.

This is the ARDX Experimenter's Kit, by the way, but it sounds like I'm in need of some additional components to make even their own documented examples work properly.

mbduino


Quote
Also, would this happen to have anything to do with it remember the last state the shift register was in, per http://arduino.cc/en/Tutorial/ShiftOut ?

That tutorial has a 1uF cap wired to the latch pin, this is wrong.
You don't have to remember the state of the previous values in the shift register because it is over written by the shift out.


Yeah, which is why I didn't pursue troubleshooting in that direction. I figured it would be overwritten by my new sketch shortly.

mbduino

#7
Jan 09, 2013, 12:20 am Last Edit: Jan 09, 2013, 12:22 am by mbduino Reason: 1
So, uh...one other possibility might have been this:

After closer examination of the pins in hooking up the ShiftLCD schematic (http://4.bp.blogspot.com/_lGksE4X_fOc/S1H0svtSt8I/AAAAAAAAABc/Fi1bKnBesOs/s1600/LCD+V2.png) I discovered pin 1 on the shift register lost its wire and there is a clean hole in the solder where the jumper wire fell out. Consequently, pin 1 stayed dark the entire time.

Think I'm going to go with a dip socket next time. Some of these wires are starting to loosen up on me.

Docedison

#8
Jan 09, 2013, 03:23 am Last Edit: Jan 09, 2013, 05:02 am by Docedison Reason: 1
Possibly and more to the point, If the board doesn't have (at least) a 100 nF cap from +5 V to ground right on each IC the board 'can' count itself or count the noise on the + 5 V source at the shift register. I am assuming that the other pins are either pulled up or grounded as per the tutorial and that the capacitor shown on the '595 shift register tutorial diagram IS NOT installed.
The tutorial is a good one except that it doesn't show the missing capacitors.
{edit}
What I should have said was as far as it goes, it is missing some parts.
The drawing 'might' work as published but it will work better with at least a 100 nF capacitor across the IC's power connections. You of course will do what you do.
My experience is very contrary to the drawings and on the work I've done in the past those components are a must.


Bob
--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

dhenry

Quote
pin 1 on the shift register lost its wire


I am afraid that that is not the right fix, because it is in direct conflict with our experts' advice (on bypassing).

Your fix doesn't count.

:)





Seriously, congratulation on your fix. You learned a lesson about wiring.

mbduino


Quote
pin 1 on the shift register lost its wire


I am afraid that that is not the right fix, because it is in direct conflict with our experts' advice (on bypassing).

Your fix doesn't count.

:)





Seriously, congratulation on your fix. You learned a lesson about wiring.



Ah but it was the right fix, because even with a capacitor installed, I still would have been one connection short of a completed schematic and then where would we have been? ;)

Go Up