Forum: Mikrocontroller und Digitale Elektronik Störungen von Relais (EMI) bringen I2C-Display/USB aus dem Takt


von M. B. (bema16)



Lesenswert?

Guten Tag zusammen,

ich arbeite gerade an einem Versuchsaufbau für eine Heizungssteuerung 
und habe Probleme mit Störeinkopplungen auf den USB- und I2C-Leitungen.

Verwendete Komponenten:
- Arduino Uno R4 Minima
- 230V Heizpatrone mit 400 W
- Meanwell RS-15-12 12V-Netzteil
- Vier PT100 mit jeweils einem MAX31865 Breakout-Board 
(SPI-Schnittstelle)
- SHT31 Feuchtigkeitssensor (I2C-Schnittstelle)
- OLED-Display (I2C-Schnittstelle)
- Encoder/Drehgeber mit integriertem Taster
- Zwei mechanische Relais, einmal als Sicherheitsabschaltung in 
Verbindung mit einem Thermoschalter und einmal als Regelkontakt

Der Arduino misst die Temperaturen mithilfe der PT100-Sensoren. Einer 
der Temperaturwerte wird verwendet, um mit einem PID-Regler die 
Temperatur an der Heizpatrone auf einem konstanten Wert zu halten.
Auf dem Display ist eine kleine Menüsteuerung realisiert, um die Heizung 
ein- und auszuschalten und die Solltemperatur vorgeben zu können. Die 
aktuellen Messwerte für Temperatur und Feuchtigkeit werden ebenfalls auf 
dem Display angezeigt. Zusätzlich werden diese Werte über die 
USB-Schnittstelle an den PC übertragen, um diese loggen zu können.

Hinweis: Bei den bisherigen Arduinos, die ich verwendet habe, geht die 
USB-Leitung auf einen USB-Seriell Wandler und anschließend auf den 
eigentlichen Mikrocontroller. Bei dem Arduino Uno R4 Minima geht die 
USB-Leitung hingegen direkt auf den Mikrocontroller, es ist kein 
USB-Seriell Wandler dazwischengeschaltet. Der Arduino erscheint am PC 
als virtueller COM-Port.

Weiter Hinweis: In den Relaissockeln sind bereits Freilaufdioden 
integriert, deshalb habe ich diese nicht in den Schaltplan 
eingezeichnet.

Die Software funktioniert soweit problemlos. Die Menüsteuerung 
funktioniert so wie sie soll und die PID-Regelung arbeitet erstaunlich 
genau. Über den Encoder lässt sich das ganze System einwandfrei 
bedienen.
Ein Foto vom Aufbau habe ich angehängt. Ich verwende eine einfache 
Sperrholzplatte mit 3D-gedruckten Hutschienen und Kabelkanälen. Der 
obere Kabelkanal enthält ausschließlich 230V-Leitungen, während der 
untere Kabelkanal nur Steuerleitungen (5V/12V) enthält. Nicht besonders 
schön, aber für diesen Versuchsaufbau erstmal ausreichend.

Leider habe ich mit dem aktuellen Aufbau folgende Probleme:
1. Sobald ich die Heizung einschalte, bricht nach einiger Zeit die 
Übertragung der Messwerte an den PC ab. Über das Terminal kommen die 
ganze Zeit Daten zum PC, aber irgendwann stoppt die Übertragung einfach 
und es kommen keine neuen Daten mehr an. Der Arduino ist nach wie vor am 
PC als COM-Port sichtbar.
Wenn ich das USB-Kabel ziehe, wieder einstecke und anschließend die 
Verbindung im Terminal neu aufbaue, kommen auch wieder Daten an.
Manchmal passiert dies 30 Sekunden nach dem Start der Messung, manchmal 
dauert es mehrere Minuten.

2. Es kommt ab und zu vor, dass die Anzeige auf dem Display einfriert 
und nicht mehr aktualisiert wird. Ich kann das Menü aber nach wie vor 
"blind" mit dem Encoder bedienen. Wenn ich z.B. blind zu dem Menüpunkt 
zum Ausschalten der Heizung navigiere, kann ich die Heizung auch 
ausschalten.
Wenn ich den Arduino resette, bleibt die Anzeige nach wie vor 
eingefroren. Ich muss das Display (bzw. den Arduino und das Display) 
komplett stromlos machen und anschließend wieder einschalten, damit das 
Display wieder funktioniert. Es scheint so, als ob das Display gar nicht 
mehr auf I2C-Kommandos reagiert.

3. Selten (ca. alle 5-10 Minuten) erhalte ich mal einen falschen 
Temperaturwert von einem der PT100 - wenn die Temperatur normalerweise 
bei 90 Grad liegt, bekomme ich bspw. auf einmal einen Wert von 714 Grad 
angezeigt.

Sowohl beim Ausfall des Display als auch der USB-Verbindung regelt der 
Arduino die Temperatur problemlos weiter. Ich gehe also davon aus, dass 
die Software nach wie vor läuft, aber die Kommunikation nach außen nicht 
mehr funktioniert.

Ich habe mal mein Oszilloskop an die Signalleitungen geklemmt und konnte 
beim Einschalten des Relais massive Störimpulse messen. Im Anhang 
beispielhaft drei Screenshots, bei denen ich die USB-Leitungen gemessen 
habe. Man sieht, dass hier kurzzeitig die komplette Datenübertragung 
gestört wird. Ähnliche Störungen sind auch auf den I2C-Leitungen 
vorhanden.
Die Störungen treten beim EINschalten des Relais auf, beim Ausschalten 
triggert mein Oszilloskop nicht.

Folgendes habe ich versucht, um das Problem in den Griff zu bekommen:
- Leitung vom Relais zur Heizpatrone (ca. 1,5 m) mit Alufolie umwickelt 
und diese mit PE oder GND verbunden - keine Veränderung
- Ich habe versucht, das Relais mit Alufolie/Metallplatten, die ich mit 
PE verbunden habe, abzuschirmen - keine Änderung
- Austausch des Relais durch ein SSR - die oben beschriebenen Probleme 
treten nach wie vor auf, ich habe hier aber leider keine Messungen mit 
dem Oszilloskop gemacht; kann ich bei Bedarf nachholen
- Schaltung zur Nulldurchgangserkennung (Zero-Crossing) gebaut, um das 
SSR nur im Nulldurchgang einzuschalten - keine Änderung, beim 
mechanischen Relais ist das Schalten im Nulldurchgang durch das 
verzögerte Anziehen in meinen Augen nicht sinnvoll möglich
- Anfangs habe ich einen Relaissockel von Phoenix Contact (2903362) 
verwendet, welcher laut Datenblatt 6 A schafft. Diesen habe ich durch 
ein Wago 788-311 ersetzt, welcher laut Datenblatt 8 A schafft (ist auch 
auf dem Bild im Anhang zu sehen, das Phoenix Relais links daneben ist 
das zur Sicherheitsabschaltung) - keine Änderung
- Beide Kontakte des Wago-Relais parallelgeschaltet - keine Änderung
- Snubber über die Relaiskontakte abgebracht (Versuch 1: 100 Ohm/100 nF, 
Versuch 2: 50 Ohm (2x100 Ohm parallel)/220 nF) - keine Veränderung
- Heizpatrone testweise abgeklemmt, nur noch die Leitung zur Heizpatrone 
ist am Relais angeschlossen (keine Last) - massive Verbesserung, aber 
selten kommt es doch noch zu Ausfällen

