Forum: Mikrocontroller und Digitale Elektronik Probleme mit 74HC595 Schieberegister


von Michael W. (neuer_nutzer)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Ich habe eine Platine mit zwei Ausgangsschieberegistern 74HC595 gebaut, 
welche von einem ATMega µC angesteuert werden. Ein Auschnitt des 
Schaltplans (hoffentlich den allgemeinen Anforderungen genügend) ist 
diesem Post angehängt. Bitte beachten: In den IC Sockeln sind bereits 
100nF Kondensatoren integriert.
Einen vollständigen Schalt- und Layoutplan sowie Bilder findet man im 
Folgenden Post(aber Achtung, entspricht nicht dem gewohnten Standard):
Beitrag "Atmega mit je zwei 74HCT597 und 74HC595 - Diskussion Platinenlayout"

Die Platnine macht eigentlich erst mal so weit was sie soll. Im Moment 
werden zu Testzwecken einfach die Eingänge auf die Ausgänge 
durchgeschaltet. Und das geht auch eigentlich gut.

Leider gibt es ein Problem... :/

Von Zeit zu Zeit werden die Ausgangsschieberegister sehr warm (teilweise 
nur eins der beiden, teils beide). Die Ausgänge machen dann auch nicht 
mehr das, was sie sollen (teilweise nur von einem der beiden SR, teils 
von beiden die Ausgänge), obwohl der µC und die Eingänge noch 
funktionieren. Reset des µC hilft dann nicht, nur eine Unterbrechung der 
Stromversorgung ("Reset" der Ausgangsschieberegister).

Ich glaube inzwischen herausgefunden zu haben, was die Ursache ist. 
Zumindest kann ich es einigermaßen reproduzieren, wenn ich z.B. mit 
einem Schraubendreher die auf +5V gelegte Reset Leitung der 
Ausgangsschieberegister (Pin 10) berühre. Die per Eingang gesetzten 
Ausgänge erlischen dann z.B. spätestens bei der zweiten oder dritten 
Berührung. Bei bestimmten 595er Bausteinen gehen die Anschlüsse 
komischer Weise stattdessen an bzw. in einen Zwischenzustand. Die 
Spannung am Ausgang liegt irgendwo zwischen +5V und 0, also etwa um 2V 
bis 3V. Man kann auch fühlen, wie der IC dann warm wird.

Es hat den Anschein, als würde eine auch noch so geringe Störung am 
Reset Pin den IC so durcheinaner bringen, dass sich intern zwei 
Instanzen um den Zustand der Ausgangspins prügeln. Der eine will High, 
der andere Low, jeder legt seinen Pegel an die Pins an, dort entsteht 
ein Zwischenpegel und im IC fließt jede Menge Strom der ihn warm macht.


Ich habe den Eindruck, dass Kondensatoren (100nF) von Reset Pin 10 auf 
Masse die Störempfindlichkeit reduzieren, allerdings auch nicht ganz 
beseitigen (zur Info: Jeder der 4 Stck. 16 Pin IC Sockel für die SR hat 
bereits einen integrierten 100nF Abblockkondensator).

Mir stellt sich nun die Frage, ob die "fehlenden" Kondensatoren eine 
plausible Ursache für die Störung sein können. Die Pins 10 sind direkt 
mit +5V verbunden, ohne Widerstand. Niederohmiger geht nun wirklich 
nicht. Und trotzdem soll eine bloße Berührung der Pin 10 Reset +5V 
Leitung mit einem beliebigen freien Leiter dort einen Low Pegel und den 
Reset auslösen? Btw, es macht schon einen Unterschied wie nah am IC 
Sockel man die jeweiligen Leitungen berührt.

Soll ich noch zwei Kondensatoren von Pin 10 auf Masse setzen? Evtl. auch 
noch einen Widerstand 4,7kOhm zwischen +5V und Pin 10 (vor den 
Kondensator ggf.)? Evtl. auch an den Eingangsschieberegistern 597, 
obwohl diese keine Probleme machen?

Besteht vielleicht auch die Möglichkeit, dass der freie Serial Out (Pin 
9) des hinteren Schieberegisters Probleme macht?

