Forum: Mikrocontroller und Digitale Elektronik Ursache für defekte Schieberegister


von Niclas S. (Gast)


Lesenswert?

Hallo zusammen,

eines meiner Projekte verwendet zum Erfassen von ein paar Drucktastern 
an einem digitalen I/O Pin eines Arduinos ein 74HC165D Schieberegister. 
Die Drucktaster sind über ein ca. zwei Meter langes zweiadriges Kabel 
mit den Eingängen des Schieberegisters sowie der Masse direkt verbunden.

Es gibt 4 Instanzen des Projekts, in allen vieren war nach ein paar 
Tagen das Schieberegister defekt. Drei haben unabhängig vom 
Eingangssignal nur noch high an allen Eingängen ausgegeben, eines nur 
noch low.

Was kann die Schieberegister zerstört haben?

von Jörg R. (solar77)


Lesenswert?

Niclas S. schrieb:
> Was kann die Schieberegister zerstört haben?

Vermutlich der fehlende Schaltplan bzw. Fotos vom Aufbau.

von Falk B. (falk)


Lesenswert?

Niclas S. schrieb:
> Was kann die Schieberegister zerstört haben?

ESD oder anderweitig eingekoppeltes Störungen. Mit einem RC-Filter am 
Eingang und ggf. einer Z-Diode kann man das vermeiden.

https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster

Die Z-Diode kommt parallel zum Eingang.

von pegel (Gast)


Lesenswert?

Lange Leitungen liefern gern auch mal mehr als den gewünschten Pegel.

Eine Schutzschaltung aus 2 Dioden am Schieberegister sollten das Problem 
lösen.

von Niclas S. (Gast)


Lesenswert?

Cool, danke für die schnellen Rückmeldungen!

Jörg R. schrieb:
> Vermutlich der fehlende Schaltplan bzw. Fotos vom Aufbau.

;D
Der Aufbau ist wirklich so einfach wie die Beschreibung. Eingang 
Schieberegister > Drucktaster > Masse über eine 2m lange, zweiadrige 
Leitung.

Falk B. schrieb:
>ESD oder anderweitig eingekoppeltes Störungen. Mit einem RC-Filter am
> Eingang und ggf. einer Z-Diode kann man das vermeiden.
>
> https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster
>
> Die Z-Diode kommt parallel zum Eingang.

Ah danke! In meiner navien Vorstellung sollte ESD doch eigentlich kein 
Problem sein, der Taster selbst ist von außen ja nicht mit der Schlatung 
verbunden.?

In einer Probeinstallation lief das ganze problemlos über Wochen, 
allerdings mit sehr kurzen Leitungen. Können die langen Leitungen als 
Antennen wirken und eine ausreichend hohe Spannung erzeugen, die das 
Schieberegister zerstört? Weiß das jemand?

pegel schrieb:
> Lange Leitungen liefern gern auch mal mehr als den gewünschten
> Pegel.
>
> Eine Schutzschaltung aus 2 Dioden am Schieberegister sollten das Problem
> lösen.

Ah okay, sowas in der Richtung hatte ich vermutet. Warum ist das so? 
Also warum liefern lange Leitungen höhere Pegel? Versuche das zu 
verstehen, damit ich beim nächsten mal nicht den gleichen Fehler wieder 
mache :)

von pegel (Gast)


Lesenswert?

Niclas S. schrieb:
> Warum ist das so?

Eine lange Leitung ist so etwas wie eine "offene Spule".

von Falk B. (falk)


Lesenswert?

Niclas S. schrieb:
> Ah danke! In meiner navien Vorstellung sollte ESD doch eigentlich kein
> Problem sein, der Taster selbst ist von außen ja nicht mit der Schlatung
> verbunden.?

In der Tat, das ist eine reichlich naive Vorstellung. 8-0
Was glaubst du wohl, wie sich ein ESD-Puls über so eine Stück 
Kupferdraht freut, da rennt der doch glatt dran lang. Und wo landet der 
dann?

> In einer Probeinstallation lief das ganze problemlos über Wochen,
> allerdings mit sehr kurzen Leitungen.

Und feuchtem Wetter -> Keine ESD-Gefahr.

> Können die langen Leitungen als
> Antennen wirken und eine ausreichend hohe Spannung erzeugen, die das
> Schieberegister zerstört?

Die Leitung nicht unbedingt, aber wenn jemand aufgeladen an den Taster 
greift, dann schon.

> Ah okay, sowas in der Richtung hatte ich vermutet. Warum ist das so?
> Also warum liefern lange Leitungen höhere Pegel?

Das hat kein Mensch behauptet!

von Traktor (Gast)


Lesenswert?

Niclas S. schrieb:
> Der Aufbau ist wirklich so einfach wie die Beschreibung. Eingang
> Schieberegister > Drucktaster > Masse über eine 2m lange, zweiadrige
> Leitung.

Na, dann fehlen hier schonmal die Pulldown-Widerstände.
Wenn Du Taster verwendest, dann hängen die Eingänge des SR ja in der 
Luft, solange der Taster nicht betätigt wird.

Die Zustände, die Du dann einliest, variieren je nach Mondphase und 
Wasserstand der Donau.

von MaWin (Gast)


Lesenswert?

Niclas S. schrieb:
> Der Aufbau ist wirklich so einfach wie die Beschreibung

In deiner Beschreibung stehen zwar Taster nach Masse, aber nichts nach 
Plus.
Nach deiner Beschreibung kann das Ganze nicht funktionieren.
Entweder ist also deine Schaltung Scheisse, oder deine Beschreibung.
Und das schlimmste: du merkst es noch nicht Mal, obwohl du schon drauf 
hingewiesen wurdest.
DAS ist Merkbefreitheit.

von Traktor (Gast)


Lesenswert?

PS: Oder Pullups... ich hab Deinen Aufbau nicht so ganz gecheckt...
Die Taster verbinden nach Masse? Dann Pullups... sonst flattern die 
Eingänge.

von Jörg R. (solar77)


Lesenswert?

MaWin schrieb:
> In deiner Beschreibung stehen zwar Taster nach Masse, aber nichts nach
> Plus.

Ist doch simpel...