Nachdem ich die Ursache der Störungen nicht eindämmen konnte, habe ich 
mich am Filtern versucht:
- 22 pF Kondensatoren nach GND in die I2C-Leitungen geschaltet + 5V 
direkt am Display mit 100 uF gepuffert - spürbare Verbesserung, aber 
nach wie vor häufige Ausfälle
- Leitungen zwischen OLED und Arduino deutlich verkürzt - erneut leichte 
Verbesserung, aber nach wie vor Ausfälle
- Klappferrite um I2C-Leitungen und USB-Kabel angebracht (an beiden 
Enden) - keine Veränderung
- Pi-Filter in die USB-Leitung eingeschliffen (ich weiß, keine gute 
Idee) - Arduino wird am PC nicht erkannt, Deskriptor kann nicht 
abgerufen werden

Mit meinem Transistor-Tester aus China messe ich an der Heizpatrone nur 
Widerstand und keine Induktivität. Auch, wenn ich eine Spule in Serie 
schalte, messe ich nur die Induktivität der Spule und keine zusätzliche 
Induktivität durch die Heizpatrone.
So langsam bin ich mit meinem Latein am Ende und ich weiß nicht, was ich 
sonst noch tun kann. Würde eine geschirmte Leitung zur Heizpatrone evtl. 
etwas bringen? Ich könnte mir vorstellen, dass die Alufolie nicht 
besonders gut dämpft. Die Störungen an der Quelle einzudämmen erscheint 
mir zielführender, als es mit Filtern zu versuchen.
Ich habe den Eindruck, dass es am Prellen der Relaiskontakte liegt. 
Gleichzeitig frage ich mich aber, warum das SSR hier für keine Besserung 
gesorgt hat.

Vielleicht hat ja jemand eine Idee oder Hinweis, wie ich hier 
weiterkomme. Ich würde mich sehr freuen, wenn mir jemand weiterhelfen 
könnte :-)

Danke und ein schönes Wochenende.

EDIT: Ich sehe gerade, dass ich im Schaltplan die Heizpatrone und die 
Nulldurchgangserkennung direkt an den L (vor dem LSS) angeschlossen habe 
- sorry, das ist falsch, sowohl die Heizpatrone als auch die 
Nulldurchgangs-Erkennung sind über den Leitungsschutzschalter 
abgesichert.

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Ich würde erst einmal die Verdrahtung ändern. Kurze Verbindungen, 
zentraler Punkt für GND.

: Bearbeitet durch User
von Monk (roehrmond)


Lesenswert?

Ich empfehle darüber hinaus 1,5k Ohm Pull-Up Widerstände am I2C Bus und 
Snubber entweder an den Kontakten der Relais oder (besser) parallel zur 
Last.

Beitrag #7739959 wurde vom Autor gelöscht.
von Falk B. (falk)


Lesenswert?

M. B. schrieb:

> 1. Sobald ich die Heizung einschalte, bricht nach einiger Zeit die
> Übertragung der Messwerte an den PC ab.

Was heißt das konkret? Nach welcher Zeit? Fällt das mit einem Schalten 
des Relais zusammen?

> ganze Zeit Daten zum PC, aber irgendwann stoppt die Übertragung einfach
> und es kommen keine neuen Daten mehr an. Der Arduino ist nach wie vor am
> PC als COM-Port sichtbar.

Klingt nach Softwarefehler in deinem Arduino.

> Wenn ich das USB-Kabel ziehe, wieder einstecke und anschließend die
> Verbindung im Terminal neu aufbaue, kommen auch wieder Daten an.

Da macht mindestens der USB-Teil einen Reset, ggf. sogar der ganze 
Arduino.

> Manchmal passiert dies 30 Sekunden nach dem Start der Messung, manchmal
> dauert es mehrere Minuten.

Wie oft schaltet das Relais für die Heizung?

> 2. Es kommt ab und zu vor, dass die Anzeige auf dem Display einfriert
> und nicht mehr aktualisiert wird. Ich kann das Menü aber nach wie vor
> "blind" mit dem Encoder bedienen. Wenn ich z.B. blind zu dem Menüpunkt
> zum Ausschalten der Heizung navigiere, kann ich die Heizung auch
> ausschalten.

Also klemmt der USB Teil und der Rest läuft weiter.

> Wenn ich den Arduino resette, bleibt die Anzeige nach wie vor
> eingefroren. Ich muss das Display (bzw. den Arduino und das Display)
> komplett stromlos machen und anschließend wieder einschalten, damit das
> Display wieder funktioniert.

Dann hast du ein Initialisierungsproblem in deiner Software,

> 3. Selten (ca. alle 5-10 Minuten) erhalte ich mal einen falschen
> Temperaturwert von einem der PT100 - wenn die Temperatur normalerweise
> bei 90 Grad liegt, bekomme ich bspw. auf einmal einen Wert von 714 Grad
> angezeigt.

Das kann ein Störpuls am Analogteil oder SPI sein.

> Ich habe mal mein Oszilloskop an die Signalleitungen geklemmt und konnte
> beim Einschalten des Relais massive Störimpulse messen. Im Anhang
> beispielhaft drei Screenshots, bei denen ich die USB-Leitungen gemessen
> habe. Man sieht, dass hier kurzzeitig die komplette Datenübertragung
> gestört wird. Ähnliche Störungen sind auch auf den I2C-Leitungen
> vorhanden.

Wie hast du das GENAU gemessen?

https://www.mikrocontroller.net/articles/Oszilloskop#Tastk%C3%B6pfe_richtig_benutzen

> Die Störungen treten beim EINschalten des Relais auf, beim Ausschalten
> triggert mein Oszilloskop nicht.

Der Kontakt prellt.

> Folgendes habe ich versucht, um das Problem in den Griff zu bekommen:
> - Leitung vom Relais zur Heizpatrone (ca. 1,5 m) mit Alufolie umwickelt
> und diese mit PE oder GND verbunden - keine Veränderung

Ist nicht sinnvoll. Wenn man schirmen will, muss die Schirmung auch auf 
ein Potential gelegt werden, meist PE oder GND.

