Pumpe stört Arduino durch Relais und führt zu Absturz

Hallo,

Vorbemerkung:
Ich bin neu in der Arduino-Programmierung und habe als Informatiker lediglich Basis-Verständnis, nachdem ich als Kind mit der einen oder anderen Schaltung experimentiert habe.

Mein Problem wurde im Englischen Forum bereits hier und da angesprochen, jedoch immer ohne hilfreiche oder für mich verständliche Lösung.

Ich bin dabei einen Blumengieß-Computer zu bauen, der abhängig von 3-4 Feuchtigkeitssensoren je eine Pumpe ansteuern soll. Der aktuelle Zustand soll auf einem TFT-Display ausgeben werden. Weitere Spielereien (Daten sammeln, WiFi...) sollen folgen.

Problem:
Die Pumpe, die ich über ein Relais mit Optokoppler anschließe, stört den Arduino so massiv, dass das TFT flackert und bald der ganze Arduino einfriert/abstürzt.

Meinem Verständnis nach sollte das eigentlich durch die Entkopplung des Relais vom Arduino unmöglich sein...

Komponenten:

  • Arduino Uni R3 Nachbau (Link)
  • 8-Relais Modul 5V mit Optokoppler (Link)
  • SPI TFT-Display mit 1,77 Zoll (Link)
  • 5V Mini-Tauchpumpen (Link)
  • Bodenfeuchtesensor kapazitiv (Link)
  • 2 USB Netzteile

Aufbau:

  • Stromversorgung Arduino via USB (Problem egal ob an Netzteil oder PC)
  • 3 Sensoren an Arduino Analog 0, 2, 4
  • Relais direkt mit Strom vom Arduino versorgt (JD-VCC, VCC Gejumpert)
  • Stromversorgung der Pumpe via unabhängigem USB Netzteil
  • Masse der Pumpe und Arduino sind nicht verbunden

Problem:
Sobald ich die Phase der Pumpe mit dem Relais verbinde, wird der Arduino massiv gestört: TFT flackert, Arduino stürzt bald ab.
Das passiert unabhängig davon, ob ich die Pumpe überhaupt über das Relais logisch schalte (NC) oder lediglich im Betrieb mit (NO) verbinde.

Die Pumpe scheint ein störendes Magnetfeld zu haben, denn wenn ich die Pumpe ohne jegliche Verbindung zum Aufbau anschließe - ändern die Sensoren, sofern sich die Pumpe in der Nähe befinden, bereits ihre Werte.

Nur der völlige Absturz bei Verbindung macht mich stutzig: Sollte die Schaltung des Relais nicht völlig entkoppelt sein - so dass ich unabhängig von dem, was im geschalteten Schaltkreis passiert - keinerlei Effekt auf den Arduino zu bemerken sein sollte?

(Selbst wenn es nicht zum Absturz führt - verändern die Sensoren ihr gemeldeten Werte massiv, so dass plötzlich alle Relais schalten und theoretisch - sofern sie angeschlossen wären - alle Pumpen los laufen würden.)

Versuche:

  • GND der Pumpe mit GND des Arduino zu verbinden hat keinen Effekt gebracht
  • Relais mit dem USB der Pumpe mit Strom zu versorgen anstatt die 5V des Arduinos zu verwenden, hat keinen Effekt gebracht (ein drittes Netzteil zur völligen Separierung habe ich noch nicht)

Frage:
Was kann ich noch tun, um dem Problem Herr zu werden?

thymos:
Frage:
Was kann ich noch tun, um dem Problem Herr zu werden?

Ein korrektes Schaltbild zeigen, wie du alles verdrahtet hast.

Von was für einer Phase an den Pumpen schreibst du ?
Pumpen die mit 5V Gleichspannung arbeiten, haben keine Phase.

Und wo genau hast du dein Problem schon veröffentlicht ?
Link posten.

Dann schalte mal eine Freilaufdiode über die Pumpe.

HotSystems:
Ein korrektes Schaltbild zeigen, wie du alles verdrahtet hast.

Ich hoffe das Foto (s. Anhang) hilft erst einmal.

HotSystems:
Von was für einer Phase an den Pumpen schreibst du ?
Pumpen die mit 5V Gleichspannung arbeiten, haben keine Phase.

die +Leitung (5v) war gemeint.
Habe ich da falsch ausgedrückt.

HotSystems:
Und wo genau hast du dein Problem schon veröffentlicht ?
Link posten.

Ich selbst nirgends. Nur beim Googlen bin ich über ähnliche Probleme hier im Forum gestoßen, die aber immer leicht anders waren - damit keine Referenz denke ich.

Sorry, aber an deinem Bild kann man keinen Stromverlauf nachverfolgen, daher bitte ein Schaltbild liefern.

Und ja, eine Freilaufdiode, wie DrDiettrich schreibt, könnte helfen.

DrDiettrich:
Dann schalte mal eine Freilaufdiode über die Pumpe.

Eine Freilaufdiode schützt doch vor dem "Freilauf" beim Ausschalten, wie ich es verstanden habe. So dass kein Strom zurück fließt.

Das Problem tritt aber nicht beim Ausschalten sondern beim Einschalten/Laufen auf. Bis zum Ausschalten komme ich gar nicht erst, da das Board abstürzt und damit dauerhaft geschaltet bleibt.

HotSystems:
Sorry, aber an deinem Bild kann man keinen Stromverlauf nachverfolgen, daher bitte ein Schaltbild liefern.

Kann ich malen, heute Abend … folgt.

Software-Empfehlungen für Anfänger?

thymos:
Kann ich malen, heute Abend … folgt.