Niclas S. schrieb:
> Jörg R. schrieb:
>> Vermutlich der fehlende Schaltplan bzw. Fotos vom Aufbau.
>
> ;D
> Der Aufbau ist wirklich so einfach wie die Beschreibung. Eingang
> Schieberegister > Drucktaster > Masse über eine 2m lange, zweiadrige
> Leitung.


@TO
Setze Optokoppler vor die Eingänge des ..165.

von stefanus (Gast)


Lesenswert?

Zeige mal deinen Schaltplan und wenn es geht auch Fotos vom Aufbau samt 
Umgebung.

von Niclas S. (Gast)


Angehängte Dateien:

Lesenswert?

MaWin schrieb:
> Nach deiner Beschreibung kann das Ganze nicht funktionieren.
> Entweder ist also deine Schaltung Scheisse, oder deine Beschreibung.
> Und das schlimmste: du merkst es noch nicht Mal, obwohl du schon drauf
> hingewiesen wurdest.
> DAS ist Merkbefreitheit.

Schade, dass du so herabwürdigend formulierst :)

Aber stimmt, in der Beschreibung fehlten die Pullups! Hier dann doch mal 
der betreffende Ausschnitt. VCC ist 3,3V.

von Hp M. (nachtmix)


Lesenswert?

Falk B. schrieb:
> ESD oder anderweitig eingekoppeltes Störungen. Mit einem RC-Filter am
> Eingang und ggf. einer Z-Diode kann man das vermeiden.

Man kann CMOS-Schaltungen ebenso gut auch vom Ausgang her zerschiessen.
Eigentlich geht das sogar noch besser, weil kaum jemand damit rechnet.

von MiWi (Gast)


Lesenswert?

Niclas S. schrieb:

>
> Aber stimmt, in der Beschreibung fehlten die Pullups! Hier dann doch mal
> der betreffende Ausschnitt. VCC ist 3,3V.

Verständlich das Du den Schaltplan hintangehalten hast - so eine 
Grauslichkeit zeigt man dem Publikum nicht freiwillig....

Ist`s echt so schwer mit Deinem CAD einen vernünftigen, lesbaren und 
auch eindeutigen Schaltplan zu zeichnen? Also keinen überlappenden Text 
der nochdazu in die Leitungen hineinragt, den Refdes vor den Wert zu 
setzen, wirre Leitungen auch im Schaltplan so zu legen das man keinen 
Augenkrebs beim Suchen bekommt...

von Hp M. (nachtmix)


Lesenswert?

MiWi schrieb:
> Ist`s echt so schwer mit Deinem CAD einen vernünftigen, lesbaren und
> auch eindeutigen Schaltplan zu zeichnen?

Anfänger halt.
Von den langen Leitungen und etwaigen Steckern ist auf dem Gemälde ja 
auch nichts zu sehen.

von Niclas S. (Gast)


Lesenswert?