Oder gibt es evtl. Probleme, wenn man an manchen Pins des 595 mit +3,3V 
ankommt (Pin 13 Output Enable bzw. G bzw. RCL über 4,7kOhm PullUp auf 
+3,3 V; Pin 14 Serial In an µC Pin mit +3,3V/0V) und an anderen mit +5V 
(Pin 10 SCL bzw. Reset)?


Es wäre sehr schön, wenn ihr mir bei meinem Problem weiter helfen 
könntet. Ich freue mich über jede Antwort. Hierfür vielen Dank im 
Voraus.


Viele Grüße,


Michael

von Mitlesa (Gast)


Lesenswert?

Das muss ein Aprilscherz sein.

von Michael W. (neuer_nutzer)


Lesenswert?

Ich habe zwar geschrieben, dass ich mich über jede Antwort freue, aber 
das

Mitlesa schrieb:
> Das muss ein Aprilscherz sein.

ist so leider wenig hilfreich.

von Heiopei 73 (Gast)


Lesenswert?

Ehäm, du darfst die Eingänge des 74HC595 nur mit MOS-Pegel betreiben:
Logisch 0 ist GND
Logisch 1 ist Versorgungsspannung.
Legst du an einen Eingang Spannungen z.B. U/2  ist die Stromaufnahme 
sehr hoch.

Du brauchst den 74HCT595, bei diesem
Logisch 0 GND bis +0.8V
Logisch 1 2V bis +5V

An keinen Eingang darf eine Spannung die ausserhalb der 
Versorgungsspannung liegt, sonst können "parasitäre Thyristoren" 
gezündet werden.

Work around ein Widerstand von 1k zwischen Ausgang des µC und dem 
Eingang des 74HC(T)595

73

von Michael W. (neuer_nutzer)


Lesenswert?

Hallo Heiopei 73,

danke für deine Antwort. Hiermit kann ich schon eher etwas anfangen :) 
Aber leider verstehe ich nicht alles.

Heiopei 73 schrieb:
> ...MOS-Pegel...
Meinst du CMOS Pegel?

> Logisch 0 ist GND
> Logisch 1 ist Versorgungsspannung.
Versorgungsspannung = +5V an VCC Pin 16?

> Legst du an einen Eingang Spannungen z.B. U/2  ist die Stromaufnahme
> sehr hoch.
Meinst du mit Eingang speziell den Serial In Pin 14 oder gleichermaßen 
13 (G / Output Enable), 12 (RCK), 11 (SK) und 10 (SCL)

> Du brauchst den 74HCT595, bei diesem
> Logisch 0 GND bis +0.8V
> Logisch 1 2V bis +5V

Habe mein (Teil-) Wissen über den Unterschied HC / HCT aus dem 
AVR-Tutorial: Schieberegister. Hier steht, dass HC als 
Schaltschwelle halbe Betriebsspannung hat. Ging davon aus, dass +3.3V 
dann auch gehen. Die Info darüber, dass zu diesem Punkt auch viel Müll 
steht, ist mir durchgegangen. Jetzt bin ich noch verwirrter. Ich muss 
mich mit den Datenblättern befassen...

> An keinen Eingang darf eine Spannung die ausserhalb der
> Versorgungsspannung liegt, sonst können "parasitäre Thyristoren"
> gezündet werden.
Was heisst "ausserhalb", meinst du höher als 5V? Dies ist nicht der 
Fall.

> Work around ein Widerstand von 1k zwischen Ausgang des µC und dem
> Eingang des 74HC(T)595

Brauche ich den Workaround auch, wenn ich wie oben angeregt den HT*C*595 
nehme?


Nochmal zur Übersicht die Pin Belegung der Schieberegister, damit es 
nicht zu Mißverständnissen kommt:
Pin 16: VCC +5V
Pin 14: Serial In, 0V GND / +3.3V vom µC
Pin 13: Output Enable, über 4.7kOhm Pull Up an +3,3V / per µC auf 0V GND
Pin 12: RCK über 4.7kOhm Pull Down an 0V GND, per µC auf +3.3V
Pin 11: SCK über 4.7kOhm Pull Down an 0V GND, per µC auf +3.3V
Pin 10: SCL permanent direkt an +5V VCC
Pin 8: 0V GND

