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?
Niclas S. schrieb: > Was kann die Schieberegister zerstört haben? Vermutlich der fehlende Schaltplan bzw. Fotos vom Aufbau.
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.
Lange Leitungen liefern gern auch mal mehr als den gewünschten Pegel. Eine Schutzschaltung aus 2 Dioden am Schieberegister sollten das Problem lösen.
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.
PS: Oder Pullups... ich hab Deinen Aufbau nicht so ganz gecheckt... Die Taster verbinden nach Masse? Dann Pullups... sonst flattern die Eingänge.
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.
Zeige mal deinen Schaltplan und wenn es geht auch Fotos vom Aufbau samt Umgebung.
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.
Es hat sich bewährt jeden empfindlichen uP-Eingang von der pöhsen Aussenwelt durch einen Reihenwiderstand von z.B. 10kOhm zu schützen.
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
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"
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".
Ich würde jeden Eingang noch einen Serienwiderstand spendieren.
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: > den ganzen Bereich wollte ich ja aussparen. Wie soll ich das verstehen. Wolltest du ein Problem lösen, oder nicht?
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.