MiWi schrieb:
> Verständlich das Du den Schaltplan hintangehalten hast - so eine
> Grauslichkeit zeigt man dem Publikum nicht freiwillig....
>
> Ist`s echt so schwer mit Deinem CAD einen vernünftigen, lesbaren und
> auch eindeutigen Schaltplan zu zeichnen? Also keinen überlappenden Text
> der nochdazu in die Leitungen hineinragt, den Refdes vor den Wert zu
> setzen, wirre Leitungen auch im Schaltplan so zu legen das man keinen
> Augenkrebs beim Suchen bekommt...

:D

Verzeiht euer Durchlaucht, dass ich Euch durch mein unwürdiges Gekritzel 
provoziert habe. Ja, ich kann es nicht besser, fühlst du dich jetzt gut?

Tatsächlich habe ich keine Schaltung gepostet, weil mir klar war dass es 
zu solchen thematischen Entgleisungen kommen würde. Schon etwas traurig.

von Percy N. (vox_bovi)


Lesenswert?

Falk B. schrieb:
> Niclas S. schrieb:
>> Also warum liefern lange Leitungen höhere Pegel?
>
> Das hat kein Mensch behauptet!

pegel schrieb:
> Lange Leitungen liefern gern auch mal mehr als den gewünschten
> Pegel.
>
> Eine Schutzschaltung aus 2 Dioden am Schieberegister sollten das Problem
> lösen.

Sind Pegel keine Menschen?

von HildeK (Gast)


Lesenswert?

Niclas S. schrieb:
> Aber stimmt, in der Beschreibung fehlten die Pullups!

Ja. Und für die beschriebenen mehrere Meter Leitungslänge sind sie viel 
zu hochohmig gewählt.
Wenn es Taster sind (also nur kurzzeitig geschlossen), dann wähle 1k 
statt 51k. Sind es Schalter, kannst du auch etwas höher gehen, um Strom 
zu sparen, falls das wichtig sein sollte.
Unbenommen sind die Hinweise auf Dioden und ein kleines C zur 
Unterdrückung von HF-Einstreuungen.

von Wolfgang (Gast)


Lesenswert?

Niclas S. schrieb:
> Aber stimmt, in der Beschreibung fehlten die Pullups! Hier dann doch mal
> der betreffende Ausschnitt. VCC ist 3,3V.

Die Widerstände sind viel zu hochohmig. Falls du nicht gerade Taster mit 
Goldkontakten verwendest, ist der Strom zu niedrig, um die 
Kontaktoberfläche langfristig sauber zu halten.

p.s.
Zeichne deine Pull-Up Widerstände mal nach oben. Deshalb heißen die so.
Etwas Ordnung im Schaltplan dient immer der Übersichtlichkeit.

von Niclas S. (Gast)


Lesenswert?

HildeK schrieb:
> Ja. Und für die beschriebenen mehrere Meter Leitungslänge sind sie viel
> zu hochohmig gewählt.
> Wenn es Taster sind (also nur kurzzeitig geschlossen), dann wähle 1k
> statt 51k. Sind es Schalter, kannst du auch etwas höher gehen, um Strom
> zu sparen, falls das wichtig sein sollte.
> Unbenommen sind die Hinweise auf Dioden und ein kleines C zur
> Unterdrückung von HF-Einstreuungen.

Danke! :)

Der 1k Widerstand wäre dann aber nur dazu da, um ein stärkeres Signal zu 
geben, oder kann das auch etwas mit dem Defekt zu tun haben?

Oder anders gefragt, warum ist ein hochohmiger Pullup ein Problem bei 
längerer Leitungslänge?

von HildeK (Gast)


Lesenswert?

Niclas S. schrieb:
> Der 1k Widerstand wäre dann aber nur dazu da, um ein stärkeres Signal zu
> geben, oder kann das auch etwas mit dem Defekt zu tun haben?
Er nichts direkt mit dem Defekt zu tun.

> Oder anders gefragt, warum ist ein hochohmiger Pullup ein Problem bei
> längerer Leitungslänge?
Oder anders geantwortet: Irgendwelche Störungen, sei es ESD oder 
HF-Einstreuungen werden wesentlich stärker belastet durch 1k anstatt 
durch 51k. Es sind ja hochohmige Einkopplungen, die den PU als Last 
sehen.

Hier mal eine Zusammenfassung von mehreren Vorschlägen, die bisher 
gemacht wurden:
1
          .---------------o------------o-------o VCC
2
          |               |            |
3
          |               |     .------o----.
4
         .-.              |     |           |
5
         | |              |     |           |
6
         | | 1k           -  D  |           |
7
         '-'              ^     |           |
8
          |               |     |           |
9
          |   ___         |     |           |
10
     o----o--|___|---o----o-----o IC-Eingang|
11
              10k    |    |     |           |
12
                    ---   -     |           |
13
                    ---   ^ D   |           |
14
                  1n |    |     |           |
15
                     |    |     |           |
16
                     |    |     '------o----'
17
                     |    |            |
18
     o---------------o----o------------o-------o GND
19
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
- 1k Pullup
- 10k in Serie mit 1n: Filter, Strombegrenzung für die Dioden, 
ESD-Schutz
- zwei Dioden zum Ableiten von ESD-Impulsen.

Wobei ich die beiden Dioden nicht als erstes nehmen würde, die sind im 
IC ja auch schon vorhanden. Sie sind dann wichtig, wenn du eine externe 
Spannung anlegst, deren Wert auch mal > VCC sein kann.

von foobar (Gast)


Lesenswert?

> Oder anders gefragt, warum ist ein hochohmiger Pullup ein Problem bei
> längerer Leitungslänge?

Stell es dir wie ein straff oder locker gespanntes Seil vor.  Bei dem 
locker gespannten führt jeder kleine Windstoß zu Auslenkungen, beim 
straffen müssen die Störungen dagegen ankämpfen.

von Wolfgang (Gast)


Lesenswert?

HildeK schrieb:
> Wobei ich die beiden Dioden nicht als erstes nehmen würde

Die internen Dioden vertragen 20mA (Nexperia). Um diesen Strom bei einem 
Vorwiderstand von 10kΩ zu überschreiten, müsste man am Eingang schon 
länger eine Spannung von über 200V anlegen. Damit der Widerstand das 
verträgt, müsste er eine Leistung von 4W umsetzen können.
Anders ausgedrückt: Solange das kein 4W Widerstand ist, sind die Dioden 
in der Tat überflüssig. Und es müssten natürlich Schottky-Dioden sein, 
damit sie die internen Dioden effektiv entlasten können.

von Peter D. (peda)


Lesenswert?

Wichtig wäre, ob da wirklich nur 2m Kabel dazwischen sind oder nicht 
doch noch Steckverbinder.
Dann kann ein statisch aufgeladenes Kabel beim Stecken sich über den IC 
entladen, d.h. ihn zerstören.
Deshalb haben z.B. USB-Stecker voreilende GND/VCC Anschlüsse.
Und beim Einbau einer HDD in den PC steckt man immer zuerst das 
Powerkabel an und danach das Datenkabel.

von stefanus (Gast)


Lesenswert?

Niclas S. schrieb:
> Also warum liefern lange Leitungen höhere Pegel?

Weil sie

a) Elektromagnetische Wellen wie Antennen empfangen. In der Tat ist jede 
Leitung eine Antenne.

b) Auf langen Leitungen Schwingungen entstehen. Bei der Resonanzfrequenz 
reicht ein kurzer Schubs für eine große Schwingung. Das ist wie bei 
einem Pendel, das an einer langen Schnur baumelt.

Deine recht hochohmigen Pull-Up Widerstände sind hier mit Schuld. Ich 
würde hier zu 4,7k bis maximal 10k Ohm raten. Der Vorschlang von Hildek 
geht noch weiter und ist durchaus Sinnvoll.

von voltwide (Gast)


Lesenswert?

Es hat sich bewährt jeden empfindlichen uP-Eingang von der pöhsen 
Aussenwelt durch einen Reihenwiderstand von z.B. 10kOhm zu schützen.

von Niclas S. (Gast)


Lesenswert?

Danke, danke!

Das hilft meinem Verständnis weiter. Jetzt habe ich eine Vorstellung 
davon, was die Ursache für den Defekt sein kann und wie dem vorzubeugen 
ist.

Bin gespannt, ob es in der verbesserten Version dann rund läuft :)

von Maxe (Gast)


Lesenswert?

Ich glaub nicht an eine Einkupplung ueber die Leitung in diesem Fall. 
Das kann mal passieren, wuerde aber nicht mehrere Chips hintereinander 
zerstoeren. Entweder ist wo ein Kurzschluss (z.B. unaufgeraeumter Tisch) 
oder der Ausgang wird ueberlastet, z.B. beim Reset des Mikrocontrollers.

Nur Vermutungen meinerseits.

von MiWi (Gast)


Lesenswert?

Niclas S. schrieb:
> MiWi schrieb:
>> Verständlich das Du den Schaltplan hintangehalten hast - so eine
>> Grauslichkeit zeigt man dem Publikum nicht freiwillig....
>>
>> Ist`s echt so schwer mit Deinem CAD einen vernünftigen, lesbaren und
>> auch eindeutigen Schaltplan zu zeichnen? Also keinen überlappenden Text
>> der nochdazu in die Leitungen hineinragt, den Refdes vor den Wert zu
>> setzen, wirre Leitungen auch im Schaltplan so zu legen das man keinen
>> Augenkrebs beim Suchen bekommt...
>
> :D
>
> Verzeiht euer Durchlaucht, dass ich Euch durch mein unwürdiges Gekritzel
> provoziert habe. Ja, ich kann es nicht besser, fühlst du dich jetzt gut?
>