> - Ich habe versucht, das Relais mit Alufolie/Metallplatten, die ich mit
> PE verbunden habe, abzuschirmen - keine Änderung

;-) Die Störungen breiten sich hier eher über die Kabel aus.

> - Austausch des Relais durch ein SSR - die oben beschriebenen Probleme
> treten nach wie vor auf,

Merkwürdig. SSR prellen nicht. Allerdings schalten die je nach Typ im 
Nulldurchgang der Spannung oder bei  beliebiger Phasenlage.

> - Anfangs habe ich einen Relaissockel von Phoenix Contact (2903362)
> verwendet, welcher laut Datenblatt 6 A schafft. Diesen habe ich durch
> ein Wago 788-311 ersetzt, welcher laut Datenblatt 8 A schafft (ist auch
> auf dem Bild im Anhang zu sehen, das Phoenix Relais links daneben ist
> das zur Sicherheitsabschaltung) - keine Änderung

Nutzlos.

> - Snubber über die Relaiskontakte abgebracht (Versuch 1: 100 Ohm/100 nF,
> Versuch 2: 50 Ohm (2x100 Ohm parallel)/220 nF) - keine Veränderung

Hmm, merkwürdig.

> - Heizpatrone testweise abgeklemmt, nur noch die Leitung zur Heizpatrone
> ist am Relais angeschlossen (keine Last) - massive Verbesserung, aber
> selten kommt es doch noch zu Ausfällen

Ein Indiz, daß da noch was faul ist.

> - 22 pF Kondensatoren nach GND in die I2C-Leitungen geschaltet + 5V
> direkt am Display mit 100 uF gepuffert - spürbare Verbesserung, aber
> nach wie vor häufige Ausfälle

Schon mal gut, kann man bis 100pF hochgehen.

> - Pi-Filter in die USB-Leitung eingeschliffen (ich weiß, keine gute
> Idee) - Arduino wird am PC nicht erkannt, Deskriptor kann nicht
> abgerufen werden

Das ist Unsinn.

> sonst noch tun kann. Würde eine geschirmte Leitung zur Heizpatrone evtl.
> etwas bringen?

Eher nicht.

> besonders gut dämpft. Die Störungen an der Quelle einzudämmen erscheint
> mir zielführender, als es mit Filtern zu versuchen.

Das ist der Idealfall in Lehrbuch, den man aber oft nicht erreicht. Ich 
glaube eher, daß deine Störsenke, der Arduino mit seinem Drumherum zu 
empfindlich ist. Man muss herausfinden, warum das so ist und 
Gegenmaßnahmen treffen.

> Ich habe den Eindruck, dass es am Prellen der Relaiskontakte liegt.

Vermutlich.

> Gleichzeitig frage ich mich aber, warum das SSR hier für keine Besserung
> gesorgt hat.

Gute Frage.

Du hast schon sehr viel gemacht. Dein Aufbau sieht erstmal gut aus. Aber 
hier noch ein paar Anmerkungen.

Die Ausgangsmasse vom Netzteil sollte geerdet sein, sprich mit PE 
verbunden.
Deine Sensoren soltlen nur über das Kabel zum Arduino geerdet sein, 
nicht zusätzlich irgendwo mit einem Kabel (sternförmige Erdung)
Du solltest eine Status-LED auf dem Arduino reglemäßig blinken lassen, 
wenn deine Sendefunktion zum USB aktiv ist. Damit sieht man, ob die noch 
läuft oder nicht.
Dein Kabel mit SPI zu den ADCs ist schon recht lang, das kann schief 
gehen. Hier sollte man mindestens eine Serienterminierung für SCK 
vorsehen, siehe Wellenwiderstand.
Prüfe, ob du den richtigen SPI-Mode eingestellt hast. Manchmal läuft das 
auch sehr grenzwertig und instabil mit dem falschen Modus.

Zum Testen sollte man die Störung STÄRKER machen. Sprich, schalte das 
Relais oft, sagen wir mit 0,5 Hz. Schalte wenn möglich einen stärkere 
Last. Dadurch provoziert man den Fehler leichter und häufiger und kann 
einfacher und schneller Gegenmaßnahmen prüfen.
Beobachte, wann die Funktionsstörung auftritt.
Dein Display braucht keine 100uF, das ist zuviel und nur bedingt HF 
wirksam. Nimm dort einen 100nF Keramikkondensator.
Den Snubber über dem Relaiskontakt sollte man behalten, dort ist er 
optimal.

von Falk B. (falk)


Lesenswert?

In der Software sollte man prüfen, ob das Display noch auf den I2C 
Zugriff reagiert. Wenn nein, muss man einen Softwarereset des Displays 
machen. Im Extremfall, wenn das allein nicht reicht, muss man dessen 
Stromversorgung vom Arduino schaltbar machen und einen Hardwarereset 
machen. Das ist zumindest ein Workaround fpr den Fall, daß man die 
Störung nicht bedämpfen kann.

von M. B. (bema16)


Angehängte Dateien:

Lesenswert?

Erstmal vielen Dank für die bisherige Beteiligung.
Der Elektronikaufbau steht gerade im Nachbarort, ich schaue, dass ich 
ihn bis morgen hier herhole, um die Vorschläge testen zu können.

Jörg R. schrieb:
> Ich würde erst einmal die Verdrahtung ändern. Kurze Verbindungen,
> zentraler Punkt für GND.

Ich werde schauen, wo ich hier noch optimieren kann. Aktuell sitzt auf 
dem Arduino eine Aufsteckplatine und alle Sensoren, das Display, das 
Relais etc. sind dort mittels Steckverbinder angeschlossen und bekommen 
dort auch ihre Masse und Versorgung. Einzige Ausnahme ist aktuell die 
Schaltung für die Nulldurchgangserkennung ganz rechts im Bild. Ich kann 
bei Bedarf ein besseres Bild nachliefern, sobald der Aufbau hier ist.

Monk schrieb:
> Ich empfehle darüber hinaus 1,5k Ohm Pull-Up Widerstände am I2C Bus und
> Snubber entweder an den Kontakten der Relais oder (besser) parallel zur
> Last.

Im Schaltplan sind 4,7k als Pullup beim I2C eingezeichnet, aber der 
Feuchtigkeitssensor und das Display sind "Breakout-Boards", auf denen 
ebenfalls nochmal Pullups sitzen. Ich müsste mal die resultierenden 
Pullup-Widerstände mit dem Multimeter nachmessen.
Snubber habe ich aktuell parallel zu den Relaiskontakten, parallel zur 
Last habe ich tatsächlich noch nicht getestet. Werde ich ausprobieren.

