Benötigen die GPIO-Pins des MCP23S17 einen Schutz gegen Latch-up-ESD innerhalb dieser Schaltung?

Über dieses System habe ich bereits geschrieben. Ich werde meine Fragen jetzt auf die Richtung "ESD-Schutz" konzentrieren.

Ich habe ein SPI-basiertes System, in dem ein Raspberry mit einem GPIO-Expender-Gerät über SPI-Kommunikation spricht. Der Chip liest und/oder schreibt '0'/'1' und sendet sie per Bus an den Raspberry.

Die Expander-GPIOs-Schaltung ist eine sehr einfache Schaltung, aber manchmal wird nach stundenlangem korrekten Betrieb ein gefährlicher Überverbrauch / Überhitzung (es brennt fast) zufällig ausgelöst. Dies hört auf, wenn ich das Gerät zurücksetze. Danach zeigt das Gerät normales Verhalten und normalen Verbrauch. Heutzutage wird das System auf einem Protoboard angeschlossen und getestet. Daher können Verkabelung oder Labormaterial ein wenig oder viel beeinflussen.

Einige Leute vermuten, dass dieses Verhalten ein durch ESD verursachtes "Latch-up" zu sein scheint. Andernfalls könnte es durch Spannungsspitzen, positive Spitzen oder negative GND-Spitzen verursacht werden. Also sagten sie mir, dass meine GPIOs mit Widerständen, Dioden und Kondensatoren geschützt werden müssen. Aber ich sehe kein Beispiel mit Dioden, Cs und Rs, die Ein- / Ausgänge in anderen Projekten auf Mikrocontroller- oder Mikroprozessorbasis schützen. Das meiste, was ich gesehen habe, sind Vorwiderstände an einigen der GPIO-Pins.

Meine Schaltung ist zu viel einfacher als die, die ich gesehen habe:

Geben Sie hier die Bildbeschreibung ein

  1. 8 Expander-Pins werden Eingänge sein. Der Rest sind Ausgänge.

  2. Expander-Ausgänge schreiben '0', niemals '1'.

  3. Expander-Eingänge haben einen internen Rpull-up, der den Eingang auf 3,3 V setzt, wenn er nicht angeschlossen ist.

  4. Ich habe an jeden Ausgang einen Draht gelegt und dieser Draht kann direkt mit den Eingängen verbunden werden oder nicht. Wenn also die 8 Eingangspins gelesen werden, lesen diejenigen, die mit den Eingängen verbunden sind, "0", und der Rest liest "1".

  5. Eine Eingabe würde diese 3 Szenarien lauten:

    • '1' (wenn nicht verbunden),
    • '0' Ausgang Schreiben (wenn sie verbunden sind)
    • '0' = GND (wenn ein GND-Punkt direkten Kontakt mit einem Eingang hat).

Eine besondere Eigenschaft dieses Systems ist, dass GPIOs in der restlichen Zeit nicht als Ein- oder Ausgang konfiguriert werden. So kann während einer Ausführung ein Pin während der Initialisierung als Eingang konfiguriert werden, aber bei der nächsten Ausführung könnte derselbe Pin als Ausgang konfiguriert werden.

Dieses Überhitzungsphänomen tritt nicht mehr als ein- oder zweimal pro Tag auf. Aber ich fürchte, dass einmal ausreichen würde, um das System zu zerstören.

Beim endgültigen PCB-Design werden GPIOs-Pins durch die Platine geführt, wodurch ein 64-Pin-Anschluss erreicht wird. Eingang und Ausgang werden durch einen Draht verbunden, der während der Ausführung zwei der 64-Pin-Anschlussstifte durch menschliche Verbindung verbindet oder nicht. Auf diese Weise könnte ein Stromkreis zwischen einem Eingang und einem Ausgang geschlossen werden. Es könnten aber auch Unterbrechungen zwischen den restlichen Ein- und Ausgängen vorhanden sein.

Ich habe 10.000 Rs an jedem Geräte-GPIO hinzugefügt und verwende 100 nF zwischen VDD und GND. Es scheint vor zwei Tagen nicht mehr zu passieren, aber ich möchte meine GPIOs sicherstellen, wenn die Schaltung es wirklich braucht.

Benötigt diese Schaltung einen GPIO-Schutz? Reichen diese Widerstände aus?