Nö, mir ist das egal. Meine Erfahrung ist nur die das wenn man jemandem 
das streichelweich mit Samthandschuhen sagt passiert nix, wenn man das 
jemandem um die Ohren pfeffert dann ändert sich vielleicht was beim 
nächsten Schaltplan zum besseren.

> Tatsächlich habe ich keine Schaltung gepostet, weil mir klar war dass es
> zu solchen thematischen Entgleisungen kommen würde. Schon etwas traurig.

Beim nächsten Plan den Du postest wird es besser sein, also derzeit kein 
Grund zur Traurigkeit.

Abgesehen davon: Wenn Du in dem Bereich in dem Du kompetent bist etwas 
vorgesetzt bekommst das den üblichen Kriterien nicht entspricht wirst Du 
auch nicht lieb und leise vor Dich hinsäuseln das das aber gar nicht so 
geht sondern vernehmlichen Klartext schreiben - hoffentlich.

von Jens G. (jensig)


Lesenswert?

MiWi (Gast) schrieb:

>Nö, mir ist das egal. Meine Erfahrung ist nur die das wenn man jemandem
>das streichelweich mit Samthandschuhen sagt passiert nix, wenn man das
>jemandem um die Ohren pfeffert dann ändert sich vielleicht was beim
>nächsten Schaltplan zum besseren.

Ja, und wenn Du Deine Grammatik und Rechtschreibung nicht bald 
wesentlich verbesserst, dann bekommst Du deinen Kauderwelch von der 
Deutschlehrerin um die Ohren gepfeffert ...

von HildeK (Gast)


Lesenswert?

Wolfgang schrieb:
> Die internen Dioden vertragen 20mA (Nexperia).
Wenn es irgendwo spezifiziert ist, dann ist es ja gut. Meist muss man 
aber von weniger ausgehen.

> müsste man am Eingang schon
> länger eine Spannung von über 200V anlegen. Damit der Widerstand das
> verträgt, müsste er eine Leistung von 4W umsetzen können.
Ja, für DC schon. Meist sind es aber nur ESD-Puls kürzester Dauer. Da 
kommen im Mittel keine 4W zusammen.

von A. S. (Gast)


Lesenswert?

Maxe schrieb:
> Ich glaub nicht an eine Einkupplung ueber die Leitung in diesem Fall.
> Das kann mal passieren, wuerde aber nicht mehrere Chips hintereinander
> zerstoeren. Entweder ist wo ein Kurzschluss (z.B. unaufgeraeumter Tisch)
> oder der Ausgang wird ueberlastet, z.B. beim Reset des Mikrocontrollers.

Das sehe ich auch so. Und wenn die Serienwiderstände drin sind, ist es 
fast unmöglich.

Wie stellt der TO eigentlich den defekt fest? Wirklich mit Messung der 
Logikpegel (ein- Ausgang) am IC? Oder einfach nur geht nicht, von 
Lötstelle bis SW.

von Niclas S. (Gast)


Lesenswert?

Maxe schrieb:
> Das kann mal passieren, wuerde aber nicht mehrere Chips hintereinander
> zerstoeren. Entweder ist wo ein Kurzschluss (z.B. unaufgeraeumter Tisch)
> oder der Ausgang wird ueberlastet, z.B. beim Reset des Mikrocontrollers.

Ein Kurzschluss kann mit hoher Sicherheit ausgeschlossen werden. Alle 
Bauteile sind auf einer Platine sauber verlötet, die wiederum in einem 
Gehäuse sitzt.

Du meinst, der Ausgang des Schieberegisters kann durch einen Reset des 
Mikrocontrollers überlastet werden? Kannst du den Vorgang genauer 
beschreiben? Wo kann es da zu einer Überlastung kommen?

Dagegen würde doch sprechen, dass die Schaltung über viele Wochen mit 
sehr vielen Resets sauber lief. Einziger Unterschied sind die 2m 
Leitungen zu den Momentschaltern statt der 15cm im Testbetrieb.

A. S. schrieb:
> Wie stellt der TO eigentlich den defekt fest? Wirklich mit Messung der
> Logikpegel (ein- Ausgang) am IC? Oder einfach nur geht nicht, von
> Lötstelle bis SW.

Bisher hatte ich mich auf die Ausgabe der SW verlassen, auf eine erste 
Vermutung hin das Schieberegister gegen ein neues getauscht, was das 
ganze dann auch wieder wie erwartet funktionieren ließ.

Aber danke für den Hinweis! Ich messe das noch mal nach.

von Niclas S. (Gast)


Lesenswert?

Niclas S. schrieb:
> A. S. schrieb:
>> Wie stellt der TO eigentlich den defekt fest? Wirklich mit Messung der
>> Logikpegel (ein- Ausgang) am IC? Oder einfach nur geht nicht, von
>> Lötstelle bis SW.
>
> Aber danke für den Hinweis! Ich messe das noch mal nach.

Die Messung mit dem Oszilloskop bestätigt die Ausgabe der Software: der 
Ausgang des Schieberegisters bleibt unabhängig vom Eingangssignal 0V, 
bei einer Platine mit neuem Schieberegister sieht man schön das 
Ausgangssignal auf Kanal zwei, parallel zum Takt auf Kanal 1.

von A. S. (Gast)


Lesenswert?

Niclas S. schrieb:
> Die Messung mit dem Oszilloskop bestätigt die Ausgabe der Software: der
> Ausgang des Schieberegisters bleibt unabhängig vom Eingangssignal 0V,
> bei einer Platine mit neuem Schieberegister sieht man schön das
> Ausgangssignal auf Kanal zwei, parallel zum Takt auf Kanal 1.

Und warum nimmst Du an, dass die Eingänge was damit zu tun haben? Es 
müssten ja schlagartig alle kaputt gegangen sein. Da scheint es mir doch 
wahrscheinlicher, dass der Schaltplan der anderen Pins interessanter 
ist.