Falk B. schrieb:
> Was heißt das konkret? Nach welcher Zeit? Fällt das mit einem Schalten
> des Relais zusammen?

Der Ausfall fällt definitiv mit dem Schalten des Relais zusammen. 
Manchmal kommt es 10 Sekunden nach dem Einschalten der Heizung zu einem 
Ausfall, manchmal erst nach einigen Minuten, ein Muster erkenne ich 
nicht.
Lasse ich die Heizung ausgeschaltet, funktionieren sowohl Kommunikation 
als auch Display dauerhaft problemlos.

Falk B. schrieb:
> Klingt nach Softwarefehler in deinem Arduino.
>
>> Wenn ich das USB-Kabel ziehe, wieder einstecke und anschließend die
>> Verbindung im Terminal neu aufbaue, kommen auch wieder Daten an.
>
> Da macht mindestens der USB-Teil einen Reset, ggf. sogar der ganze
> Arduino.

Der Arduino macht definitiv keinen Reset, die Heizung bleibt 
eingeschaltet und der PID-Regler regelt weiterhin. Dass der USB-Teil 
einen Reset macht, ist aber gut möglich.

Falk B. schrieb:
> Wie oft schaltet das Relais für die Heizung?

Die Periodendauer beträgt eine Sekunde, der PID-Regler gibt eine 
Einschaltdauer von 0-1000 ms vor. Werte unter 50 ms ignoriere ich in der 
Software (Relais wird nicht eingeschaltet), weil es in meinen Augen 
keinen Sinn macht, ein mechanisches Relais nur so kurz einzuschalten.

Falk B. schrieb:
> Wie hast du das GENAU gemessen?
>
> 
https://www.mikrocontroller.net/articles/Oszilloskop#Tastk%C3%B6pfe_richtig_benutzen

Guter Punkt. Ich habe die Masse mit der Krokodilklemme vom Tastkopf 
abgegriffen, was natürlich nicht optimal ist.
Ich werde die Messung mit einer Massefeder wiederholen und auch den Tipp 
mit der GND-Messung anwenden.

Falk B. schrieb:
>> Folgendes habe ich versucht, um das Problem in den Griff zu bekommen:
>> - Leitung vom Relais zur Heizpatrone (ca. 1,5 m) mit Alufolie umwickelt
>> und diese mit PE oder GND verbunden - keine Veränderung
>
> Ist nicht sinnvoll. Wenn man schirmen will, muss die Schirmung auch auf
> ein Potential gelegt werden, meist PE oder GND.

Ich habe die Alufolie mittels Krokokabel auf PE und GND gelegt (das 
meinte ich in dem von dir zitierten Teil), beides hat für keine 
merkliche Besserung gesorgt.

Falk B. schrieb:
>> - Snubber über die Relaiskontakte abgebracht (Versuch 1: 100 Ohm/100 nF,
>> Versuch 2: 50 Ohm (2x100 Ohm parallel)/220 nF) - keine Veränderung
>
> Hmm, merkwürdig.

Falk B. schrieb:
>> Gleichzeitig frage ich mich aber, warum das SSR hier für keine Besserung
>> gesorgt hat.
>
> Gute Frage.

Ich sehe schon, ich sollte das SSR nochmal einbauen und Messungen mit 
dem Oszilloskop machen. Es ist leider eines dieser "China 40 A SSRs" 
(siehe Bild im Anhang), aber das sollte jetzt erstmal keine Rolle 
spielen. Klicken tut es jedenfalls nicht :D

Falk B. schrieb:
> Die Ausgangsmasse vom Netzteil sollte geerdet sein, sprich mit PE
> verbunden.

Ich habe mal das Blockdiagramm des Netzteils aus dem Datenblatt 
angehängt. Hier ist ein Kondensator von GND nach PE eingezeichnet, eine 
gewisse Filterung sollte also schon vorhanden sein. Ich klemme GND aber 
testweise mal direkt auf PE.

Falk B. schrieb:
> Deine Sensoren soltlen nur über das Kabel zum Arduino geerdet sein,
> nicht zusätzlich irgendwo mit einem Kabel (sternförmige Erdung)

Ich werde prüfen, ob das wirklich überall der Fall ist und ggf. 
Anpassungen vornehmen.

Falk B. schrieb:
> Du solltest eine Status-LED auf dem Arduino reglemäßig blinken lassen,
> wenn deine Sendefunktion zum USB aktiv ist. Damit sieht man, ob die noch
> läuft oder nicht.

Das ist eine gute Idee, werde ich so umsetzen.

Falk B. schrieb:
> Dein Kabel mit SPI zu den ADCs ist schon recht lang, das kann schief
> gehen. Hier sollte man mindestens eine Serienterminierung für SCK
> vorsehen, siehe Wellenwiderstand.
> Prüfe, ob du den richtigen SPI-Mode eingestellt hast. Manchmal läuft das
> auch sehr grenzwertig und instabil mit dem falschen Modus.

Serienterminierung werden ich so umsetzen, ggf. kann ich auch das Kabel 
kürzer machen. Für die MAX31865 verwende ich eine fertige Bibliothek von 
Adafruit, ich werde prüfen, welcher SPI-Modus hier verwendet wird und ob 
es zum Datenblatt des MAX31865 passt.

Falk B. schrieb:
> Zum Testen sollte man die Störung STÄRKER machen. Sprich, schalte das
> Relais oft, sagen wir mit 0,5 Hz. Schalte wenn möglich einen stärkere
> Last. Dadurch provoziert man den Fehler leichter und häufiger und kann
> einfacher und schneller Gegenmaßnahmen prüfen.
> Beobachte, wann die Funktionsstörung auftritt.

Das klingt sinnvoll, werde ich so machen. Evtl. finde ich noch eine 
zusätzliche Last, die ich zur Heizpatrone parallelschalten kann.

Falk B. schrieb:
> Dein Display braucht keine 100uF, das ist zuviel und nur bedingt HF
> wirksam. Nimm dort einen 100nF Keramikkondensator.

Falk B. schrieb:
> Schon mal gut, kann man bis 100pF hochgehen.

Werde ich beides entsprechend abändern.

Falk B. schrieb:
> In der Software sollte man prüfen, ob das Display noch auf den I2C
> Zugriff reagiert. Wenn nein, muss man einen Softwarereset des Displays
> machen. Im Extremfall, wenn das allein nicht reicht, muss man dessen
> Stromversorgung vom Arduino schaltbar machen und einen Hardwarereset
> machen. Das ist zumindest ein Workaround fpr den Fall, daß man die
> Störung nicht bedämpfen kann.

