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?
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 :)
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!
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.
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.
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.
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.
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.
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...
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.
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.
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?
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.
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.
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?
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.
> 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.
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.
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.
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.
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 :)
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.
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.
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 ...
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.
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.
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.
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.
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.
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.
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
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!
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.
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
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!
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.
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".
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.
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.
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.
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!
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.
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.
Niclas S. schrieb:> Was sind denn Trickschaltungen? :)> Wonach sollte ich da schauen?
Siehst du immer noch nicht ein, dass der echte Schaltplan gebraucht
wird?
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.
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 :)
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
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.
> 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?
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 :)
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.
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.
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.
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.