I'm using this shift register (http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf) to turn on 8 triacs that are triggered with internal opto-isolated inputs.
It's all powered with 5VDC and I'm using 470ohm resistors to limit the current going through the input LEDs of the triacs. Ohm's law tells me that that results in about 10mA of current out of the shift register for each output.
The spec sheet for the shift register states that the "output diode current" and the "output source or sink current" is between 20mA and 35mA (not sure which applies here but they're both over my 10mA need).
What's odd is that when I shift 0xff into the shift register, the 5.00VDC comes out the output pins as 4.6VDC. This still turns the triac on just fine but I don't understand why that happens.
I have a test program that shifts 0xff into the shift register, waits five seconds, and then shifts 0x00 into the register and waits five more seconds and repeats. I'm also doing the clock pulses and strobe and so forth as needed (like I said, this works most of the time).
The triac turns on and off just fine but every 10 or so firings, it pulses on and off instead of staying on for the 5 seconds.
I thought it was a triac problem at first but I traced the problem to the shift register. With a scope, I was able to see that it's output line that I was using to drive the triac would, every now and then, go high as requested but then drop back down to 0V after 17mS instead of waiting five seconds before dropping back down.
If it helps, I've attached a pic of the pulse. You can see the compressed clock signals in red before the strobe pulse (not shown). The strobe then happens and the blue output goes high for 17ms and then comes back down. This happens about 10% of the time. The rest of the time, the blue stays up where I want it.
So, two odd behaviors:
1. 4.7V output out of the shift register.
2. Every now and then the shift register comes prematurely back to 0VDC causing a pulse.
Anyone have a clue why?