Auch hier verwende ich eine fertige Bibliothek von Adafruit. Ich werde 
prüfen, ob das ACK/die Antworten vom Display überprüft werden und ob ich 
ggf. eine Funktion zum Resetten einbauen kann.
Einen Hardwarereset sehe ich als letzte Möglichkeit an, vielleicht 
schaffe ich es ja auch ohne. Wenn es nicht klappt, muss es aber wohl 
sein.



Schon mal vielen Dank für die vielen Hinweise. Ich kümmere mich darum, 
dass ich den Aufbau in die Finger bekomme und werde zeitnah Rückmeldung 
geben, sobald es neue Erkenntnisse gibt.

von Thomas Z. (usbman)


Lesenswert?

Besorg dir USBDeviceView von Uwe Sieber. Dann kontrolliere ob nach einem 
USB Absturz noch die die Deskriptoren geliefert werden. Sollten die 
kommen funktioniert USB und die Bulkpuffer sind festgefahren.
Das kann auch an einer schlechten VCP Implementierung liegen. Gibt es 
sowas wie flush?

von Chris K. (kathe)


Lesenswert?

Zu viel Text.

Viel zu viel lange Kabel die als Antenne sich gegenseitig beinflussen 
können. Die Relais sind nicht sichtbar.
Getrennte Kabelführung zu dem Poti und "Hochstrom" Schaltern sehe ich 
nicht ....

von Monk (roehrmond)


Angehängte Dateien:

Lesenswert?

Chris K. schrieb:
> Die Relais sind nicht sichtbar.

von Falk B. (falk)


Lesenswert?

Chris K. schrieb:
> Viel zu viel lange Kabel die als Antenne sich gegenseitig beinflussen

Blödsinn. Aber Hauptsache geschwätzt.

> können. Die Relais sind nicht sichtbar.
> Getrennte Kabelführung zu dem Poti und "Hochstrom" Schaltern sehe ich
> nicht ....

Weil du blind bist.

von Chris V. (nagut)


Lesenswert?

Offenbar fängst Du Dir Störungen vom Laststromkreis (logisch), aber auch 
von der Relaisansteuerung (!) ein. Letzteres wird ersichtlich durch den 
Versuch mit abgeklemmter Last.

Ich würde mir die Relaisansteuerung nochmal genauer anschauen 
(Funktioniert die angeblich im Sockel eingebaute Diode wirklich?), und 
die 12V-Versorgung für die Logikschaltkreise vorm Arduino über ein 
LC-Filter führen. Danach dann auf ordentliche Masseführung achten, und 
alle Leitungen (auch die +5V-Versorgung) weit weg von den mutmaßlich 
"verseuchten" 12V und Netzleitungen.

D.h. Dein gemischter Niederspannungkabelkanal mit Logikleitungen zum 
Dreh-Encoder und Relaisansteuerung schön parallel geführt ist vermutlich 
nicht die beste Idee.


PS: die USB-Messungen zeigen zwar, dass die Kommunikation genau dann 
abzureißen scheint (Stoerungen_USB_2.png), aber die gemessene Störung 
ist im Gleichtakt auf beiden Busleitungen. Sehr wahrscheinlich ist das 
ohnehin nur ein Artefakt Deiner Messstrippen - aber selbst wenn es 
wirklich so auf dem Busleitungen liegt, würde es den USB-Bus nicht 
durcheinanderbringen. Genau deswegen benutzt man dort ein symmetrisches 
Signal.

: Bearbeitet durch User
von L.S. (lagerschaden)


Angehängte Dateien:

Lesenswert?

Monk schrieb:
> Ich empfehle darüber hinaus 1,5k Ohm Pull-Up Widerstände am I2C
> Bus und
> Snubber entweder an den Kontakten der Relais oder (besser) parallel zur
> Last.

Das ist m.E. die vordringlichste Massnahme. Der häufigste Fehler bei 
I2C-Problemen sind die Pullups, weil viele den I2C-Bus nicht verstehen.

Bei 3V3 kann man mit den Pullups (Geamtwert) sogar bis auf 1 k 
heruntergehen, siehe Bild

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

L.S. schrieb:
> Das ist m.E. die vordringlichste Massnahme. Der häufigste Fehler bei
> I2C-Problemen sind die Pullups, weil viele den I2C-Bus nicht verstehen.

So wie du EMV nicht verstehst. Für eine HF-Störung ist der Unterschied 
zwischen 5k und 1k Pull Up Widerstand sehr gering. Die deutlich größere 
Wirkung erzielt man dabei mit einem Kondensator, denn der ist um 
GRÖßENORDNUGNEN niederohmiger im entscheidenden Frequenzbereich. Der 
liegt nicht bei ein paar kHz sondern einigen MHz.
1
XC = 1/(2*Pi*f*C) = 1/(2*Pi*10MHz*100pF) = 160 Ohm

Dort kommt man mit niederohmigen Pull Ups nicht mal ansatzweise hin, 
schon gar nicht bei höheren Frequenzen.

von Frank O. (frank_o)


Lesenswert?

M. B. schrieb:
> Folgendes habe ich versucht, um das Problem in den Griff zu bekommen:
> - Leitung vom Relais zur Heizpatrone (ca. 1,5 m) mit Alufolie umwickelt

Versuche doch einmal einen anderen Stromkreis für die Heizpatrone zu 
nehmen, als für dein Netzteil.
Dann dickere Kabel an die Heizpatrone.
Dicke Kondensatoren am Ausgang vom Netzteil.

Beitrag #7740482 wurde vom Autor gelöscht.
von Rainer W. (rawi)


Lesenswert?

M. B. schrieb:
> Weiter Hinweis: In den Relaissockeln sind bereits Freilaufdioden
> integriert, deshalb habe ich diese nicht in den Schaltplan
> eingezeichnet.

Das ist kein Grund, die Freilaufdioden im Schaltplan zu verschweigen. 
Gerade, wenn es um Störungssuche geht, sind die essenziell. Dazu wären 
auch Angaben zu der Höhe der geschalteten Ströme hilfreich.

Der Schaltplan soll zeigen, wie die Schaltung aufgebaut ist und nicht, 
welche Modules es gibt. Das ist der Unterschied zwischen Schaltplan und 
Blockschaltbild.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Rainer W. schrieb:
> Das ist kein Grund, die Freilaufdioden im Schaltplan zu verschweigen.
> Gerade, wenn es um Störungssuche geht, sind die essenziell. Dazu wären
> auch Angaben zu der Höhe der geschalteten Ströme hilfreich.

Versuchs mal mit Lesen und dem ohmschen Gesetz.

> Der Schaltplan soll zeigen, wie die Schaltung aufgebaut ist

Das tut er!

von M. B. (bema16)



Lesenswert?

So, ich habe die Holzplatte mit der Elektronik heute morgen zu mir 
geholt und es gibt neue Erkenntnisse.