Die Platine ist an 5V angeschlossen. Eine kleine Platine mit dem µC 
drauf hat ihren eigenen Spannungsregler auf 3.3V. Damit haben die 
Ausgänge des µC auch +3.3V als High Pegel. GND ist für +5V und +3.3V 
gemeinsam.


Wie gesagt, die Platine funktioniert eigentlich gut. Es wird immer das 
ausgegeben, was über Eingangsschieberegister per µC eingelesen wird. 
Aber wenn man mit irgendetwas leitendem Pin 10 SCL berührt (ohne auf der 
anderen Seite des Leiters irgendeinen Kontakt zu haben) kommt das 
Schieberegister gewaltig durcheinander.

von Karl H. (kbuchegg)


Lesenswert?

Michael W. schrieb:

>> An keinen Eingang darf eine Spannung die ausserhalb der
>> Versorgungsspannung liegt, sonst können "parasitäre Thyristoren"
>> gezündet werden.
> Was heisst "ausserhalb", meinst du höher als 5V? Dies ist nicht der
> Fall.

Ausserhalb.
Alles was nicht 0V oder 5v ist.

von Georg (Gast)


Lesenswert?

Du betreibst den HC595 mit 5V, steuerst aber alle Eingänge mit 3,3V 
Logik an, also mit weniger als 3,3 V für Hi. Das ist für einen HC-Chip 
unzulässig, auch dann wenn es augenscheinlich funktioniert.

Das einfachste ist, mal einen HCT595 einzusetzen.

Georg

von Michael W. (neuer_nutzer)


Lesenswert?

Hallo Karl Heinz,

auch dir vielen Dank!

Wenn ich vor allem auch den Beitrag "Unterschied 74HCT595, 74HC595" 
richtig verstehe brauche ich also unbedingt einen HCT anstelle eines HC. 
Wenn ich das Datenblatt vom HC richtig verstehe könnte ich aber auch mit 
3,3 V an VCC gehen. Die V_IH und V_IL Werte sind nämlich in Abhängigkeit 
von VCC von 2.0V bis 6.0 V angegeben.


Aber ist das auch der Grund für die auftretenden Störungen? Das will mir 
noch nicht recht in den Kopf, bei dem, was ich beobachtet habe. Wenn 
sich da Pegel unanständig mischen kanns natürlich durcheinander gehen. 
Aber warum ist die bloße Berührung mit einem potentialfreien Leiter 
(isolierter Schraubendreher) dann der Zündfünke?

von spontan (Gast)


Lesenswert?

>Aber wenn man mit irgendetwas leitendem Pin 10 SCL berührt (ohne auf der
>anderen Seite des Leiters irgendeinen Kontakt zu haben) kommt das
>Schieberegister gewaltig durcheinander.

Und warum machst Du das? Willst du mit einer Antenne Radio empfangen?

von Heiopei 73 (Gast)


Lesenswert?

Michael W. schrieb:
> Heiopei 73 schrieb:
>> ...MOS-Pegel...
> Meinst du CMOS Pegel?

Ja genau.

CMOS-Eingänge haben zwar als Schaltschwelle U/2 aber eine Spannung von 
U/2 sollte nicht lange an einem Eingang anliegen, da sonst ein hoher 
Strom fließt!

Wechsle von HC zu HCT!!!

Oder verwende einen Pegelwandler von 3,3V-Logik zu 5V-Logik!!!

Z.B. ein 74HCT245 als 8-Kanal Pegelwandler.

Oder ein NPN-Transistor als 1-Bit-Pegelwandler:
Emitter an den 3,3V-Logik-Ausgang.
Basis über 10k an +3,3V
Collector über 1k an +5V
Collector ist der Ausgang dieses kleinen Pegelwandlers.

von Michael W. (neuer_nutzer)


Lesenswert?

Hallo Georg,

herzlichen Dank auch für deinen Rat.

Ich werde dem Nachkommen und versuchen ein paar HCT aufzutreiben. Die 
üblichen Verdächtigen sind leider nicht bestückt. Lässt sich aber sicher 
am besten durch einfaches ausprobieren herausfinden.

von Charly B. (charly)


Lesenswert?

hatten wir das nicht schon hier:

Beitrag "Schiberegister 74HC595 wird sehr heiß"

von Michael W. (neuer_nutzer)


Lesenswert?

spontan schrieb:
>>Aber wenn man mit irgendetwas leitendem Pin 10 SCL berührt (ohne auf der
>>anderen Seite des Leiters irgendeinen Kontakt zu haben) kommt das
>>Schieberegister gewaltig durcheinander.
>
> Und warum machst Du das? Willst du mit einer Antenne Radio empfangen?

Ich habe im normalen Betrieb festgestellt, dass auf einmal etwas nicht 
stimmt. Dann habe ich systematisch alles Mögliche geprüft. Zufällig bin 
ich über das mit dem Schraubendreher gestolpert. Nur darüber habe ich 
bisher überhaupt einen reproduzierbaren Effekt erzielt.



Heiopei 73 schrieb:
> Wechsle von HC zu HCT!!!
Werde ich als nächtest direkt testen :)


Hat jemand eine Bezugsquelle für die HCT? Habe ich bisher nur recht 
teuer in der Bucht gefunden.

von Michael W. (neuer_nutzer)


Lesenswert?

Charly B. schrieb:
> hatten wir das nicht schon hier:
>
> Beitrag "Schiberegister 74HC595 wird sehr heiß"

Durch den Beitrag bin ich auf die µC Fassungen mit Abkoppelkondensator 
gestßen und habe diese verwendet.

Leider habe ich nicht das "Glück" irgendwo 18 Ohm Widerstände anstelle 
von 180 Ohm verbaut zu haben. Auch wenn ich bezweifle, dass der Autor 
tatsächlich sein Problem gefunden hat...

von Karl H. (kbuchegg)


Lesenswert?

Michael W. schrieb:
> spontan schrieb:
>>>Aber wenn man mit irgendetwas leitendem Pin 10 SCL berührt (ohne auf der
>>>anderen Seite des Leiters irgendeinen Kontakt zu haben) kommt das
>>>Schieberegister gewaltig durcheinander.
>>
>> Und warum machst Du das? Willst du mit einer Antenne Radio empfangen?
>
> Ich habe im normalen Betrieb festgestellt, dass auf einmal etwas nicht
> stimmt. Dann habe ich systematisch alles Mögliche geprüft. Zufällig bin
> ich über das mit dem Schraubendreher gestolpert. Nur darüber habe ich
> bisher überhaupt einen reproduzierbaren Effekt erzielt.

Nur ist so was selten zielführend (ausser wenn man dadurch einen 
Wackelkontakt eines IC im Sockel findet).

Woher kommt nur immer dieses "Ich tatsche die IC möglichst an den Pins 
an und dann auch noch möglichst wenn Spannung auf der Schaltung liegt"?
Vor nicht allzulanger Zeit wäre man für so ein Verhalten gesteinigt 
worden. Da lautete die Devise: Hände weg von den IC Pins oder 
Stecker-Stiften.

von Charly B. (charly)


Lesenswert?

wenn dem wirklich so ist entschuldige ich mich,
aber du must zugeben, komisch sieht das schon aus,
oder ?

vlG
Charly

von Michael W. (neuer_nutzer)


Angehängte Dateien:

Lesenswert?

Hallo Charly,

wenn du mit dem was komisch aussieht den Thread meinst, der 
augenscheinlich per Copy&Paste mit sehr komischen Aussagen ein scheinbar 
bereits da gewesenes Problem wieder aufwärmt - noch dazu am 1. April - 
dann stimme ich dir zu, das mag schon komisch aussehen.

Aber ja, dem ist wirklich so. Alles ist so, wie ich beschrieben habe. So 
unglaubwürdig es auch klingt.

Sehr gerne akzeptiere ich deine Entschuldigung. Danke und Respekt auch 
dafür!


Zum Thema nochmal:
Aufgrund der Anregung HT vs. HTC habe ich die Platine so wie sie ist mal 
an 3.3V statt 5V angeschlossen. Das Problem ließ sich damit auf Anhieb 
nicht wieder provozieren. Das stimmt mich zuversichtlich, dass der 
Tausch gegen 74HTC595 das Problem beseitigen wird. Habe vorhin schon 
welche davon bestellt, hoffe sie kommen am Ostersamstag noch, für ein 
gutes Wochenende :) Wenn ich dann mehr weiß sage ich bescheid.