Wenn Sie keine Bypass-Kappen über den Versorgungspins am Chip haben, kann das allein alle möglichen Probleme verursachen. Aber da Sie so viele Dinge auf einmal ausprobiert haben, ist es unmöglich zu wissen, was hilft und was nicht. Ich hätte versucht herauszufinden, ob die beiden Pins versehentlich beide auf Ausgänge gesetzt wurden, da es sich dann nicht um einen durch ESD verursachten Latchup handelt, sondern möglicherweise um einen Programmier- oder Kommunikationsfehler.
UPS! Entschuldigung, ich habe vergessen, es zu zeichnen, aber es gibt einen 100-nF-Kondensator! so leid!
@Justme Ich habe in den letzten 3 Tagen viel Literatur darüber gelesen, und eine der Möglichkeiten, sich vor genau dem zu schützen, was Sie sagen: Programmierfehler und Eingänge, die als Ausgänge konfiguriert sind, war die R-Serie. Also habe ich an jedem GPIO-Pin Vorwiderstände angebracht. Es hat zwei Funktionen: Strombegrenzung bei Fehlern und Verbesserung gegen ESD. Jemand hat mir vorgeschlagen, von 10K bis 200K zu verwenden. Aber ich weiß, dass es Benutzer gibt, die 200 Ohm verwendet haben, wenn Eingänge Drucktasten haben
Es scheint einige Verwirrung zu geben. Lassen Sie mich das klären. (1) ESD zerstört normalerweise Komponenten, wenn ein Mensch die Komponenten handhabt (a) bevor die Komponente in den Stromkreis eingefügt wird, UND (b) der Mensch nicht geerdet ist und gleichzeitig elektrostatisch aufgeladen ist. Wenn Ihre Komponenten bereits im Stromkreis sind, gibt es kein ESD-Problem. / weitermachen, ...
Vielleicht sprechen Sie über zwei andere Dinge: (1) Überspannung im Stromnetz. Wenn es wegen einer Überlastung des Stromnetzes zu einem Stromausfall kommt (was Sie "Überverbrauch" sagen, sagen zu viele Klimaanlagen), stolpern Sie über MCB. Und wenn danach alle gleichzeitig ein- und ausschalten, kann es zu Überspannungen/Spitzen von der nahe gelegenen Unterstation des Gebäudes kommen. Diese Spitzen können über der Spitze von 220 V liegen und setzen den Rpi zurück. Normalerweise sollte Rpi keinen Schaden nehmen, da es nur 5 V Strom vom Adapter erhält, nicht direkt vom Stromnetz, / um fortzufahren, ...
Und es gibt noch etwas anderes namens "Back EMF". Wenn Sie Rpi verwenden, um induktive Lasten wie Motor, Solenoid oder Lüfter zu steuern, verwenden Sie möglicherweise ein 5-V-Relais oder SSR. Wenn Sie dann (a) das Relais und / oder (b) den Motor oder das Solenoid ausschalten, kann es zu einer Gegen-EMK kommen, bei der es sich um eine Spannungsspitze handelt, die manchmal ein paar Mal von der ursprünglichen Stromversorgung entfernt ist und einen Stromfluss zurück zum verursacht Rpi-Schaltung. Diese Gegen-EMK wird normalerweise minimiert, indem (i) eine "Rücklauf"-Diode und (ii) Optoisolationsschaltungen verwendet werden. Aber die Spikes könnten durch die Erdungsleitungen wandern und das Rpi auslösen/zurücksetzen. / weitermachen, ...
Und "anhalten" ist eine andere Sache. Nehmen Sie zum Beispiel Rpi, wenn sich ein Rpi-GPIO-Pin im Eingangsmodus befindet und der GPIO-Pin über einen Reihenwiderstand mit einer 5-V-Quelle verbunden ist. Dann besteht eine Wahrscheinlichkeit von 5 %, dass ein "Verriegeln" auftritt, die GPIO-Pin-Schaltung des Rpi durchbrennt oder die Lebensdauer des Rpi verkürzt. / weitermachen, ...
Um eine ungefähre Vorstellung von "Latching Up" zu bekommen, möchten Sie vielleicht meine Antwort auf die folgende Frage lesen: (1) "Rpi3 wurde möglicherweise durch einen falsch angeschlossenen DHT11-Temperatursensor gebraten - Rpi SE Latching Up Q&A": raspberrypi.stackexchange . com/questions/96560/… . Beifall.
einige zufällige Kommentare. (1) Wenn Sie MCP23S17 verwenden, verwenden Sie MOSI, MISO, CS von Rpi, um mit MCP23S17 zu sprechen. Wenn das, was Sie als GPIO bezeichnen, die GPIO-Pins von MCP23S17 sind, machen Sie sich keine Sorgen, denn jedes Spike-Back-EMF-Zeug wird zuerst MCP23S17 braten, und Rpi, das sich dahinter versteckt, sollte "sicher" sein. (2) Wenn sich ein Rpi- oder MCP23S17-GPIO im Ausgangsmodus befindet und Sie ihn vor einem Kurzschluss mit Masse oder einem Kurzschluss mit einem anderen GPIO-Ausgangspin schützen möchten und sie sich gegenseitig bekämpfen, besteht der übliche Trick darin, eine Reihe zu verwenden Widerstand, sagen wir 330R oder 470R. / weitermachen, ...
Die Verwendung von 10K ist in Ordnung, wenn Ihr GPIO ein MOS-Gerät mit hochohmigem Eingang steuern soll. Wenn es sich bei dem Gerät jedoch um BJT handelt, beträgt der Vorspannungswiderstand normalerweise 220 R bis 1 k, dann ist die Verwendung einer 10 k-Serie zum Schutz von GPIO etwas übertrieben. Nur beiläufig laut sprechen, ich entschuldige mich für die Tippfehler. Ach, Schlafenszeit. Bis morgen.
Ah, ich habe vergessen, dass Ihr Rpi auch GPIO-Pins verwendet, um die Adresspins (A0 bis A2) des MCP23S17 festzulegen, aber das sollte kein Problem verursachen. Ein sicherer Weg besteht darin, diese Pins A0 bis A2 direkt an Vcc und / oder Masse zu binden. Beifall.
(1) Noch etwas zum MCP23x17-Reset-Pin. Beim Spielen mit MCP23x17 habe ich festgestellt, dass der Chip von Zeit zu Zeit verrückt spielt, und ich muss den manuellen Reset-Knopf drücken, den ich installiere, weil ich ihn beim Debuggen sehr nützlich finde. Ich vermute, dass MCP23x17 sehr rauschempfindlich ist, also könnte es verrückt werden, wenn Ihre SPI / I2C-Verbindungskabel sehr lang sind (> 60 cm). (2) Eine andere Sache ist, dass ich es für eine gute Idee halte, den Interrupt-Pin von MCP23x17 nicht direkt mit Rpi zu verbinden. Stattdessen verwenden Sie Rpi, um die MCP23s17-Interrupt-Statusregister zu loopen. Beifall.
@tlfong01Ich fürchte, dass menschliche Benutzer die Kabelverbindungen herstellen. Ihrer Meinung nach könnte ESD also leicht passieren. Ist es?
@tifong Nun, wie gesagt, MCP-GPIOs-AUSGÄNGE schreiben '0' und Ausgänge können mit den MCP-GPIOs-Eingängen verbunden sein (Kontakt zwischen zwei Drähten erkennen) oder nicht (nicht mit irgendetwas verbunden = Isolation zwischen zwei Drähten erkennen). Eingänge werden mit Ausgängen verbunden. Es handelt sich also trotz einpoliger Leitungen um eine CMOS-Technologie. Natürlich wird jede Chipadresse während des gesamten Lebenszyklus gleich sein, also werde ich sie über VCC und GND konfigurieren. Wir brauchen keine INTs für unsere Anwendung. Und mein letzter Kommentar: weitermachen..
ist, dass etwas die Überhitzung ausgelöst hat, nachdem es stundenlang gut funktioniert hat, und die meisten Leute sagen mir, dass es eine Verriegelung aufgrund von Spitzen oder ESD zu sein scheint. Wenn ich einen 1uF-Kondensator in VDD-GND habe, ist es zweimal passiert. Plötzlich wird es zu heiß, der Verbrauch geht von 3 W auf 6 W (scheint also ein Kurzschlussverbrauch zu sein). Es stoppt nur, wenn das MCP-Reset abgeschlossen ist (dies ist eines der Dinge, die passieren, wenn ein Latch-Up auftritt). Ich habe 1uF gegen 100nF geändert und es scheint nach 2 Tagen Arbeit nicht zu passieren. Die Ursache für das Auslösen der unerwünschten Situation ist mir unbekannt. Vielen Dank für Ihre Zeit
@tlfong01 Ich möchte, dass Sie noch etwas klarstellen: Wenn ich über GPIOs spreche, beziehe ich mich nicht auf Raspberry GPIOs, also meine ich MCP-Geräte-GPIOs. Das MCP-Gerät wird überhitzt und ich möchte verhindern, dass meine PCB-Komponenten frittieren. Das System muss auf diese Weise nicht leicht versagen.
(1) Über ESD-Sache. Sie haben vielleicht bemerkt, dass die Anbieter Komponenten normalerweise in metallischen Plastiktüten und auch auf metallischen Schwämmen versenden. Das ist für Antistatik. Die Bediener in den Montage- und Testfabriken tragen antistatische Bänder wie dieses: „AliExpress Adjustable Anti Static Bracelet PVC Wrist Electrostatic ESD Discharge Cable Strap Hand with Grounding Wire“: aliexpress.com/popular/ground-strap.html . Ich bin ein Hobbyist, der mit billigen Komponenten spielt, und ich mache mir nie die Mühe, weil die Wahrscheinlichkeit, sich den ESD-Virus einzufangen, sehr, sehr gering ist.
Es war in den alten Zeiten, als elektronische Komponenten teuer waren, dass die Leute sich die Mühe machten. Oder Sie bleiben in einem sehr trockenen Land und tragen Kleidung aus Poly/Plastik/Nylon, dann müssen Sie sich die Mühe machen. Natürlich hat jeder die Chance, vom Licht getroffen zu werden. Vielleicht solltest du mal weiter googeln, um dich zu beruhigen.
(2) Ich empfehle Neulingen immer, die 5-V- oder 3-V-Schiene des Rpi NICHT zur Stromversorgung von MCP23S17 oder anderen Peripheriegeräten zu verwenden, sondern zumindest für die Prototyping-Phase eine externe Stromversorgung zu verwenden. Auf diese Weise sitzt der Rpi immer noch glücklich, wenn MCP23S17 verrückt wird. Also habe ich MCP23S17 einfach manuell zurückgesetzt und Rpi muss nicht zurückgesetzt werden, die Shows gehen weiter.
(3) Was Sie über Überhitzung sagen , ist ein bisschen besorgniserregend. MCP23S17 kann keine großen Ströme verarbeiten. Normalerweise verwende ich Pufferchips, um große Ströme zu bewältigen. Wenn Sie alle 16 GPIO-Ausgangspins mit großem Strom überlasten, werden Sie in große Schwierigkeiten geraten. Lassen Sie mich zur Bestätigung das MCP23S17-Datenblatt überprüfen. Ich bin gleich zurück. Übrigens, ich bin etwas langatmig, also lass uns in den Chatraum gehen und später weitermachen.