Als erstes habe ich mit dem Oszilloskop und einem Tastkopf mit 
Massefeder (ohne Krokoklemme) gegen GND gemessen und die Heizung 
eingeschaltet. Hierbei konnte ich keine Störungen auf dem Oszilloskop 
erkennen - Einkopplungen in die Tastkopfleitung sollten also nicht 
vorhanden sein.

Anschließend habe ich nochmal die Störungen beim Einschalten des Relais 
auf den USB- und I2C-Leitungen gemessen, ebenfalls mit der Massefeder. 
Screenshots vom Oszi habe ich angehängt, die gelbe Linie ist jeweils das 
USB/I2C-Signal und die violette Linie die 230V, die vom Relais 
geschalten werden. Ich denke, damit ist auf jeden Fall klar, dass die 
Störungen beim Einschalten des Relais das Problem sind. Auch auf die 5V 
Versorgung koppeln die Störungen ein.

Anschließend habe ich nochmal das SSR eingebaut und die Messungen 
wiederholt. Hierbei konnte ich überhaupt keine Störungen auf dem 
Oszilloskop erkennen, was mich überrascht hat, weil ich mit dem SSR, wie 
oben beschrieben, ebenfalls Probleme hatte. Auf der anderen Seite macht 
es aber natürlich Sinn, dass ich mit dem SSR keine Störungen habe, weil 
dieses nicht prellt und zusätzlich im Nulldurchgang eingeschaltet wird. 
Das war schließlich auch der Grund, weshalb ich überhaupt auf die Idee 
gekommen bin, das SSR einzubauen.
Die Screenshots habe ich ebenfalls wieder angehängt.

Nun habe ich mit dem SSR nochmal einen Dauerlauf gestartet - Arduino an 
den PC gehängt, Terminal geöffnet, 70 Grad als Zieltemperatur 
eingestellt und die Heizung aktiviert. Der Arduino hat die Temperatur 
geregelt und das SSR wurde jede Sekunde ein- und ausgeschaltet. Nach 
kurzer Zeit (ca. vier Minuten) ist wieder das Display ausgestiegen 
(Anzeige eingefroren), aber die USB-Kommunikation hat die ganze Zeit 
(gute zwei Stunden) problemlos funktioniert und ich hatte keinen 
Ausfall. Komische Temperaturwerte hatte ich ebenfalls nicht.
Ich habe im Kopf, dass ich bei meinem ersten Versuch mit dem SSR auch 
Probleme mit dem USB hatte, aber es kann gut sein, dass ich den Test 
beim ersten Versuch direkt abgebrochen habe, als das Display eingefroren 
ist, und ich das jetzt durcheinanderbringe. Deshalb: Immer alles 
dokumentieren und nicht "mal eben schnell" etwas ausprobieren - hier 
habe ich wahrscheinlich etwas schludrig gearbeitet, mein Fehler.

Durch den Test von oben habe ich das Gefühl, dass das Problem mit dem 
Display eher softwarebedingt ist, ich werde aber trotzdem mal die 100 pF 
Kondensatoren an SDA und SCL hängen und den 100 uF Kondensator durch 100 
nF ersetzen. Auch die Pullups werde ich nochmal überprüfen und ggf. 
verkleinern, mir ist aufgefallen, dass die Anstiegsflanken auf dem Oszi 
nicht so klasse aussehen. Falls das nicht hilft, schaue ich mir die 
Software nochmal genauer an.

Ich will mich noch nicht zu früh freuen und ich werde noch einige Tests 
machen, aber aktuell sieht es so aus, dass es mit dem SSR entgegen 
meinem ersten Test doch (fast) zuverlässig funktioniert. Ich werde auf 
jeden Fall ein Update geben, wenn es Neuigkeiten gibt :-)

Danke an alle, die Gedanken gemacht haben und Hinweise gegeben haben. 
Ich wünsche noch einen schönen Sonntag Abend.

von Stephan S. (uxdx)


Lesenswert?

und hast Du jetzt auch mal die Pullups auf 1k geändert und gemessen?

von Frank O. (frank_o)


Lesenswert?

Hast du eigentlich einmal den Strom gemessen oder zumindest zusammen 
gerechnet. Bei dem ganzen Zeug, was du da dran hast, sind die 1,3A nicht 
gerade überschwänglich viel Strom.

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


Lesenswert?

M. B. schrieb:
> Anschließend habe ich nochmal die Störungen beim Einschalten des Relais
> auf den USB- und I2C-Leitungen gemessen, ebenfalls mit der Massefeder.
Und wo hast du die Massefeder kontaktiert? Denn wenn du wissen willst, 
wa das jeweilige Bauteil "sieht", musst du direkt am IC den Signalpin 
kontaktieren und direkt an selben IC den nächstgelegenen Massepunkt. 
Dann siehst du auf dem Oszi, was das IC auch sieht.

> mal die 100 pF Kondensatoren an SDA und SCL hängen
Das ist wildes Gebastel. Besser als das Beschönigen von Symptomen ist 
die Behebung der Ursache.

> Auch auf die 5V Versorgung koppeln die Störungen ein.
Miss mal "Masse gegen Masse" also die Masseklemme des Oszis an einen 
Massepunkt (z.B. am µC) und die Messpitze an einen anderen Massepunkt 
(z.B. am I²C-Device). Im Idealfall solltest du dann (wegen Masse = 
Masse) immer einen geraden Strich bei 0V auf dem Oszi sehen. Was siehst 
du tatsächlich? Wenn da genau dasselbe wilde Gezappel zu sehen ist, dann 
hast du einfach nur eine schlechte Masseführung.

> will mich noch nicht zu früh freuen und werde noch einige Tests machen
Das solltest du tun, denn deine Schaltung ist ja nicht nur auf die 
Störungen sensibel, die sie selber produziert, sondern natürlich auch 
auf die, die von aussen kommen.

Ich mache da immer so einen einfachen Burst-Test mit einem "Kerbl 
Handyshock" Nachbau, wie im
Beitrag "Re: Tiefentladungsschutz mit Attiny und P-Kanal Fet" beschrieben. Wenn 
das gut geht, dann ist meine Schaltung ordentlich aufgebaut. Die 
rustikalere Variante eines solchen Tests ist im selben Thread weiter 
unten im Beitrag "Re: Tiefentladungsschutz mit Attiny und P-Kanal Fet" 
beschrieben.

Aber eines ist sicher: dein störempfindlicher Aufbau wird keinen dieser 
Tests fehlerfrei bestehen.

: Bearbeitet durch Moderator
von M. B. (bema16)


Lesenswert?

Stephan S. schrieb:
> und hast Du jetzt auch mal die Pullups auf 1k geändert und gemessen?

