I am Driving a 10x11 LED matrix using Arduino and Shift Registers with shiftOut function. I am turning on one row at a time. On for a second. Off for a second.
Problem: Spurious output from shift registers causing intermittent faint blink of batches of LEDs. The rows and columns blink is random. Usually a batch next to each other. See photos.
Questions:
What is causing this spurious output from shift registers?
Should I even be using Shift Register 74HC595 in this application?
Components Used:
Voltage Regulator L7805CV
Arduino Uno
Shift Register 74HC595 Qty 3
Darlington Array ULN2803A Qty 2 (Cols)
P Channel MOSFET FQU17P06 Qty 10 (Rows)
Power:
MOSFETS, Shift Registers, Darlington Array powered from 9volt 1 amp AC Wall Adapter through
7805 circuit.
Arudio powered directly with 9 Volt 1 amp AC/DC Wall Adapter.
Trouble Shooting with Oscilloscope: (will attach photos and schematic)
Measured supply voltage. Output from 7805 looks clean.
Measured input to MOSFET from shift register driving Row 1. Good signal.
Measured output at a shift register pin not driving a row. Spurious 5v outputs. Also occurs when this pin is not connected to MOSFET.
Completely disconnected LED matrix from circuit. Still occurs.
Measured Arduino data pin 11 while connected to circuit. Not sure what I am looking at. Might be spurious signals, just do not know what a data signal is supposed to look like.
Tried filtering signals with 0.1uF and 0.01uF caps, but do not know what I am doing. Did not help.
Measured data pin 11 from Arduino, disconnected from circuit. No Change – same as when connected to circuit.
Tried filtering signals with 0.1uF and 0.01uF caps, but do not know what I am doing. Did not help.
You do not filter the signals you filter the power. Each shift register chip needs a 0.1uF ceramic capacitor between power and ground pins directly. Even if you think it does not help you need them and then you go looking for other stuff. http://www.thebox.myzen.co.uk/Hardware/Exhibition.html
Why dosn't the voltage regulator appear in the schematic?
Mike - I do have have those caps in place. I thought the data line into the shift register from arduino was noisy, tried that, but took them off.
Also want to point out that all the Oscilloscope photos were taken with only the first row being driven. Photos show other rows having spurious outputs from the shift registers, even though not being driven.
Schematic was too wide to show the voltage regulator. I will attach it in a view. Thanks for looking it over. You have helped me a lot in the past with all of your posts.
I have 3 shift registers daisy chained together.
When I disconnected all outputs from the first shift register the 5v blip that had been appearing on the non-driven outputs (pins 1-7) went away! Pin 15 is the only pin being driven in this troubleshooting.
When I connected only pin 11 SRCLK clockpin from the first shif register to the second shift register it came back!
So now the question is how do I eliminate this, or am i expecting too much from a 595 chip? Is this tiny cross-talk normal in most uses?
I spoke too soon. It still does it when daisy chained shift registers are disconnected from first shift register. I give up. No idea why the ideas faintly flash in groups, randomly. I'm hoping someone will see some error in my circuit causing interference or something... out of gas.
Decoupling VCC of a logic chip should be short (chip VCC to chip ground).
I see you connected the cap to the OE pin, and then travel with that wire via an other breadboard back to the ground pin of the 595. A distance of >20cm.
There might be other things wrong.
Can't be bothered to download all the .jpg files. You should have posted them inline.
Leo..
Hard to see in the photo, but that yellow wire is actually going from 595 pin 15 (QA) to ULN2803 pin 15 (IN1). The caps on each 595 only go from pin 16 to pin 13 (OE). No wires.
I did get carried away with the photos and scope. Not sure any of my scope info is even relevant now.
I am out of my depth.
Sorry about the photos being scattered. Could not load more than 7 at a time, even after dropping resolution. 1 Meg max for uploads.
Here is a better photo showing overall breadboard and the schematic. Thanks for your time.
That worked! Specifically attaching the Arduino GND to the breadboard GND. The spurious blinks are completely gone! When I detach the GND they come back!
Thanks larryd I have been chasing this for days!
I also
installed the 470uF cap from regulator input to GND
Added decoupling caps to all power rails
The decoupling caps are marked "104"
With these changes, does my schematic look correct in terms of good design practice? Any other suggestions?
RichKC24:
That worked! Specifically attaching the Arduino GND to the breadboard GND. The spurious blinks are completely gone! When I detach the GND they come back!
Thanks larryd I have been chasing this for days!
I also
installed the 470uF cap from regulator input to GND
Added decoupling caps to all power rails
The decoupling caps are marked "104"
With these changes, does my schematic look correct in terms of good design practice? Any other suggestions?