Antworten (1)

Frage

Wie kommt es, dass mein MCP23S17 GPIO-Extender sehr heiß wird und verrückt spielt?

/ weitermachen, ...


Antworten

Teil 1 - Testaufbau

Ich würde vorschlagen, mit einer kleineren Version der Benutzeranforderungen zu beginnen. Anstatt die Dinge beispielsweise sehr flexibel zu gestalten, kann jeder Pin Ein- oder Ausgang sein, Sie können in der Testphase 8 Pins nur als Input und einen anderen Pin nur als Output verwenden.

PA0~7 auf Eingabemodus eingestellt

PB0~7 auf Ausgangsmodus eingestellt

Erst wenn Sie beim Testen den festen Ein-/Ausgabemodus der Pins in Ordnung finden, verallgemeinern Sie das Programm.

mcp23017_test_v0.2_2020aug0101 ÖFFENTLICH

mcp23017 test v02


Teil 2 – Klarstellung zu ESD und Selbsthaltung

Sie haben vielleicht bemerkt, dass die Anbieter Komponenten normalerweise in metallischen Plastiktüten und auch auf metallischen Schwämmen versenden. Das ist für Antistatik.

Die Arbeiter in den Montage- und Prüffabriken tragen antistatische Schreibbänder wie diese:

AliExpress Einstellbares antistatisches Armband PVC-Handgelenk Elektrostatische ESD-Entladungskabel-Bügel-Hand mit Erdungsdraht .

Ich bin ein Hobbyist, der mit billigen Komponenten spielt, und ich mache mir nie die Mühe, weil die Wahrscheinlichkeit, sich den ESD-Virus einzufangen, sehr, sehr gering ist.

Es war in den alten Zeiten, als elektronische Komponenten teuer waren, dass die Leute sich die Mühe machten. Oder Sie bleiben in einem sehr trockenen Land und tragen Kleidung aus Poly/Plastik/Nylon, dann müssen Sie sich die Mühe machen. Natürlich hat jeder die Chance, vom Licht getroffen zu werden. Vielleicht solltest du mal weiter googeln, um dich zu beruhigen.

(Ref A.2) ESD-Ausrüstung, die die Sicherheit und den Schutz am Arbeitsplatz verbessert – AntiStat


Teil 3 – Empfehlung zur Verwendung einer externen Stromversorgung für MCP23S17

Ich empfehle Neulingen immer, die 5-V- oder 3-V-Schiene des Rpi NICHT zur Stromversorgung von MCP23S17 oder anderen Peripheriegeräten zu verwenden, sondern zumindest für die Prototyping-Phase eine externe Stromversorgung zu verwenden.

Auf diese Weise sitzt der Rpi immer noch glücklich, wenn MCP23S17 verrückt wird. Also habe ich MCP23S17 einfach manuell zurückgesetzt und Rpi muss nicht zurückgesetzt werden, die Shows gehen weiter.


Teil 4 - Mögliche Ursachen für Überhitzung

Was Sie über Überhitzung sagen, ist ein bisschen besorgniserregend.

MCP23S17 kann keine großen Ströme verarbeiten. Normalerweise verwende ich Pufferchips, um große Ströme zu bewältigen. Wenn Sie alle 16 GPIO-Ausgangspins mit großem Strom überlasten, werden Sie in große Schwierigkeiten geraten.

Ich habe das Datenblatt überflogen und eine Zusammenfassung erstellt:

(1) Gesamtleistung = 700 mW