Das wollte ich gerade tun und dabei ist mir folgendes aufgefallen:
- Am Arduino habe ich - wie im Schaltplan eingezeichnet - 4,7 kOhm 
Pullups vorgesehen
- Der Feuchtesensor verfügt über zwei 10 kOhm Pullups nach VCC, die 
bereits auf dem Breakout-Board installiert sind
- Auf der Platine des OLED-Displays ist ein 3,3 V Spannungsregler 
vorgesehen, welcher aus den 5V die Versorgung für das Display generiert. 
Offensichtlich verträgt dieses nur 3,3 V.
Zusätzlich gibt es zwei 10 kOhm Pullups, die aber gegen 3,3 V und nicht 
gegen 5 V geschaltet sind.

-> Das ist natürlich Murks, so arbeiten die Pullups gegeneinander. 
Nachdem ich nochmal mit dem Oszi nachgemessen habe, habe ich 
festgestellt, dass ich nur 4 V Signalpegel auf dem I2C-Bus habe.
Bevor ich jetzt die Pullups verändere, baue ich erstmal einen 
Pegelwandler zwischen Display und Arduino ein, damit die Pegel sauber 
sind. Anschließend gehe ich mal mit den Pullups weiter runter.

Frank O. schrieb:
> Hast du eigentlich einmal den Strom gemessen oder zumindest zusammen
> gerechnet. Bei dem ganzen Zeug, was du da dran hast, sind die 1,3A nicht
> gerade überschwänglich viel Strom.

Ich habe gerade nachgemessen, der Stromverbrauch auf der 12V Seite 
beträgt 90 mA bei eingeschaltetem Relais. Die 1,3 A sollten also auf 
jeden Fall ausreichen.

Lothar M. schrieb:
> Und wo hast du die Massefeder kontaktiert?

Beim I2C habe ich die SDA/GND bzw. SCL/GND Pins direkt am Display 
verwendet, beim USB bin ich auf die ESD-Schutzdioden hinter der Buchse 
gegangen. Auch hier die Tastspitze auf das USB-Signal und die Massefeder 
an das direkt gegenüberliegende GND-Pad von dem Dioden-IC.

Lothar M. schrieb:
> Miss mal "Masse gegen Masse" also die Masseklemme des Oszis an einen
> Massepunkt (z.B. am µC) und die Messpitze an einen anderen Massepunkt
> (z.B. am I²C-Device).

Einen so großen Abstand kann ich mit dem Tastkopf und der Massefeder 
nicht überbrücken, hiermit kann ich nur benachbarte Pins messen. Oder 
ist es ok, wenn ich an der Tastspitze einen kurzen Draht anbringe, um 
zum Display zu gelangen?

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


Lesenswert?

M. B. schrieb:
> Oder ist es ok, wenn ich an der Tastspitze einen kurzen Draht anbringe,
> um zum Display zu gelangen?
Du kennst diese üblichen Masseclips, die mit jedem Tastkopf ausgeliefert 
werden? Damit kann man gut 20cm überbrücken.

von Falk B. (falk)


Lesenswert?

Lothar M. schrieb:
>> Oder ist es ok, wenn ich an der Tastspitze einen kurzen Draht anbringe,
>> um zum Display zu gelangen?
> Du kennst diese üblichen Masseclips, die mit jedem Tastkopf ausgeliefert
> werden? Damit kann man gut 20cm überbrücken.

Genau DAS wollte er VERMEIDEN!

von Frank O. (frank_o)


Lesenswert?

M. B. schrieb:
> Ich habe gerade nachgemessen, der Stromverbrauch auf der 12V Seite
> beträgt 90 mA bei eingeschaltetem Relais.

Du hast noch ein Display dran, das, wenn ich mich recht erinnere, bis zu 
300mA ziehen kann. Dein Arduino zieht mit Sicherheit auch schon mal 
kurzzeitig mehr. Beim Anziehen braucht dein Relais sicher auch deutlich 
mehr Strom, als im Betrieb.
Und wer weiß, ob das überhaupt 1300mA bringt.
Ich tippe immer noch auf das Netzteil.

von Falk B. (falk)


Lesenswert?

Frank O. schrieb:
> Du hast noch ein Display dran, das, wenn ich mich recht erinnere, bis zu
> 300mA ziehen kann.

So ein Käse. Außerdem zieht das keine 300mA bei 12V.

> Dein Arduino zieht mit Sicherheit auch schon mal
> kurzzeitig mehr.

Nö, warum auch?

>Beim Anziehen braucht dein Relais sicher auch deutlich
> mehr Strom, als im Betrieb.

Schon wieder falsch! Relais haben keinen Einschaltstrompuls!

> Und wer weiß, ob das überhaupt 1300mA bringt.
> Ich tippe immer noch auf das Netzteil.

Was für ein sinnloses Gelaber!

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


Lesenswert?

Falk B. schrieb:
> Genau DAS wollte er VERMEIDEN!
Genau DAS ist mir schon klar, aber man kann ja auch einfach mal als *1. 
Schritt* und Bezugsmessung die lange Masseklemme und die Prüfspitze an 
exakt den selben Massepunkt in der Schaltung halten und sehen, was 
dann einkoppelt (das sind die Funkstörungen, die in diese 
"Tastkopfschleife" einstrahlen).

Und dann kann man im *2. Schritt* die Masseklemme an der selben Stelle 
lassen und mit der Spitze andere Massepunkte messen. Wenn dann immer 
noch dasselbe wie bei der 1. Messung zu sehen ist, dann ist die Masse 
tadellos. Wenn mehr Störungen zu sehen sind, dann kommen die mit hoher 
Wahrscheinlichkeit von Strömen, die sich auf der weit verstreuten Masse 
tummeln.

M. B. schrieb:
> Es kommt ab und zu vor, dass die Anzeige auf dem Display einfriert
Nicht zu selten kommen solche Fehler als Folgefehler: weil vorher auf 
irgendeinem anderen Portpin eine Störung aufgetreten ist, tut die 
Software als Reaktion auf diese Störung irgendwas Anderes und hat a) 
keine Zeit mehr für den Rest oder b) beginnt eine Aktion, die natürlich 
nicht weitergeht.

Die allermeisten "abgestürzten" Programme laufen mit Vollgas in einer 
endlosen Scheife mit irgendeiner Abfrage und warten darauf, dass eine 
externe oder interne Hardware etwas tut, was nie kommen wird.

Frank O. schrieb:
> Ich tippe immer noch auf das Netzteil.
Ich tippe immer noch auf die nicht ungeplante Masseführung, Und die 
insgesamt vogelwilde Verkabelung. Vermutlich in Zusammenhang mit einer 
nicht ausreichend gegen Störungen resistenten Software. Denn alle 3 
beschriebenen Fehler deuten darauf hin, dass die Software "im Prinzip" 
weiterläuft, aber nicht in der Lage war, die aufgetretenen Störungen zu 
behandeln.