aber wie auch immer, mit einem Serienwiderstand in der Größenordnung 1K 
vor jedem Eingang tritt das Problem in der Quantität sicher nicht mehr 
auf.

von Maxe (Gast)


Lesenswert?

Niclas S. schrieb:
> Du meinst, der Ausgang des Schieberegisters kann durch einen Reset des
> Mikrocontrollers überlastet werden?
Genaugenommen nicht durch den Reset selbst, sondern, wenn die 
Mikrocontrollerpins kurzfristig auf Ausgang gesetzt werden und dann 
gegen das Schieberegister arbeiten. Was bspw. beim Reset vorstellbar 
waere. Oder die lange Leitung bringt Stoerimpulse auf den 
Mikrocontroller, der dann 'abstuerzt' und es zum unbeabsichtigten 
Schalten der Ports kommt. Der Mikrocontroller muss dadurch auch nicht 
beschaedigt werden. Das sind jetzt aber alles nur Spekulationen.
Der angesprochene Serienwiderstand zwischen Schieberegisterausgang und 
Mikrocontroller wuerde vor einem falschen Pegel schuetzen, so ein 
'falscher' Pegel kann auch durch einen Programmierfehler passieren.

von spess53 (Gast)


Lesenswert?

Hi

>Genaugenommen nicht durch den Reset selbst, sondern, wenn die
>Mikrocontrollerpins kurzfristig auf Ausgang gesetzt werden und dann
>gegen das Schieberegister arbeiten. Was bspw. beim Reset vorstellbar
>waere.

RESET setzt die PINs auf Eingang.

MfG Spess

von Peter D. (peda)


Lesenswert?

Niclas S. schrieb:
> Einziger Unterschied sind die 2m
> Leitungen zu den Momentschaltern statt der 15cm im Testbetrieb.

Wir wissen immer noch nicht, ob Stecker dazwischen sind.
Beitrag "Re: Ursache für defekte Schieberegister"

von Niclas S. (Gast)


Lesenswert?

spess53 schrieb:
> RESET setzt die PINs auf Eingang.
>
> MfG Spess

Das hatte ich so auch im Hinterkopf und deshalb mir die Annahme nicht 
erklären können.

Peter D. schrieb:
> Wir wissen immer noch nicht, ob Stecker dazwischen sind.
> Beitrag "Re: Ursache für defekte Schieberegister"

Ah, richtig. Ein klares Jein :)
Die Schalter sind über zweiadrige Leitungen an JST-Stecker gelötet. 
Diese werden aber nur zur Installation gesteckt. Ab dann verbleiben die 
in den Buchsen.

A. S. schrieb:
> Und warum nimmst Du an, dass die Eingänge was damit zu tun haben? Es
> müssten ja schlagartig alle kaputt gegangen sein. Da scheint es mir doch
> wahrscheinlicher, dass der Schaltplan der anderen Pins interessanter
> ist.
>
> aber wie auch immer, mit einem Serienwiderstand in der Größenordnung 1K
> vor jedem Eingang tritt das Problem in der Quantität sicher nicht mehr
> auf.

Tiefer als "die Gesamtblackbox Schieberegister ist defekt" habe ich 
bisher eigentlich noch nichts weiter angenommen. So genau kenne ich den 
internen Aufbau davon nicht.

In meiner naiven Vorstellung (Ja, die ist stellenweise sehr naiv. Mit 
umso größerem Interesse lerne ich dann dazu, wenn ich etwas neues finde, 
oder mir jemand hilft. Nur schon mal vorab, falls sich da wieder jemand 
drüber auslassen möchte.) wäre es aber durchaus möglich, dass z.B. durch 
einen ESD-Puls etwas darin kaputt geht, das dann direkt das ganze 
Schieberegister lahm legt, statt nur einen einzelnen Eingang. Hat da 
jemand detaillierte Erfahrungen mit Schadensbildern?

Drei von acht Schieberegister Eingängen sind auch nicht an einen Taster 
angeschlossen und haben einfach nur einen Pullup.

Maxe schrieb:
> Der angesprochene Serienwiderstand zwischen Schieberegisterausgang und
> Mikrocontroller wuerde vor einem falschen Pegel schuetzen, so ein
> 'falscher' Pegel kann auch durch einen Programmierfehler passieren.

Tatsächlich liegt ein 1k Serienwiderstand zwischen dem Ausgang des 
Schieberegisters und dem µC Pin. Allerdings hat der vor allem die 
Funktion, den Betrieb des Schieberegisters am ansonsten anderweitig 
genutzen I²C Bus zu ermöglichen. In diesem Projekt kommt der I²C Bus 
allerdings nicht zum Einsatz, bevor jetzt alle "Aha!" rufen und sich 
darauf stürzen ;)

Auch deswegen habe ich keine komplette Schaltung gepostet. Die Platine 
ist ein Multifunktions Interface für Arduino Pro Mini Boards mit 
etlichen Komponenten. RF, LAN, MP3 Module, mehrere Input und Output 
Register, RFID Sensoren und sowas. Mit integrierter Spannungsversorgung 
(5V USB über Buckkonverter auf 3.3V) und CH340G USB-Interface.

Da das alles aber in verschiedensten Projekten schon sehr gut 
funktioniert und nur in diesem Fall bisher Probleme aufgetreten sind, 
die ich mir nicht erklären konnte, habe ich mich auf den Bereich 
konzentiert, den ich am wahrscheinlichsten für die Fehlerursache halte.

Ich denke auch, dass ich durch die Infos, die ich hier bekommen habe, 
jetzt besser einschätzen kann, was ich falsch gemacht habe. Der 
ursprüngliche Aufbau an den Schieberegistereingängen war eben nur unter 
Laborbedingungen tauglich. Ich bin sehr gespannt, ob es nun mit 
Widerstand und Schutzdiode reibungslos läut! Ein großes Dank an alle mit 
konstruktivem Input!

von Stefan F. (Gast)


Lesenswert?