Software-Empfehlungen für Anfänger?

Blatt Papier und Bleistift reicht, wenn man alles erkennen kann :wink:

Bleistift und Papier reicht völlig - sonst vll. Fritzing ... Paint :slight_smile:

thymos:
Eine Freilaufdiode schützt doch vor dem "Freilauf" beim Ausschalten, wie ich es verstanden habe. So dass kein Strom zurück fließt.

Eine Freilaufdiode ist ein Muss, bei induktiven Lasten.

Das Problem tritt aber nicht beim Ausschalten sondern beim Einschalten/Laufen auf. Bis zum Ausschalten komme ich gar nicht erst, da das Board abstürzt und damit dauerhaft geschaltet bleibt.

Und genau deswegen brauchen wir das Schaltbild.
Ich vermute mal, deine Spannung bricht zusammen.

(deleted)

Peter-CAD-HST:
Da war wieder das Thema "fetter Elko" in der Betriebspannnung :slight_smile:

Kann durchaus sein.
Ich habe aber auch nur geraten, da kein Schaltbild vorhanden.

Hier das Schaltbild.

Sieht etwas chaotisch aus die Verkabelung, hoffe soweit alles erkennbar.
(Das TFT ist ein anderes mit 8 Anschlüssen, da habe ich im Schaubild improvisiert)

HotSystems:
Ich vermute mal, deine Spannung bricht zusammen.

Ich weiß zwar noch immer nicht, wie das Anschließen einer Pumpe am galvanisch getrennten Relais einen Einfluss auf die Spannung des Arduinos hat ... aber wenigstens der Verdacht scheint sich zu bestätigen.
Heute wurde mein 9V Netzteil geliefert. Schließe ich dies an, ist der Effekt geringer - das Display funktioniert weiterhin und der Arduino stürzt nicht ab.
Es ändern sich nur noch die von den Sensoren gemeldeten Werte leicht ...

spannend ... bei jedem Anschließen verhält es sich anders.
Eigentlich sah es gerade alles recht stabil aus ... nach dem An-/Abschließen ... ähnliches Phänomen wieder da, trotz 9V 1A Netzteil.

Nette Kaffetasse.

Eigentlich sah es gerade alles recht stabil aus ... nach dem An-/Abschließen ... ähnliches Phänomen wieder da, trotz 9V 1A Netzteil.

Wenn der Arduino die 5V für die gesamte Schaltung produzieren muß dann ist es leicht daß der Spannungstabilisator überhitzt und darum ausschaltet. Da reichen schon einige hundert mA.

Grüße Uwe

Du solltest das Relais-Board NICHT vom 5V Pin des Arduinos Speisen. Das Kann zu Problemen führen, da der Spannungsregler auf dem Arduino-Board da sehr schnell Probleme bekommt. Und wenn dieser keine Stabile spannung mehr zur Verfügung stellen kann, sind auch die Messwerte nicht mehr stabil, da Du mit der Betriebsspannung als Referenz arbeitest. Schwankende Referenz = schwandende Messergebnisse.

LG Stefan

Mich erinnert diese Probiererei fatal an den Betrunkenen, der seinen Schlüssel nur unter der Laterne sucht. Ist ja nicht mein Geld, das da verplempert wird...

Deltaflyer:
Du solltest das Relais-Board NICHT vom 5V Pin des Arduinos Speisen.

Das hatte ich eigentlich schon ausprobiert, eben auch noch einmal.
Siehe Anhang, geänderte Schaltung - nun wird das Relais von der selben Stromquelle versorgt wie die Pumpe. Der Effekt ist noch fataler - die Spannung auf dem Arduino schwankt …

Nächster Versuch - jetzt mit Diode (1N4007) an der Pumpe: Siehe Schaltplan.

Effekt:

  • Keine Abstürze vom Board mehr, bisher.
  • Spannungsschwankungen auf dem Board, die Sensoren schlagen aus

Könnte mir bitte jemand die Frage beantworten, die schon oben steht:
Wieso hat die Spannung am Relais, galvanisch getrennt mit Optokoppler, überhaupt Auswirkungen auf die Spannung am Arduino?

Entferne bitte mal die VCC Verbindung zwischen Arduino und Relaisplatine.

Im einen Bild bei dem Amazon-Link steht:
"If you choose to power the board with external power supply (5V) then don't connect VCC to Arduino or Raspberry Pi"

Den Jumper hast Du auch entfernt?

Gruß, Jürgen

Katsumi_S:
Entferne bitte mal die VCC Verbindung zwischen Arduino und Relaisplatine.

Im einen Bild bei dem Amazon-Link steht:
“If you choose to power the board with external power supply (5V) then don’t connect VCC to Arduino or Raspberry Pi”

Den Jumper hast Du auch entfernt?

Gruß, Jürgen

Danke, ich glaube das ist missverständlich.
Die Verbindung JD-VCC und VCC - welche der Jumper schaltet - ist imho gemeint.
Wenn ich nämlich VCC vom Arduino trenne, tut der mal gar nichts (hat ja keinen Strom mehr)

In einem anderen englischen Post (https://forum.arduino.cc/index.php?topic=319263.15) war der Tipp, im Falle der Trennung GND zwischen Relais und Arduino zu trennen.

Das habe ich gemacht … hatte aber weiterhin Störungen.

Jetzt habe ich folgende Schaltung (s. Anhang) mit getrenntem GND, 3 Stromquellen (!!) und es scheint damit zu funktionieren.

… aber das kann doch nicht die Lösung sein?
Um meinen Schaltplan zu betreiben kann es doch nicht erforderlich sein 3 von einander völlig getrennte Stromquellen anzuschließen?!