: Bearbeitet durch Moderator
von Axel R. (axlr)


Lesenswert?

Schwarz, rot, rosa, weiß gehen zu den beiden Relais, wenn man das auf 
dem Foto so interpretieren mag und verschwinden im Kabelkanal. (Foto ist 
immer schlecht zu deuten, is ja klar) Wo kommen die wieder raus und wo 
sind die angeschlossen?
Der kleine gelochte Kasten scheint das Netzteil zu sein. Mit schwarz und 
gelb (statt rot und schwarz). Das geht genau wohin?

Nimm dir doch bitte mal n A3 Blatt, Lineal, Bleistift und Radiergummi 
und zeichne das in geraden Strichen genau so auf, wie der tatsächliche 
Verlauf deiner Verdrahtung aussieht.
Dann sieht man unter Umständen sofort, wo die Ströme nicht nur hin - 
sondern auch zurückfließen.
Nütz ja kein Mustergültiger Aufbau mit adernendhülsen usw. Wenn die 
umspannten Leiterflächen da n halben Quadratmeter am Ende umspannen und 
die Masseleitungen samba tanzen.
Bei Schaltreglern werden diese Stromschleifen/Flächen hier im Forum 
immer gern eingezeichnet.
Wundere mich, diesen Hinweis hier noch nicht gelesen zu haben. Würde ich 
hier auch mal einzeichnen. Das einzige, was klickt und Last abwirft, 
sind die Relais.
Deren Rückleitung muss direkt zum Netzteil verlegt werden. Da darf kein 
anderer Strom drüber fließen.

Bei so einer Zeichnung kann man dann den Kabelkanal auch so breit 
zeichnen, dass alle Kabel nebeneinander laufen und man man kann den 
Deckel quasi weglassen.
Ist ne scheissarbeit, das zu zeichnen, hilft aber ungemein.
Vielleicht in Zukunft (für andere, wenn nicht für sich selbst) sinnvolle 
Kabelfarben verwenden und nicht die vier Farben, die man gerade zur Hand 
hat.
Das Netzteil reicht ja wohl dicke aus. Verstehe die Diskussion darum 
garnicht. Liegt definitiv an der Leitungsführung.

von Axel R. (axlr)


Lesenswert?

https://docs.arduino.cc/resources/schematics/ABX00080-schematics.pdf

Was steckt denn da noch oben auf dem Arduino für’n „shield“ drauf? 
Gibt’s da auch nen Link dazu?

von Monk (roehrmond)


Lesenswert?

M. B. schrieb:
> Nachdem ich nochmal mit dem Oszi nachgemessen habe, habe ich
> festgestellt, dass ich nur 4 V Signalpegel auf dem I2C-Bus habe.

Dem Arduino UNIO reichen sogar 3,3 Volt aus.

Es könnte aber sein, dass dein Display es gar nicht gerne hat, wenn 
seine I/O Pins auf außerhalb der Spezifikation (mehr als 3,8 Volt) hoch 
gezogen werden.

Ändere die Schaltung so, dass alle Pull-Ups auf 3,3V ziehen.

Der Feuchtesensor kann laut Datenblatt mit 3,3V betrieben werden. Ich 
weiß aber nicht, was die auf deinem Modul noch drum herum gebaut haben.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Falk B. schrieb:
> So ein Käse. Außerdem zieht das keine 300mA bei 12V.

Stand bei den OLED im Datenblatt. Allerdings habe ich das auch nie 
messen können.

Falk B. schrieb:
> Schon wieder falsch! Relais haben keinen Einschaltstrompuls!

Asche auf mein Haupt. War völliger Quatsch.

Dann halte ich mal die Finger still und bin gespannt was dabei 
rauskommt.

Lothar M. schrieb:
> Frank O. schrieb:
>> Ich tippe immer noch auf das Netzteil.
> Ich tippe immer noch auf die nicht ungeplante Masseführung, Und die
> insgesamt vogelwilde Verkabelung.
Das sicher auch.
Ich bin gespannt.

von Frank O. (frank_o)


Lesenswert?

Falk B. schrieb:
> In der Software sollte man prüfen, ob das Display noch auf den I2C
> Zugriff reagiert. Wenn nein, muss man einen Softwarereset des Displays
> machen. Im Extremfall, wenn das allein nicht reicht, muss man dessen
> Stromversorgung vom Arduino schaltbar machen und einen Hardwarereset
> machen. Das ist zumindest ein Workaround fpr den Fall, daß man die
> Störung nicht bedämpfen kann.

Hallo Falk!
Das sind die Beiträge, die ich von dir gewohnt bin und auch schätze.

Falk B. schrieb:
> Was für ein sinnloses Gelaber!

In letzter Zeit öfter so was. Klar, da hast du recht gehabt. Vor allem 
mit dem Relais. Aber was sollen solche Beleidigungen?
Du hast auch keine Lösung und wir machen uns doch alle Gedanken, woran 
es liegen könnte.
Dass ich dir in der Elektronik nicht das Wasser reichen kann und auch 
gar nicht möchte, sollte dir hinlänglich bekannt sein. Aber dennoch habe 
ich 37 Jahre Erfahrung in der Fehlersuche und da ist es sehr häufig die 
Stromversorgung.
Bitte lass diese Art doch sein! Es steht dir nicht, denn damit machst 
du, zumindest bei mir, deinen guten Ruf kaputt.

von M. B. (bema16)


Lesenswert?

Danke für die Beteiligung und die vielen Hinweise!
Ich wollte nur kurz Bescheid geben, dass ich mitlese und den Thread hier 
nicht vergessen habe, aber gestern und heute leider keine Zeit hatte, an 
dem Projekt weiterzumachen.
Ich denke, dass ich am Freitag oder am Wochenende etwas Zeit finden 
sollte und dann werde ich auf die Hinweise eingehen und 
Bilder/Informationen nachliefern.
Bis dahin bitte etwas Geduld, Danke :-)

von Frank O. (frank_o)


Lesenswert?

M. B. schrieb:
> Bis dahin bitte etwas Geduld, Danke :-)

Gibt keinen Zwang abzuliefern und schon gar nicht zeitlich. Aber schön 
wäre es trotzdem, wenn du dann was gefunden hast und uns das mitteilst.

von Lu (oszi45)


Lesenswert?

Viel Lyrik hier. Bei der Sauerkrautverdrahtung würde ich mir ein paar 
Pfeile wünschen, wo genau man den Fehler gemessen hat. Ansonsten werfe 
ich mal die Worte Relais-Kontaktprellen und Snubber ein, wenn die 400W 
geschaltet werden. https://www.mikrocontroller.net/articles/Snubber

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