Maxe schrieb:
> Ich glaub nicht an eine Einkupplung ueber die Leitung in diesem Fall.
> Das kann mal passieren, wuerde aber nicht mehrere Chips hintereinander
> zerstoeren.

Warum nicht. Was einmal passiert kann sich wiederholen. Das ist sogar 
sehr wahrscheinlich.

von Peter D. (peda)


Lesenswert?

voltwide schrieb:
> Es hat sich bewährt jeden empfindlichen uP-Eingang von der pöhsen
> Aussenwelt durch einen Reihenwiderstand von z.B. 10kOhm zu schützen.

Ich mache das auch immer so, sobald ein µC-Pin die Platine verläßt.
Eingänge: 1k .. 10k
Ausgänge 100R .. 1k

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> Auch deswegen habe ich keine komplette Schaltung gepostet.

Dir ist aber hoffentlich klar, dass du uns damit in die Irre führst. Das 
ist nicht nett!

von Niclas S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Dir ist aber hoffentlich klar, dass du uns damit in die Irre führst. Das
> ist nicht nett!

Öh - nein? :) Das war zumindest ganz sicher nicht meine Absicht.

Im Gegenteil, der Fokus auf das Wesentliche führt doch meist viel 
schneller zum Ziel - wenn das nicht ausgerechnet der Grund ist, warum 
man die Lösung nicht findet - zugegeben ;)
Die allgemeine Aufmerksamkeit hätte sich aber vermutlich auf sämtliche 
übrigen Unzulänglichkeiten des ansonsten rund laufenden Projekts 
gerichtet, das hat man ja am Schaltplan schön gesehen. Der ist übrigens 
aus KiCad und dient in erster Linie der Erstellung der Platine. Es liegt 
nicht im Rahmen meiner Skills das mal eben neu zu zeichnen, zumal ich 
die Dos und Don'ts bei Schaltungsplänen ohnehin nicht kenne - würde also 
nicht weniger, sondern nur andere Beschwerden produzieren ;)

Ich hatte auch nicht den Eindruck, dass der konstruktive Teil der 
Antworten sich wesentlich daran gestört hätte. Ich bin das Kommunizieren 
dieser Themen in dieser Form eben nicht geübt, so what.

"Augenkrebs, Merkbefreitheit, Schaltung Scheisse" - wer's nötig hat...
Es hat doch super geklappt so. Wenn jetzt jemand nach den Stichworten 
sucht, wird er direkt mit einer möglichen Lösung fündig :)
Zumindest Anfängern wie mir kann das helfen!

Es ticken halt nicht alle gleich.

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> Im Gegenteil, der Fokus auf das Wesentliche führt doch meist viel
> schneller zum Ziel

Oder er blendet relevante Sachen aus, die zur Problemursache gehören.

Der Punkt ist: Wenn du wüsstest, was du weglassen kannst, bräuchtest du 
uns nicht fragen, wo das Problem ist. Oder anders gesagt: Der Fehler 
sitzt meistens vor dem Bildschirm. Man verarscht sich selbst, indem man 
sagt "Dies oder das kann es nicht sein", ohne diese Behauptung zu 
prüfen.

Deswegen kommt man erfahrungsgemäß besser weiter, indem man entweder 
alle Informationen vorlegt oder die reduzierte Schaltung/Software 
testet, bevor man sich selbst oder anderen sagt "ich habe nur 
irrelevante Sachen weg gelassen".

von Dirk (Gast)


Lesenswert?

Ich würde jeden Eingang noch einen Serienwiderstand spendieren.

von Niclas S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Oder er blendet relevante Sachen aus, die zur Problemursache gehören.

Da gebe ich dir Recht! Das steht aber doch überhaupt nicht im 
Widerspruch dazu, sich im ersten Schritt erst mal um die 
wahrscheinlichsten Möglichkeiten zu kümmern.

> Der Punkt ist: Wenn du wüsstest, was du weglassen kannst, bräuchtest du
> uns nicht fragen, wo das Problem ist.

Nö. Wissen und vermuten ist ja nicht das gleiche. Ich hatte eine 
Vermutung und jetzt durch die Hilfe der konstruktiven Foristen eine 
solide These, die es zu überprüfen gilt. Offensichtlich hat es doch sehr 
gut geklappt.

Das Weglassen eines Eingangswiderstands am Schieberegister und der zu 
hoch gewählte Pullup scheinen nach den Antworten bisher doch zwei 
ziemlich dicke Hunde zu sein. Da lerne ich gerne draus!

Das Vorgehen, kein großes Fass dafür auf zu machen war dann doch sehr 
passend im Sinne einer schnellen Lösung. Wenn es weiterhin nicht klappt, 
suche ich eben weiter und grabe dann tiefer.

von A. S. (Gast)


Lesenswert?

Wenn da noch Trickschaltungen dran sind, dann schaue Mal z.b. an Pin 1. 
Oder oder Kreuztest, ob das Defekte IC vielleicht beim erneuten Tausch 
wieder läuft.

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> Das steht aber doch überhaupt nicht im
> Widerspruch dazu, sich im ersten Schritt erst mal um die
> wahrscheinlichsten Möglichkeiten zu kümmern.

Korrekt. Aber wenn dann Leute nach dem Schaltplan fragen, sollte man 
nicht einen vereinfachten Plan zeigen und das verheimlichen.

Noch eine Sache die du prüfen kannst: bekommen beide IC's gleichzeitig 
ihre Versorgungsspannung? Oder werden die irgendwo getrennt geschaltet 
oder kommen von separaten Netzteilen/Spannungsreglern?

Ich frage weil (fast immer) Spannungen an allen I/O Pins nicht außerhalb 
der Versorgungsspannung liegen dürfen.

von Niclas S. (Gast)


Lesenswert?

A. S. schrieb:
> Wenn da noch Trickschaltungen dran sind, dann schaue Mal z.b. an
> Pin 1.
> Oder oder Kreuztest, ob das Defekte IC vielleicht beim erneuten Tausch
> wieder läuft.

Was sind denn Trickschaltungen? :)

An Pin 1 des HC165D hängt direkt ein GPIO Pin des ATmega328. Wonach 
sollte ich da schauen?

