Go Down

Topic: Weird problem with 595 shift registers (Read 1 time) previous topic - next topic

Porschetech3

I am amazed that it would work without caps.
Even with caps on the i.c. power pins you still have a risky arrangement.    Especially in an electrically noisy automobile.

Note that a cheap TM1638 or MAX7219 module would give you an intelligent 4-8 digit display.
With the ability to alter the brightness too.

As a kludge you could just put a low pass filter on the CLK line e.g. 100R + 10nF.   (RC=1us)
Likewise,   you could apply treacle to every signal line.   I suppose you could use longer time constants.

You could also place 10k resistors across the input pins.    I would guess that the display goes absolutely haywire when you remove the input cable.

David.
I chose this display mainly for the enclosure, being easy to install and blend in the dash. No other displays had any enclosures that I could find.

I don't have any 10nf capacitors, the kit I bought had 500 caps from 0.1uf to 10uf, will have to order 10nf caps.

When you say put 10k resistors across inputs, exactly which inputs are you reffering to?

david_prentice

#16
Feb 13, 2018, 11:01 am Last Edit: Feb 13, 2018, 08:52 pm by david_prentice
Pull SDI, SCL to GND with 10k.   Pull LCK to VCC with 10k.
This will mean that your display box is in a known state without any super-high impedance pins exposed to electrical interference.

You can probably put 100nF directly on the LCK line.   It is effectively a /CS Chip Select as far as SPI is concerned.
I suspect that the pullup and pulldowns will reduce the susceptibility to interference.

Adding a 1us time constant to SCL can be done with either 100R, 10nF or 10R, 100nF.

I have not looked at your software code.    Hardware SPI can be clocked at 125kHz to 8MHz.
Bit-banged SPI can be as slow as you like.  

Quite honestly,   sound electrical connections from the Arduino output to the display input will mean everything is at low impedance.   Unlikely to pick up electrical noise.
Ready made Dupont crimped wires are pretty reliable.    Hand made crimping less so.    Especially if you have used them on wrong size males.

David.

Edit.   Just looked at your INO.   You are using shiftOut() and digitalWrite() instead of hardware SPI.
You will be unlikely to manage 100kHz.   You could afford a low-pass time constant of up to 5us

TonyWilk

Ok need more suggestions, I have installed the 0.1uf caps on pin 16 and 13 of the 595's and still same problem. Whatever it is I am doing by placing my finger on the clock wire I need to duplicate, it runs so good while I am touching that wire.
Do you mean you have connected 0.1uf from pin 16 to pin 8 (gnd) and another one from pin 13 to gnd ?


Could you post a picture of the board as it is now with your caps added... just to check, thanks.

Yours,
  TonyWilk

bperrybap

Do you mean you have connected 0.1uf from pin 16 to pin 8 (gnd) and another one from pin 13 to gnd ?
From the schematic pin 13 is connected to DGND and the GND header pins are connected to DGND.
While they don't show pins 16 and pins 8 of the 595s (power and gnd) I'm assuming that DGND is the main ground for the PCB.

I assume that pin 13 was used vs pin 8 as there is post from the LED that makes it easier to use for a ground at least one of the chips. (the other 3 have a hole in the PCB that could be used for a closer connection to the ground at pin 8).

--- bill

TonyWilk

From the schematic pin 13 is connected to DGND and the GND header pins are connected to DGND.
Yeh, I see, ok. Would be nice if the other side of that PCB was a ground plane, but I wouldn't bet on it :)

The OP's description of 'touching the wire makes it work' makes me wonder if it's a 1/2-fried output.

Mods as per david_prentice post should sort it one way or the other.

Yours,
  TonyWilk

Porschetech3

#20
Feb 13, 2018, 10:34 pm Last Edit: Feb 13, 2018, 11:20 pm by Porschetech3
Here is a picture of the display with the 0.1uf caps installed. Yes it is connected to pin 16 on the 595's and pin 13 pin on the board with is an easier ground. Sorry for the messy soldering I need a new tip on my iron. The PCB is different version from the picture (lines and holes are in different spots) from TronicsLab, but the wiring schematic is correct. I will now do the resisters and order the Caps to make the low-pass filter. Thanks !!


bperrybap


Porschetech3

Picture?
Sorry man, It would not let me finish the post  (something about I had exceeded my limit? and to try again later?) any way I finished it and put the picture and while I was waiting I put the 3 10k resisters in a WhaLaaa !! It works !! Thank you so much.. Should I go ahead with the low-pass filter? or leave well enough alone?

 Skip

david_prentice

If the 10k pullup and pulldown resistors work,   you have/had bad wire connections.

You can always add low-pass filters in the future.   

But if this is going to live in a real-life motor car,   I do not expect a long life.    (unless the car remains in an air conditioned garage)

David.

Porschetech3

#24
Feb 14, 2018, 12:20 am Last Edit: Feb 14, 2018, 12:40 am by Porschetech3
If the 10k pullup and pulldown resistors work,   you have/had bad wire connections.

You can always add low-pass filters in the future.   

But if this is going to live in a real-life motor car,   I do not expect a long life.    (unless the car remains in an air conditioned garage)

David.
Yes it will live in a Porsche dash, mounted right under the A/C controls. Will not have a very hard life. Why do you say it will not last long? The cheap display, lack of heat sink? I really looked for a more robust display but none had suitable enclosures. What do you think will fail, the Arduino, or the display?

I had tried another Arduino Nano with a completly different set of Dupont (it says?) cables and had same problem. I believe you that it was a bad connection ( on both ), and if it ever starts again I have learned a few things to try and correct it. Thanks.

Skip

Go Up