(2) Max. Strom VSS-Pin = 150 mA

(3) Max. Strom in VDD-Pin = 25 mA

(4) Eingangsklemmenstrom = ±20 mA

(5) Ausgangsklemmenstrom = ±20 mA

(6) Max. Ausgangsstrom, der von einem beliebigen Ausgangspin aufgenommen wird = 25 mA

(7) Max. Ausgangsstrom, der von einem beliebigen Ausgangspin bezogen wird = 25 mA

Sie sehen also, wenn Sie 6 GPIO-Pins mit 25 mA laden, liegt der Gesamtstrom über der 150-mA-Grenze des Vss-Pins. Normalerweise habe ich den 8 großen Chip ULN2803A, um die ganze schwere Arbeit zu erledigen. Jeder der 8 großen Jungs kann 500mA verarbeiten, ...

Sie scheinen 10 Ω für den Serienbegrenzungs- / Schutzwiderstand zu verwenden. Vielleicht möchten Sie die Berechnungen durchführen, um sicherzustellen, dass die individuelle GPIO- und Gesamt-Vcc-Stromgrenze nicht überschritten wird.


Teil 5 - Testen und Programmieren von Pair/Swap

Es ist oft eine gute Idee, mehr als zwei Proben zu verwenden, um Pair/Swap-Tests durchzuführen. Oft kann eine Komponente bei der Ankunft schlecht sein und/oder durch unvorsichtige Verdrahtung oder Prüfung beschädigt werden. So oft findet man nur durch tauschen und Vergleichen unachtsame Verdrahtungsfehler. Sie können MCP23s08 oder MCP23017 für Kreuztests verwenden. Es ist nur der Setup-Teil, der sich in den I2C- und SPI-Versionen von MCP23x17 unterscheidet. Die Hauptbetriebsfunktionen sind für MCp23SS17 und MCP23017 017 identisch. Das gelegentliche Fotografieren ist eine gute Dokumentation für spätere Referenzzwecke.

mcp23s08


mcp23017 x 4


mcp23s17_2020aug0101

/ weitermachen, ...


Verweise

Teil A - Datenblätter und Artikel

(A.1) MCP23S17/MCP23017 Datenblatt – MikroChip

(A.2) ESD-Ausrüstung zur Verbesserung der Sicherheit und des Arbeitsplatzschutzes – AntiStat

(A.3) Saubere Energie für jeden IC, Teil 1: Bypass-Kondensatoren verstehen - Robert Keim, AAC 2015sep21

(A.4) Saubere Energie für jeden IC, Teil 2: Auswahl und Verwendung Ihrer Bypass-Kondensatoren - Robert Keim. Unterstützte Kommunikation 27. September 2015

(A.5) Adafruit I2C 16-Kanal 12-Bit PWM/Servo-Treiber – 15 $

(A.6) Datenblatt PCA9685 PWM-Controller – NXP

(A.7) mcp23s17 Datenblatt – Mikrochip

(A.8) AliExpress MCP23S17-Modul

(A.9) TaoBao MCP23S17-Modul

(A.10) Logischer Pegelwandler (ULN2803, TBX/TSX0102/4/6/8 usw.) 1/2

(A.11) Logischer Pegelwandler (ULN2803, TBX/TSX0102/4/6/8 usw.) 2/2

(A.12) TVS, MOV-Klemmdiode – Liz London 2019mar16

(A.13) (TVS) Überspannungsschutzdiode – Wikipedia

(A.14) ESD-Schutzdioden (TVS-Dioden) – Toshiba

(A.15) ESD-Schutz durch Design von Chips und Mikroschaltungen – Online-Bibliothek, Wiley

(A.16) ESD (Elektrostatische Entladung) – Wikipedia

(A.17) Entkopplungskappen, PCB-Layout – Olin Lathrop , EE SE, 2011jun07, 80.000 Mal angesehen


Teil B - Forumsdiskussionen

(B.1) Warum wird das MCP23S17-Gerät plötzlich und zufällig zu heiß Raspb 4A? - Eugenia Suarez EE SE 2020jul17

(B.2) Benötige ich MCP23S17 GPIO-Pin-Schutz gegen Latch-up-ESD in dieser Schaltung? - Eugenia Suarez, EE SE, 29. Juli 2020


Teil C - Schaltpläne

(C.1) mcp23s17_test_2020jul3002 CircuitLab-Schema - tlfong01 2020jul3001

(C.2) mcp23017_test_v0.2_2020aug0101 PUBLIC tlfong01 2020aug01


Anhänge

Anhang A – Bypass- und Entkopplungskondensatoren – Robert Keim, AAC

(A.3) Saubere Energie für jeden IC, Teil 1: Bypass-Kondensatoren verstehen - Robert Keim, AAC 2015sep21

(A.4) Saubere Energie für jeden IC, Teil 2: Auswahl und Verwendung Ihrer Bypass-Kondensatoren - Robert Keim. Unterstützte Kommunikation 27. September 2015

Einführung

Es ist nicht unvorstellbar, dass ein engagierter, erfolgreicher Ingenieurstudent sein College abschließt und fast nichts über eine der am weitesten verbreiteten und wichtigsten Komponenten in realen Schaltungen weiß: den Bypass-Kondensator. Selbst erfahrene Ingenieure verstehen vielleicht nicht ganz, warum sie 0,1-µF-Keramikkondensatoren neben jedem Stromanschluss jedes ICs in jeder von ihnen entworfenen Leiterplatte einbauen.

Dieser Artikel enthält Informationen, die Ihnen helfen zu verstehen, warum Bypass-Kondensatoren notwendig sind und wie sie die Schaltungsleistung verbessern, und ein Folgeartikel konzentriert sich auf Details zur Auswahl von Bypass-Kondensatoren und den PCB-Layouttechniken, die ihre Effizienz maximieren.


Lösung

Es ist praktisch, dass ein so schwerwiegendes Problem mit einer einfachen, weit verbreiteten Komponente effektiv gelöst werden kann. Aber warum der Kondensator? Eine einfache Erklärung ist die folgende: Ein Kondensator speichert Ladung, die dem IC mit sehr niedrigem Serienwiderstand und sehr niedriger Serieninduktivität zugeführt werden kann.

Somit können transiente Ströme von dem Bypass-Kondensator (durch minimalen Widerstand und Induktivität) anstatt von der Stromleitung (durch vergleichsweise großen Widerstand und Induktivität) zugeführt werden. Um dies besser zu verstehen, müssen wir uns einige grundlegende Konzepte ansehen, die sich darauf beziehen, wie ein Kondensator einen Schaltkreis beeinflusst.