Und interessant: darauf das defekte Schieberegister noch mal einzubauen, 
um das als Fehlerstelle zu verifizieren, wäre ich aus vermuteter 
Offensichtlichkeit gar nicht gekommen. Aber das schadet nicht, hab's 
eben versucht: Wie erwartet funktioniert es aber mit dem defekten wieder 
nicht und dann doch wieder mit dem neuen. Danke für den Tip!

von Wolfgang (Gast)


Lesenswert?

Maxe schrieb:
> Genaugenommen nicht durch den Reset selbst, sondern, wenn die
> Mikrocontrollerpins kurzfristig auf Ausgang gesetzt werden und dann
> gegen das Schieberegister arbeiten. Was bspw. beim Reset vorstellbar
> waere.
Dann nennen mal bitte auch nur einen Mikrocontroller, der beim Reset 
einen DIO-Pin auf Ausgang setzt.

von Niclas S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Noch eine Sache die du prüfen kannst: bekommen beide IC's gleichzeitig
> ihre Versorgungsspannung? Oder werden die irgendwo getrennt geschaltet
> oder kommen von separaten Netzteilen/Spannungsreglern?

Ja, die bekommen ihren Strom beide über einen Buckkonverter, der aus 5V 
USB-Power 3,3V macht. Gepuffert mit 470µF. Jeder IC hat außerdem einen 
1µF Entkopplungskondensator. Die Platine ist 4lagig und hat in der Mitte 
eine Kupferlage gemeinsame Masse.

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> Was sind denn Trickschaltungen? :)
> Wonach sollte ich da schauen?

Siehst du immer noch nicht ein, dass der echte Schaltplan gebraucht 
wird?

von Stefan F. (Gast)


Lesenswert?

Jetzt kommen die ganzen Salamischeiben, die sich aus dem Plan ergeben 
hätten.

Niclas S. schrieb:
> Ja, die bekommen ihren Strom beide über einen Buckkonverter, der aus 5V
> USB-Power 3,3V macht. Gepuffert mit 470µF

470µF an USB? Das ist 50x mehr als die Erfinder von USB eingeplant 
haben: https://www.ti.com/lit/an/slyt118/slyt118.pdf

> Jeder IC hat außerdem einen 1µF Entkopplungskondensator.

Elkos? Wenn ja, dann bitte durch 100nF (nicht Elko) austauschen.

von Niclas S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Jetzt kommen die ganzen Salamischeiben, die sich aus dem Plan
> ergeben hätten.
>
> Niclas S. schrieb:
> Ja, die bekommen ihren Strom beide über einen Buckkonverter, der aus 5V
> USB-Power 3,3V macht. Gepuffert mit 470µF
>
> 470µF an USB? Das ist 50x mehr als die Erfinder von USB eingeplant
> haben: https://www.ti.com/lit/an/slyt118/slyt118.pdf
>
> Jeder IC hat außerdem einen 1µF Entkopplungskondensator.
>
> Elkos? Wenn ja, dann bitte durch 100nF (nicht Elko) austauschen.

q.e.d. =D

Kunststück, den ganzen Bereich wollte ich ja aussparen. Das würde alles 
sehr umfangreich werden. Belassen wir es dabei :)

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> den ganzen Bereich wollte ich ja aussparen.

Wie soll ich das verstehen. Wolltest du ein Problem lösen, oder nicht?

von Hp M. (nachtmix)


Lesenswert?

Niclas S. schrieb:
> wäre es aber durchaus möglich, dass z.B. durch
> einen ESD-Puls etwas darin kaputt geht, das dann direkt das ganze
> Schieberegister lahm legt, statt nur einen einzelnen Eingang. Hat da
> jemand detaillierte Erfahrungen mit Schadensbildern?

Ja, wie ich schon schrieb, kann man CMOS-ICs auch mittels ESD vom 
Ausgang her zerstören. Dazu reicht eine elektrostatisch aufgeladene 
Meßstrippe, wenn man das Voltmeter nicht zuerst an Masse angeschlossen 
hat.
Bei beiden Arten der Zerstörung, sowohl vom Eingang her wie  auch vom 
Ausgang her, sind Diodenstrecken beteiligt, die teils absichtlich 
(Schutzdioden an den Eingängen) und teils als parasitäre Bauteile 
(Drainanschlüsse der MOSFETs) vorhanden sind.

Bei der Herstellung der CMOS-ICs ergibt sich als Nebeneffekt eine 
pnpn-Struktur, die anderswo als Thyristor bezeichnet wird.
Die "äußeren" p und n entsprechen den GND/Vss-Anschlüssen bzw 
+Versorgung/Vdd.
Die inneren p und n sind (bei Eingängen) die mit dem Gate verbundenen 
Anschlüsse der Schutzdioden, und bei Ausgängen sind es die 
Drain-Anschlüsse der komplementären MOSFETs.
Diese Diodenstrecken bilden die Gate-Anschlüsse der parasitären 
Thyristoren.

Bei einer ESD-Zerstörung vom Eingang her erfolgt meist gar kein 
Durchschlag des Gate-Oxids, sondern bei anliegender Versorgungsspannung 
zündet der Stromfluss durch die Schutzdiode den parasitären Thyristor, 
der dann Vss und Vdd direkt miteinander verbindet.

Bei einer genügend leistungsfähigen Stromversorgung verglüht dann der 
Chip durch den hohen Stromfluß, oder die Bonddrähtchen brennen durch.
Entsprechendes passiert, wenn durch ESD die Ausgangsspannung die durch 
die Versorgungsspannung gegebenen Grenzen verlässt, und dort der 
Stromfluss durch die parasitären Drain-Dioden den Thyristor triggert.

Man kann diese Zerstörung des ICs durch ESD vermeiden, wenn man die 
Stromlieferfähigkeit der Versorgung auf ein vertretbares Maß, z.B. 50mA 
beschränkt. Der Chip arbeitet nach einem ESD-Zwischenfall dann zwar 
nicht mehr, weil der Thyristor die Versorgung kurzschliesst, aber er 
wird auch nicht dauerhaft beschädigt und ist spätestens nach dem 
Unterbrechen der Versorgung wieder funktionsfähig.
https://de.wikipedia.org/wiki/Latch-Up-Effekt

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Wolfgang schrieb:
> Dann nennen mal bitte auch nur einen Mikrocontroller, der beim Reset
> einen DIO-Pin auf Ausgang setzt.
Beim Reset nicht, aber gleich danach reicht ein kleiner SW-Fehler.
Allerdings sind die meisten ICs nicht gleich kaputt, wenn mal zwei 
Ausgänge aufeinander treiben. Das ist mir selten auch schon passiert, 
ohne Defekte danach.