Viele Grüße,


Michael

PS: In der Hoffnung, dass es zur Festigung meiner Glaubwürdigkeit 
beiträgt, habe ich Fotos von der Platine angehängt. Das Ding gibt es 
wirklich. Gerne mache ich auch noch ein Video und lade es bei Youtube 
hoch um alle Zweifel auszuräumen ;)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael W. schrieb:
> Sehr gerne akzeptiere ich deine Entschuldigung.
Gut, ich entferne dann mal das Kleingehackte, das letztlich zu dieser 
Aussage führte. Sachdienliches wurde damit m.E. nicht gelöscht.

Michael W. schrieb:
> Es hat den Anschein, als würde eine auch noch so geringe Störung am
> Reset Pin den IC so durcheinaner bringen
Auf deiner Platine fehlen mindestens 4 Blockkondensatoren, das wurde 
aber im Beitrag Beitrag "Re: Schiberegister 74HC595 wird sehr heiß" aus 
dem du die Vorlage für deinen Schaltplan hast, auch schon angemerkt.

: Bearbeitet durch Moderator
von Michael W. (neuer_nutzer)


Angehängte Dateien:

Lesenswert?

Lothar Miller schrieb:
> Michael W. schrieb:
>> Sehr gerne akzeptiere ich deine Entschuldigung.
> Gut, ich entferne dann mal das Kleingehackte, das letztlich zu dieser
> Aussage führte. Sachdienliches wurde damit m.E. nicht gelöscht.
>
> Michael W. schrieb:
>> Es hat den Anschein, als würde eine auch noch so geringe Störung am
>> Reset Pin den IC so durcheinaner bringen
> Auf deiner Platine fehlen mindestens 4 Blockkondensatoren, das wurde
> aber im Beitrag Beitrag "Re: Schiberegister 74HC595 wird sehr heiß" aus
> dem du die Vorlage für deinen Schaltplan hast, auch schon angemerkt.

Guten Morgen Lothar,

Danke fürs Aufräumen und den Hinweis.
Die Blockkondensatoren sitzen im Sockel Schieberegister IC. Habe den 
gelinkten Beitrag aufmerksam verfolgt. War auf den vorigen Bildern 
leider nicht zu sehen. Ist aber mehrfach im Text erwähnt ;) Oder meinst 
du noch welche an anderer Stelle?

Vg Michael

von Michael W. (Gast)


Lesenswert?

Hallo zusammen!

Falls es noch einmal jemanden interessiert:

Diese Woche sind endlich die HCT Schieberegister angekommen. Damit habe 
ich keine Probleme mehr. Die HCT Chips lassen sich auch durch 100faches 
Berühren vom Reset PIN nicht durcheinander bringen. Auch im 
Schaltschrank machen sie jetzt seit ein paar Tagen einen guten Job.

Ich denke aber nicht, dass die falschen Signalpegel die tatsächliche 
Ursache waren. Ich hatte die HC Chips zuvor noch mit 3.3V an der 
gesamten Schaltung getestet und dort kam es auch zu Störungen durch 
Berührung vom Reset Pin. Bei einem Test mit 5V im Schaltschrank, wo das 
Problem der heißen Schieberegister erstmalig und ohne Fremdeinwirkung 
auftrat, ließ sich es sich aber nicht provozieren, auch nach unzähligen 
Berührungen des Pins.

Ich gehe davon aus, dass die Stromverorgung eine wesentliche Rolle 
spielt. Im Schaltschrank kommen die 5V von einem Meanwhell MDR-60-5. Bei 
den Versuchen am Tisch kam der Strom entweder vom Programmieradapter 
(5V) oder von einem Raspberry Pi (5V & 3.3V). Womöglich sind die HC oder 
auch nur diese Charge extrem empfindlich.

Wie auch immer, ich werde das nicht abschließend klären können. Aber 
hauptsache es funktioniert jetzt. Daher noch einmal herzlichen Dank an 
alle, die mir den Hinweis zum HC T gegeben haben! :)

Viele Grüße,


Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.