Zunächst aber eine kurze Anmerkung zur Begrifflichkeit: Die in diesem Artikel behandelten Bauelemente werden regelmäßig sowohl als „ Bypass-Kondensatoren “ als auch als „ Entkopplungskondensatoren “ bezeichnet .

Hier gibt es einen feinen Unterschied – „Entkopplung“ bezieht sich auf die Verringerung des Ausmaßes, in dem ein Teil einer Schaltung einen anderen beeinflusst, und „Bypass“ bezieht sich auf die Bereitstellung eines niederohmigen Pfads, der es dem Rauschen ermöglicht, auf seinem Weg an einem IC „vorbeizukommen“. zum Erdknoten.

Beide Begriffe können korrekt verwendet werden, da ein Bypass-/Entkopplungskondensator beide Aufgaben erfüllt. In diesem Artikel wird jedoch der „Bypass-Kondensator“ bevorzugt, um Verwechslungen mit einem in Reihe geschalteten Entkopplungskondensator zu vermeiden, der zum Blockieren der DC-Komponente eines Signals verwendet wird.

Ein Standardansatz

Die vorstehende Analyse hilft uns, ein klassisches Umgehungsschema zu verstehen:

ein 10-µF-Kondensator innerhalb von ein oder zwei Zoll des IC und

ein 0,1-µF-Keramikkondensator so nah wie möglich am Power-Pin:

Der größere Kondensator glättet niederfrequente Schwankungen in der Versorgungsspannung und der kleinere Kondensator filtert hochfrequentes Rauschen auf der Stromleitung effektiver heraus.

Wenn wir diese Bypass-Kondensatoren in die oben diskutierte 8-Inverter-Simulation einbauen, wird das Klingeln eliminiert und die Größe der Spannungsstörung von 1 mV auf 20 µV reduziert , ...


Netzteil-Bypass, Sicherung


Netzteil-Bypass-Kappe


Netzschalter des Netzteils

Anhang B – Erdungsproblem und Lösung

(1) Erdschleifenprobleme und wie man sie beseitigt - Tomi Engdahl 2013

(2) RpiZero-Stromversorgung über 40-poligen Strom-/GPIO-Header oder microUSB-Anschluss

(3) Erdungsproblem des Rpi-GPIO-Tastenschaltkreises


adxl Erdung


Anhang C - Altes MCP23S17/ MCP23017 Proto Board zum Testen

Ich denke darüber nach, mein altes MCP23S17 oder MCP23017 zu verwenden, um einige Tests durchzuführen. Wenn ich mir die unordentliche Verkabelung meines alten MCP23017-Boards ansehe, erinnere ich mich jetzt, warum ich das letzte Mal die Arbeit an SPI MCP23S17 aufgegeben und zu I2C MCP23017 gewechselt habe, weil die DIY-Verkabelung sehr unordentlich ist und es schwierig ist, Hardware-Fehlerbehebungen durchzuführen. Für I2C MCP23S17 gibt es billige Breakout-Boards, die mir viel Zeit für die Verkabelung geben.

mcp23s17 verkabelung


mcp23s17-Board


mcp23s17_write_read


mcp23017 gebraten


mcp23017_fried


Anhang D - Hinweise zur Einrichtung des MCP23s17-Protoboards

mcp3s17 eingerichtet


rpi4b-spi1


rpi4b spi-Setup 1


Spi-Loopback-Test 1


Anhang E - Testen von SPI 00, 01, 10, 11, 12 Loopback und Wiederholung senden ein Byte OK

# Program:
#   spi_loopback_v55.py  tlfong01  2020aug03hkt1220
#
# Function:
#   1. SPI one byte loopback
#   2. SPI repeatedly send one byte
#
# System Config: 
#   Rpi4B buster (r2020may23), python 3.7.3 (r2019dec20), thonny v3.2.7 (r2020jan22)
#   $ date Thu 25 Jun 2020 04:36:13 PM HKT
#   $ uname -a Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
#   $ ls /dev/ttyUSB* /dev/ttyUSB0
#   $ ls /dev/ttyS0 /dev/ttyS0
#   $ ls /dev/ttyAMA0 /dev/ttyAMA0

# Test Function Definitions:
#
# Test 1 - loopBackTest() - SPI port send and receive one byte.
# Function - Send one byte to MSOI and read it back from MISO.?
# Setup - Connet MOSI pin to MISO pin to form a loop.
#
# Test 2 - repeatSendByte() - SPI port repeatedly send out single bytes. ?
# Function - Repeat many times sending a byte, pause after each byte.

# 1. SPI ports setup notes
# To enable SPI and setup SPI 10, 11, 12 ports, add these two lines to /boot/config.txt
#   dtparam=spi=on
#   dtoverlay=spi1-3cs
# To list SPI devices
#   pi@raspberrypi:~ $ ls /dev/spi*
#   /dev/spidev0.0  /dev/spidev0.1  /dev/spidev1.0  /dev/spidev1.1  /dev/spidev1.2

# 2. Notes of loopback function
#   Call example - testLoopbackOneByte(spiPort00)
#   Function     - send byte 0x5b to SPI MOSI and read byte from MISO
#   Setup        - must connect MOSI pin to MISO pin to loop back
#   Note         - 1. Only checks if MISO echoes MOSI, CS0, CS1, CS2 is not checked
#                  2. To check if SPI 0, CS0, CS1, or SPI1 CS0, CS1, CS2, need a scope to display repeat send bytes 

from time import sleep
import spidev

# *** Setup SPI Ports ***

spiPort00 = spidev.SpiDev()
spiPort00.open(0,0)
spiPort00.max_speed_hz = 100000

spiPort01 = spidev.SpiDev()
spiPort01.open(0,1)
spiPort01.max_speed_hz = 100000

spiPort10 = spidev.SpiDev()
spiPort10.open(1,0)
spiPort10.max_speed_hz = 100000

spiPort11 = spidev.SpiDev()
spiPort11.open(1,1)
spiPort11.max_speed_hz = 100000

spiPort12 = spidev.SpiDev()
spiPort12.open(1,2)
spiPort12.max_speed_hz = 100000

# *** Define SPI Functions ***