von foobar (Gast)


Lesenswert?

> Allerdings hat der vor allem die Funktion, den Betrieb des
> Schieberegisters am ansonsten anderweitig genutzen I²C Bus
> zu ermöglichen.

Der I²C-Bus hängt aber nicht per Pull-Up an 5V, oder?

von Niclas S. (Gast)


Lesenswert?

Hp M. schrieb:
> Bei einer ESD-Zerstörung vom Eingang her erfolgt meist gar kein
> Durchschlag des Gate-Oxids, sondern bei anliegender Versorgungsspannung
> zündet der Stromfluss durch die Schutzdiode den parasitären Thyristor,
> der dann Vss und Vdd direkt miteinander verbindet.
>
> Bei einer genügend leistungsfähigen Stromversorgung verglüht dann der
> Chip durch den hohen Stromfluß, oder die Bonddrähtchen brennen durch.

Sehr interessant, das würde ja zu den Symptomen passen. Werde ich auf 
jeden Fall vertiefen und mal schauen, inwieweit ich das beim nächsten 
Projekt berücksichtigen kann.

Danke!

foobar schrieb:
> Der I²C-Bus hängt aber nicht per Pull-Up an 5V, oder?

I²C ist komplett 3,3V. Da hängen ansonsten das RF und das LAN Modul 
dran, aber ohnehin nicht bei diesem Projekt.

Stefan ⛄ F. schrieb:
> Wie soll ich das verstehen. Wolltest du ein Problem lösen, oder nicht?

Ich vermute optimistisch, dass das Problem bereits gelöst ist. Ich halte 
einen ESD Puls für die wahrscheinlichste Ursache.

Eine These, die es jetzt zu überprüfen gilt. Mal schauen, wie sich das 
mit Serienwiderständen an den Eingängen und 4,7k Pullups schlägt :)

von Stefan F. (Gast)


Lesenswert?

Niclas S. schrieb:
> Ich vermute optimistisch, dass das Problem bereits gelöst ist. Ich halte
> einen ESD Puls für die wahrscheinlichste Ursache.
> Eine These, die es jetzt zu überprüfen gilt.

Allerdings. Ich kann dir dazu nur sagen, dass mir in meinem ganzen Leben 
nur ein einziges mal ein IC kaputt gegangen ist, wo dies der Fall 
gewesen sein könnte. In allen anderen Fällen habe ich die Ursache 
eindeutig gefunden.

Unsere Mikrochips sind nämlich gegen schwache Entladungen (Berührung) 
ganz gut geschützt. Die Zeiten, wo man ungeschützte IC's kaufen konnte, 
endeten irgendwann in den 80er Jahren, glaube ich.

Die Schuld auf ESD zu schieben, ist daher für mich so wie das 
Antibiotikum beim Arzt. Das macht man, wenn man sonst keinen besseren 
Plan mehr hat, aber nicht "keine Ahnung, was los ist" sagen will.

Ich will damit äußere Beschaltungen zum Schutz nicht herabwürdigen. Der 
macht durchaus Sinn. Doppelte Sicherheit hat noch nie geschadet, 
deswegen haben wir ja auch Airbags und Gurte im Auto, zusätzlich zur 
ausgefuchsten Karosserie.

von Hp M. (nachtmix)


Lesenswert?

Niclas S. schrieb:
> Sehr interessant, das würde ja zu den Symptomen passen.

Latchup kannst du fühlen!
Halte einfach einen Finger auf das in Betrieb befindliche IC.
Wenn sich dort die Typenbezeichnung einbrennt, ist die Ursache Latchup.

von Mark S. (voltwide)


Lesenswert?

Hp M. schrieb:
> Niclas S. schrieb:
>> Sehr interessant, das würde ja zu den Symptomen passen.
>
> Latchup kannst du fühlen!
> Halte einfach einen Finger auf das in Betrieb befindliche IC.
> Wenn sich dort die Typenbezeichnung einbrennt, ist die Ursache Latchup.

Das Resultat der Fingerprobe hängt davon ab, wie weit Du selbst statisch 
aufgeladen bist gegen den Rest der Welt. Ich hatte in der Firma so einen 
Bürostuhl auf Kunststoffboden, wenn ich damit ein paarmal hin- und her 
gerollt bin und dann vom Stuhl aufstand, war die Aufladung deutlich 
spürbar. Und wenn ich mich dann entlade indem ich auf einen IC-pin-fasse 
das spannungsversorgt ist, sind die Chancen für zerstörerisches latchup 
ausgezeichnet. In diesem Kontext hilft es auch in die Versorgungsleitung 
der betreffenden ICs Widerstände von einigen 10 Ohm einzufügen. Im Falle 
eines latchup-trigger events wie gerade beschrieben wird der 
Betriebsstrom begrenzt auf Werte unterhalb des latchup-Haltestromes (typ 
200mA), d.h. der latchup fällt sogleich wieder ab und der chip brennt 
nicht auf. Wenn aber genug Wumms hinter der Entladung steckt wird der 
Eingang zerstört, auch ohne anliegende Betriebsspannung. Und dagegen 
schützen die erwähnten Serienwiderstände 1..10Kohm vor den Eingängen.

von Stefan F. (Gast)


Lesenswert?

Mark S. schrieb:
> Und wenn ich mich dann entlade indem ich auf einen IC-pin-fasse
> das spannungsversorgt ist, sind die Chancen für zerstörerisches latchup
> ausgezeichnet.

Das schätze ich auch. Ein Stromschlag, der uns kurz weh tut, könnte auch 
den IC's schaden.

Aber dann weiss man bereits, was passiert ist. Dann hätte der TO gar 
nicht fragen brauchen.

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.