def spiSendRecvOneByte(spiPort, sendByte):
  sendByteArray = [sendByte]
  recvByteArray = spiPort.xfer(sendByteArray)  
  return recvByteArray

def loopBackOneByte(spiPort, sendByte):
  recvByteArray = spiSendRecvOneByte(spiPort, sendByte)
  recvByte      = recvByteArray[0]

  print('\nBegin testLoopbackOneByte(),....')
  #print('')
  print('   sendByte = ', hex(sendByte))
  print('   recvByte = ', hex(recvByte))
  #print('')
  print('End testLoopbackOneByte(),....')
  return

def repeatSendOneByte(spiPort, sendByte, pauseTimeBetweenBytes, repeatCount):
  print('\nBegin repeatSendByte(),....')
  print('  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...')
  for i in range(repeatCount):
    spiSendRecvOneByte(spiPort, sendByte)
    sleep(pauseTimeBetweenBytes)
  print('End   repeatSendByte().')
  return

# *** Test Funtions ***

def testLoopbackOneByte(spiPort, dataByte):
  loopBackOneByte(spiPort, dataByte)
  return

def testRepeatSendOneByte(spiPort, dataByte, pauseSeconds, repeatTimes):
  repeatSendOneByte(spiPort, dataByte, pauseSeconds, repeatTimes)
  return
 
# *** Main ***

# *** Test SPI Loopback Functions, Comment out not required tests ***

print('\n*** testLoopbackOneByte(spiPort00, 0x5b) ***', end = '')
testLoopbackOneByte(spiPort00, 0x5b)

#print('\n*** testLoopbackOneByte(spiPort01, 0x5b) ***', end = '')
#testLoopbackOneByte(spiPort01, 0x5b)

#print('\n*** testLoopbackOneByte(spiPort10, 0x5b) ***', end = '')
#testLoopbackOneByte(spiPort10, 0x5b)

#print('\n*** testLoopbackOneByte(spiPort11, 0x5b) ***', end = '')
#testLoopbackOneByte(spiPort11, 0x5b)

#print('\n*** testLoopbackOneByte(spiPort12, 0x5b) ***', end = '')
#testLoopbackOneByte(spiPort12, 0x5b)


# *** Test SPI Repeat Send One Byte Functions, Comment out not required tests ***

# *** SPI 00, 01 Repeat Send One Byte ***

#print('\n*** testRepeatSendOneByte(spiPort00, 0x5b, 0.001, 200000) ***', end = '')
#testRepeatSendOneByte(spiPort00, 0x5b, 0.001, 200000)

#print('\n*** testRepeatSendOneByte(spiPort01, 0x5b, 0.001, 200000) ***', end = '')
#testRepeatSendOneByte(spiPort01, 0x5b, 0.001, 200000)

# *** SPI Repeat Send One Byte 10, 11, 12 ***

#print('\n*** testRepeatSendOneByte(spiPort10, 0xb5, 0.001, 200000) ***', end = '')
#testRepeatSendOneByte(spiPort10, 0xb5, 0.001, 200000)

#print('\n*** testRepeatSendOneByte(spiPort11, 0xb5, 0.001, 200000) ***', end = '')
#testRepeatSendOneByte(spiPort11, 0xb5, 0.001, 200000)

#print('\n*** testRepeatSendOneByte(spiPort12, 0xb5, 0.001, 200000) ***', end = '')
#testRepeatSendOneByte(spiPort12, 0xb5, 0.001, 200000)


# End of program


''' Smple output tlfong 01 2020aug03hkt1219

>>> %Run spi_loopback_v54.py

*** testLoopbackOneByte(spiPort00, 0x5b) ***
Begin testLoopbackOneByte(),....
   sendByte =  0x5b
   recvByte =  0x5b
End testLoopbackOneByte(),....

*** testLoopbackOneByte(spiPort01, 0x5b) ***
Begin testLoopbackOneByte(),....
   sendByte =  0x5b
   recvByte =  0x5b
End testLoopbackOneByte(),....

*** testLoopbackOneByte(spiPort10, 0x5b) ***
Begin testLoopbackOneByte(),....
   sendByte =  0x5b
   recvByte =  0x5b
End testLoopbackOneByte(),....

*** testLoopbackOneByte(spiPort11, 0x5b) ***
Begin testLoopbackOneByte(),....
   sendByte =  0x5b
   recvByte =  0x5b
End testLoopbackOneByte(),....

*** testLoopbackOneByte(spiPort12, 0x5b) ***
Begin testLoopbackOneByte(),....
   sendByte =  0x5b
   recvByte =  0x5b
End testLoopbackOneByte(),....
>>> 
 
Python 3.7.3 (/usr/bin/python3)
>>> %Run spi_loopback_v54.py

*** testRepeatSendOneByte(spiPort00, 0x5b, 0.001, 200000) ***
Begin repeatSendByte(),....
  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Python 3.7.3 (/usr/bin/python3)
>>> %Run spi_loopback_v54.py

*** testRepeatSendOneByte(spiPort01, 0x5b, 0.001, 200000) ***
Begin repeatSendByte(),....
  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Python 3.7.3 (/usr/bin/python3)
>>> %Run spi_loopback_v54.py

*** testRepeatSendOneByte(spiPort10, 0xb5, 0.001, 200000) ***
Begin repeatSendByte(),....
  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Python 3.7.3 (/usr/bin/python3)
>>> %Run spi_loopback_v54.py

*** testRepeatSendOneByte(spiPort11, 0xb5, 0.001, 200000) ***
Begin repeatSendByte(),....
  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Python 3.7.3 (/usr/bin/python3)
>>> %Run spi_loopback_v54.py

*** testRepeatSendOneByte(spiPort12, 0xb5, 0.001, 200000) ***
Begin repeatSendByte(),....
  Now use a scope to display the SPI signals, MOSI, MISO, CSn, ...
End   repeatSendByte().
>>> 
 
'''
 
# *** End ***

Anhang F – Screenshots des Bereichs „Send Byte“ wiederholen

Sende Byte 1/3 wiederholen


Sende Byte 2/3 wiederholen


Sende Byte 3/3 wiederholen


Anhang G - Einrichtung der zwei MCP23S17-Protoboards

zwei mcp23s17

Ende der Antwort

Ja, ich habe meine Tests in einer Testphase durchgeführt, in der Port A nur Eingänge und Port B nur Ausgänge sind. Ich habe Ihren Kommentar zur Verwendung von Raspberry-Schienen zur Spannungsversorgung gelesen und es klingt interessant. Sie sind die erste Person, die auf diese Tatsache hingewiesen hat. Ich habe vor 2 Tagen eine externe Quelle verwendet und seit diesem Tag tritt keine Überhitzung auf. Ich bin dir sehr dankbar für deine tolle und ausführliche Beschreibung. Was Sie über 3 Punkt sagen. Überstrom erscheint bei Überhitzung. Dies ist ein normaler Verbrauch. Meine Schreib- und Lesevorgänge haben weniger als 1mA Stromverbrauch. Ich lese immer noch den ganzen Beitrag.
Ja, ein weiterer Grund, die 5-V-Stromschiene von Rpi nicht zu verwenden, ist: (1) Wenn Sie viele MCP23S17-GPIO-Pins mit hoher Last gleichzeitig hoch setzen, kommt es zu einer plötzlichen großen Stromaufnahme, was zu einem Einbruch der Rpi-Leistung führt Schiene, sagen wir, wenn sie niedriger als 4,5 V ist, könnte Rpi verrückt werden und alles kann passieren. Wie Sie sehen, verwende ich einen sehr großen Überbrückungskondensator von 10.000 uF, um zu verhindern, dass die Stromversorgung schwankt. (2) Ein Trick, den Sie tun können, besteht darin, die GPIO-Pins nicht alle gleichzeitig ein- und auszuschalten, sondern nacheinander 1 bis 10 Millisekunden anzuhalten , sodass der große Stromstoß um ein Vielfaches kleiner wird.
Sie werden vielleicht auch bemerken, dass ich ein Voltmeter verwende, um die Stromversorgung zu überwachen, eine Mehrfachsicherung und eine langsame Sicherung zum Schutz vor Überstrom und den roten Netzschalter, der so etwas wie der „Totmanngriff des Eisenbahnzugführers“ ist. Immer wenn ich verbranntes Plastik rieche, oder weißer Rauch aufsteigt, werde ich den roten Schalter blitzschnell umlegen, wie der Kung-Fu-Kämpfer. youtube.com/watch?v=jhUkGIsKvn0 :)
Ich bin kein Kung-Fu-Kämpfer, und meine Hände zittern, fast immer zu spät, um zu reagieren, wenn ich weißen Rauch oder Plastikgeruch sehe. Also brate ich oft Pommes. Ich habe meinen Laborbericht durchsucht und einen gebratenen MCP23017 gefunden (Frag mich nicht, wie viele MCP23017 ich gebraten habe!): raspberrypi.org/forums/… . Beifall.
Danke! Aber meine Schaltung darf keinen hohen Verbrauch haben, der gesamte 16-Pin-Verbrauch beträgt bis zu 0,25 mA. Ich fürchte, der verrückte Verbrauch klingt wie ein interner Kurzschluss (MCP-Klemmdioden oder TRTs, die nicht eingeschaltet werden sollten, sich aber einschalten und GND-VDD wurden kurzgeschlossen). Aber die Frage war: Warum oder was tun Sie das? Also schlugen mir die Leute vor, Probleme mit der CMOS-Technologie zu haben.
Ein paar kurze Fragen. (Q1) Haben Sie ein anderes verdrahtetes Proto-Board, um Swap-Tests durchzuführen? (Q2) Haben Sie mehr als einen MCP23S17-Chip, um Swap-Tests durchzuführen? (Q3) Haben Sie MCP23S17 oder andere Geräte einmal mit 5 V versorgt und Rpi-GPIO-Pins mit diesen Geräten verbunden (kann zu Latch-up führen)? (Q4) Haben Sie einen vollständigen Schaltplan, der alle möglichen Verbindungen zeigt, z. B. welcher GPIO mit welchem ​​GPIO oder Masse verbunden werden kann? (F5) Haben Sie eine vollständige Programmliste oder ein Funktionshierarchiediagramm, das zeigt, welche Funktionen sich auf MCP23S17 beziehen?
Ich verstehe, dass Sie Ihre Programmliste möglicherweise nicht öffentlich zeigen möchten, da sie vertraulich ist. (Q6) Ist es möglich, auf SPI 23S08 oder I2C MCP23008 oder MCP23017 umzuschalten. Ich habe mit MCP23x08 und MCP23x17 gespielt, weil ich oft irgendwo hängen geblieben bin und den Grund nicht finden konnte, also wechsle ich von I2C zu SPI oder zurück, nur um zu sehen, ob ich etwas Wichtiges verpasst habe. (Q7) Ist es möglich, auf den I2C PCA9685 PWM-Controller umzusteigen?
Entschuldigung für die lange Liste mit Vorschlägen und Tippfehlern. Nur lautes Brainstorming denken. Übrigens, noch eine Sache, nur um es zu wiederholen, wenn Sie ESD haben oder sich verriegeln, ist das Ergebnis fast immer der sofortige Tod und nicht wiederherstellbar. Ihr zufälliges, intermittierendes Überhitzen und Einfrieren wird sich also wahrscheinlich nicht verriegeln, sondern möglicherweise mit der Software zusammenhängen, nur eine wilde Vermutung, überhaupt nicht sicher. Viel Glück und Prost.
Noch eine Sache. Vor einiger Zeit stellte ich fest, dass die SPI-Pins meines Rpi3B+ durchgebrannt waren, alles andere funktionierte noch OK. Seitdem teste ich immer zwei SPI-Busse gleichzeitig, Sie sehen also, ich teste SPI, 00. 01, 10, 11, 12 gleichzeitig. Normalerweise beginne ich mit SPI 0,0 und zur Fehlerbehebung wechsle ich zu SPI 1,0, um zu vergleichen und zu kontrastieren. Vielleicht können Sie auch SPI 10, 11, 12 oder sogar SPI 3, 4, 5 usw. ausprobieren.
Ich verstehe nicht, warum Ihre Gesamtladung des MCP23S17 nur 0,25 mA beträgt. Treibt es ULN2803A an, das wiederum Relais für AC220V-Hochstrom-Wechselstrom-Induktionsmotoren antreibt? Dann haben Sie möglicherweise große Pegelsprünge und müssen TVS-Dioden verwenden, um sie zu unterdrücken. Möglicherweise müssen Sie auch eine optische Isolierung verwenden, um zu verhindern, dass Überspannungen / Rauschen über die Erdungsleitungen zurückgeführt werden. Dann könnten Sie eine vollständige optische Isolierung auf der Relais-/SSR-Seite in Betracht ziehen. Weitere Informationen finden Sie in diesem Beitrag: electronic.stackexchange.com/questions/505318/… . Beifall.
Hallo @tlfong01, Wir verwenden 3,3 V für die MCP-Versorgung. a) nein, haben wir nicht. b) nein, wir haben nur einen und der hat 3,3 V. c) Nein, VDD Raspberry Pi-Pins werden angeschlossen, bevor alle mit Strom versorgt werden. Es wird also nicht bemerkt, dass eine Überhitzung Stunden nach dem einwandfreien Funktionieren auftritt, ohne dass die Ausführung der Steuerungsschalter gestoppt wird. d)e) Der komplette Schaltplan ist das, was ich lade. Drähte werden während der Ausführung verbunden, wie es in einer realen Operation so sein muss. Benutzer nehmen das Ende des Kabels und legen es über andere Punkte (die Eingangskabel durch Anschlüsse erhalten). Port A = Eingänge, PORT B ​​= Ausgänge. Ich werde versuchen, den Python-Code bald zu teilen.
Ich verwende Abstraktionsfunktionen auf hoher Ebene aus der Open-Source-Bibliothek MCP23S17.py. Was Ihren Konsum betrifft, so denke ich, dass dies eine offensichtliche Sache ist. 3,3 V/100 KOhm = 35 uA (interner Rpull-Up = 100 K). Da die Ausgangslasten die Eingänge desselben Geräts sind, wird ein kleiner Gesamtverbrauch auftreten.
Vielen Dank für Ihre Klarstellung. Es gibt noch einige Dinge, die ich klären muss, z. die 3,3 V/100 k = 35 uA strom . Ich habe das Gefühl, dass wir hier eine starke Meinungsverschiedenheit haben könnten. Ich denke, ich muss gründlich nachdenken, bevor ich meine Argumente darlege.
Nur eine kurze Anmerkung zu ESD und Latching. Vielleicht möchten Sie Ref A1.5 in Ihrer Freizeit lesen. Nichts Dringendes oder Wichtiges. Dieser Artikel ist hilfreich für mich, weil ich vielleicht nur 20% des ganzen Bildes oder Puzzles von ESD und Latch up kenne BTW, ich schaue auf Ihre alten Kommentare zurück und denke, dass Sie ähnliche Artikel gelesen haben und daher sein müssen 50 % oder mehr des Bildes sehen. Habe ein schönes Wochenende. Beifall.
Danke @tlfong01, was meinst du mit Ref A1.5? Ist es der Artikeltitel? Ich habe einige Tage damit verbracht, das Latch-Up-Triggern zu reproduzieren, aber es kam nicht mehr zurück, selbst bei einem großen Gewitter, und es ist nichts passiert. Ich habe Raspberry Source verwendet, aber das Problem ist nicht aufgetreten. Ich habe ein Oszilloskop an Vin gelegt, um zu sehen, ob die Spannung irgendwann abfällt oder nicht. Aber das tat es auch nicht. Das einzige, was ich nicht mache, ist, Drähte mit meinen Händen zu berühren. Vielleicht, wenn ich Proto mit meinen Händen behandle, hat Vin Drähte eine Art keinen Kontakt erfahren und so hatte Vin Störungen.
Ich muss ein bisschen mehr sehen und versuchen, Drähte zu berühren. Das ist mein nächster Schritt. Ich muss nachsehen, ob Vin gefallen ist, wenn „Latch up“ ausgelöst wird. Aber ich werde das Dokument auch lesen, wenn ich es gefunden habe. Danke.
@Eugenia Suarez, nur eine kurze Antwort. (1) Entschuldigung, "Ref A 1.5" ist ein Tippfehler, sollte in meiner Referenzliste "A.15" lauten. (2) Ich denke, "aufschnappen" ist wie eine Schneeberglawine oder dem Kamel den Rücken mit dem letzten Strohhalm zu brechen. Sie können den Auslöser oder das Beinbrechen (Mos Junction Breaking Down im Chip) nicht erkennen, bis es zu spät ist. (2) Wenn Sie z. B. einen Rpi-GPIO-Pin mit einem Vorwiderstand verbinden, sagen wir, sogar 10 M Ohm bis 5 V, kann die Stromsenke am GPIO-Pin sehr, sehr klein sein, aber das Durchbrechen einer Verbindung erfordert keinen großen Strom, ist es der kleine "Riss", der sich zur großen Katastrophe ausdehnt.
Oder Sie können Folgendes versuchen: „Sieben Debugging-Schritte – @Tony Stewart Sunnyskyguy EE75“: electronic.stackexchange.com/questions/516359/… . (1) Untersuchen (2) Alles Relevante messen (3) Mit Komponentenspezifikation vergleichen (4) Fortfahren bis zum Fehler (5) Analysieren (6) Beheben (7) Validieren, falls nicht Wiederholen. Habe ein schönes Wochenende. Oder versuchen Sie es mal mit dem einzigen Trick des faulen Fehlersuchers. Viel Glück und Prost.
Ich habe einmal mit einem Bastler-Spielzeug-Guiger-Zähler-Kit gespielt und über 2 kV erzeugt. Vielleicht kann das statische Aufladung für Sie erzeugen. Oder nur EMI, nicht sicher: Refs 1: Wie kann ein DC-Funke EM-Wellen erzeugen? electronic.stackexchange.com/questions/517219/…
+1. Schönes Detail. || Zu " ... die Wahrscheinlichkeit, sich mit dem ESD-Virus zu infizieren, ist sehr, sehr gering." -> Moderne ICs neigen dazu, weniger anfällig für ESD-Schäden zu sein als in der „guten alten Zeit“, ABER ESD kann in einigen Umgebungen immer noch problematisch sein. Man kann „Glück“ haben und es nicht erkennen, und eine Veränderung der Umgebung kann dann Chaos anrichten. Die Verwendung von z. B. Butylkautschukplatten (die für Bedachungen verwendet werden) als Tischmatte - und noch billiger die äußeren Verpackungsplatten - ergibt eine Tischplatte mit geringer ESD. Teppich kann unangenehm sein – eine Butylkautschuk-Bodenmatte kann Abhilfe schaffen. (Vor langer Zeit hatten wir einen sehr hohen Prozentsatz an EPROM-Ausfällen - es wurde festgestellt, dass sie auf ESD zurückzuführen sind.