Aquariumsteuerung mit DS18B20 dreht gelegentlich durch.

Hallo Community!
Ich habe mit einem Arduino Uno R3 (China) eine Aquariumsteuerung gebastelt, die folgendermaßen aufgebaut ist:
Netzteil mit 700mA versorgt den Arduino auf den 5V Pin und alle anderen Bauteile parallel.
Am Arduino ist folgendes angeschlossen:

  • zwei DS18B20 Temperaturfühler im One-Wire Betrieb.
  • ein LCD 2004
  • ein Tiny RTC
  • ein Füllstandsensor (steht im Behälter mit der Aquarienpumpe)
  • ein passiver Buzzer
  • ein DHT11 (ist noch nicht angeklemmt, aber vorgesehen)
  • ein HC-05 Bluetooth-Modul
  • eine IR Diode hinter 220 Ohm (steuert die Deko- RGB- Beleuchtung)
  • ein 8fach Relaiskarte mit Optokoppler

Hinter den 8 Relais hängen:

  • Kiesheizung (75W)
  • Lüftung (8W)
  • Eine Notheizung (100W)
  • Ein „kleines“ RGB Lämpchen (nur an und aus)
  • UND die Beleuchtung mit 2x30W Leuchtstofflampe hinter einem KVG (Spule, nicht elektronisch)
  • Die andere Relais sind nicht angesteuert

Mit der Zeit vom RTC werden die Leuchtstofflampen an- und ausgeschaltet. Die „große“ RGB Beleuchtung ist nicht geschaltet, dort wird nur mit der IR-Sende-Diode die Farbe geändert.
Die Temperaturfühler liefern die Daten zum Schalten der Heizungen/ Lüftungen.

Folgendes passiert zu einem von mir noch nicht genau herausgefundenen Zeitpunkt:
Die Anzeige der Temperaturen zeigt plötzlich für beide Fühler -126°C (und natürlich wird die zweite Heizung zugeschaltet).
Nach einem (oder zwei oder drei) Neustarts zweigt die Anzeige dann plötzlich +60°C oder mehr
(und die Lüftung springt an).
Einige Zeit später läuft dann alles wieder normal.
Was auch schonmal passiert ist: Der Arduino „friert ein“ und nix geht mehr.

Ich habe die Leuchtstofflampen im Verdacht.

Meine Fragen:
Kann trotz Optokoppler bei so einer Uralttechnik wie einem KVG während des (Aus-)Schaltvorgangs noch eine Spannungsspitze in den IC induziert werden?
Ich habe ein Solid-State-Relais für die Beleuchtung bestellt. Könnte das dieses Problem beheben?
Heizen sich die Temperatursensoren bei Fehlfunktionen auf, oder woher kommt die hohen Temperaturen nach den Neustarts? Die sitzen ziemlich unten im Aquarium, konnte daher bisher noch nicht durch anfassen testen.
Habt ihr noch weitere Ideen, woran das liegen könnte?

Was du verwendest, ist kein Arduino.
Weitere Informationen können wir ohne Schaltbild und Sketch nicht mitteilen.

Schaltplan muss ich noch erstellen, reiche ich morgen abend nach.

Na das bringt ihn auch nicht weiter, ob clone oder original, Arduino heißt es trotzdem. Und ich hab hier noch nicht gesehen dass was nicht lief weils ein clone ist.
SSR könnte helfen, ja, hab hier schon öfter gelesen dass die Probleme mit den Relais haben und durch SSR gelöst wurde.
Die Temp Sensoren haben auch bei mir manchmal dieses Problem.
Da hab ich ein Countdown am laufen, wenn über 50* oder unter 20* dann in einer Minute Programm anhalten damit zB die Fische nicht gekocht werden.
Aber hauptsächlich kommen diese Fehler, wenn kein minus anliegt (-127) oder kein plus (+80).

Tiff48317:
.....UND die Beleuchtung mit 2x30W Leuchtstofflampe hinter einem KVG (Spule, nicht elektronisch)

Folgendes passiert zu einem von mir noch nicht genau herausgefundenen Zeitpunkt:

Meine Fragen:
Kann trotz Optokoppler bei so einer Uralttechnik wie einem KVG während des (Aus-)Schaltvorgangs noch eine Spannungsspitze in den IC induziert werden?

Ich habe ein Solid-State-Relais für die Beleuchtung bestellt. Könnte das dieses Problem beheben?
Heizen sich die Temperatursensoren bei Fehlfunktionen auf, oder woher kommt die hohen Temperaturen nach den Neustarts? Die sitzen ziemlich unten im Aquarium, konnte daher bisher noch nicht durch anfassen testen.
Habt ihr noch weitere Ideen, woran das liegen könnte?

Hast du KVG und Starter - also ganz normale Leuchtstoffdinger?
Die funktionieren ja nur deshalb weil zur Zündung des Gases eine sehr hohe Spannung benötigt wird.
Zuerst ist der Starter geschlossen, die Heizwendel werden erwärmt und der Starter erwärmt sich. Irgendwann öffnet der Starter und durch die EMK wird eine hohe Spannung induziert (einige kV) die das Gas zünden. Das kann mehrmals passieren (die Leuchte flackert).

Ein Solid State hilft da nix, das Einschalten ist ohne Relaisfunken aber der Starter bleibt.

EVG über Solid State hilft aber nur wenn das Solid State Zero Crossing kann. Schaltest du ein EVG zufällig im Sinusmaximum ist der In rush current des EVG auch nicht zu verachten.
Alternativ kann das KGV bleiben dann brauchst aber einen EMV festen Aufbau des Ardu. Das wird nicht ganz einfach.

Und in der Software muss natürlich eine Abfrage rein, dass alle physikalisch unmöglichen Werte abgefangen werden. Ein Watchdog wäre auch kein Luxus - geht ja um Lebewesen.

LG
Viktor

skorpi080:
Na das bringt ihn auch nicht weiter, ob clone oder original, Arduino heißt es trotzdem. Und ich hab hier noch nicht gesehen dass was nicht lief weils ein clone ist.
.....

Du bist heute wieder sehr aufmerksam.
Dennoch darf sich das Teil nicht Arduino nennen und nur darum ging es.

Hi

Viktor93:
und der Starter erwärmt sich

Der Ablauf ist so nicht ganz korrekt.
Im ersten Schritt, der Starter ist offen, fällt an Ihm eine hohe Spannung ab, daß Dieser glimmen kann (ist nämlich ein Glimmlampe).
DADURCH erwärmt sich der Starter, die Bimetall-Kontakte biegen sich aufeinander und berühren sich schließlich - die Glimmlampe ist dann natürlich aus gegangen.
JETZT, durch den geschlossenen Starter, fließt der Heizstrom durch die Heizwendel (in Reihe zur Drossel, momentan macht Die aber nicht viel) und Ionen werden in die Röhre ausgesandt.
Während der Zeit kühlt der Starter ab, die Bimetall-Kontakte öffnen sich und nun kommt die Drossel ins Spiel:
Durch die Induktivität der Drossel wird der Stromfluß aufrecht gehalten, durch den offenen Starter geht Das aber nicht, folglich steigt die Spannung stark an.
DAS Reicht aus, um durch die in der Röhre freien Ionen 'durchzuschlagen' - die Röhre zündet.
Nun bildet das gezündete Gas einen Kurzschluß, die Spannung bricht zusammen (reicht nicht, daß der Starter zum Glimmen kommt) und die Drossel begrenzt den Strom auf ein erträgliches Maß.
Bei jedem Nulldurchgang geht die Röhre aus (Dunkelblitz), zündet aber in der folgenden Halbwelle selbstständig wieder.

So, nun habt Ihr weiteres, für Euch vollkommen nutzloses, Wissen bekommen :wink:

MfG

(deleted)

Soderle, hier erstmal der Anschlußplan und der Code.

Huch!
Der Code ist zu lang um ihn einzufügen, ich werde ihn als Datei anhängen, ich hoffe dass ist erlaubt?

/edit:
Sowohl der DHT11 als auch der Buzzer sind auf einer Platine, sollten im Fritzing hierfür Widerstände fehlen:
Sie sind vorhanden!
/edit2:
Nach ein paar Schönheitsfehler- Verbesserungen (LCD kursor an falscher Stelle) Sketch-Anhang geändert.

180903_aquarium.ino.ino (15.6 KB)

anwofis:
@Tiff48317:

Was für ein Netzteil verwendest du? Schafft es auch stabil 5V? (Ich nehme immer Schaltnetzteile von MeanWell > 20 W).

Hat das LCD ein I2C-Backpack oder hast du es direkt angeschloßen? (Ich habe mal gelesen, dass es mit Backpack stabiler sein soll - verwende auch selbst nur LCD + Backpack)

-127°C ist ein Fehlercode: DEVICE_DISCONNECTED_C Wahrscheinlich ist in deiner Elektronik noch ein kleiner Wurm drin :wink:

Als Netzteil verwende ein "AC-DC 5V 700mA 3.5W Power Supply Buck Converter Step Down Module 220V To 5V"
Darf man hier E-Bay Links einstellen?

Ja, das LCD hat ein I2C Backpack.

Ich habe auch schon das Netzteil ich Verdacht.
Was passiert, wenn man den 5V Pin mit 5V beschickt UND das Steckernetzteil an der Buchse anschließt?
Könnte man damit ausprobieren, ob es am (zugegeben sehr preiswerten) Netzteil liegt?

Wie man am Sketch sicherlich sieht, bin ich noch "relativer" Anfänger und habe einen Merker- Fetisch.
Man möge mir die wahrscheinlich sehr umständliche Programmierung verzeihen.
Bin für Verbesserungsvorschläge immer offen!
Und jetzt werde ich im Forum mal nachforschen, was ein Watchdog ist. :slight_smile:

Hallo,
du solltest dein GND (Minus) mit dem Schutzleiter verbinden.
Das sind die Kontakte in der Steckdose die frei zugänglich sind.

Nein!!!
das verursacht keinen Kurzschluss und ist auch nicht gefährlich.

Der Schutzleiter ist auch direkt mit deinen PC-Gehäuse verbunden oder mit dem Heizkörper oder auch der Wasserleitung, wenn du nicht an die Steckdose ran willst.

Und ein zusätzlicher Elko mit 470 - 2000 µF =>16V zwischen + und - wirkt oft Wunder

Gruß Aron

ar182:
Hallo,
du solltest dein GND (Minus) mit dem Schutzleiter verbinden.
Das sind die Kontakte in der Steckdose die frei zugänglich sind.

Nein!!!!
das verursacht keinen Kurzschluss und ist auch nicht gefährlich.

Der Schutzleiter ist auch direkt mit deinen PC-Gehäuse verbunden oder mit dem Heizkörper oder auch der Wasserleitung, wenn du nicht an die Steckdose ran willst.

Und ein zusätzlicher Elko mit 470 - 2000 µF =>16V zwischen + und - wirkt oft Wunder

Gruß Aron

Das werde ich gleich mal versuchen. Ich habe 1000µF / 25V.

Vielen lieben Dank.

Wie hast du denn dein Projekt verkabelt ?
Ich vermute hier Wackelkontakte an den Anschlusskabeln und dem Steckbrett.
Deine Fehlermeldungen deuten darauf hin.

Den Elko habe ich eingefügt, die PE- GND Verbindung noch nicht.

Wenn das "Netzteil" das erste Mal startet, zeigt EINER der beiden Fühler + 80°C.
Nach einem Reset läuft es dann (bis jetzt) sauber.
Da liegt der Verdacht nahe, dass das "Netzteil" schwächelt.
Wenn es aber nur um das erste Einschalten geht, ist das zu verkraften.
Fehler Nummer 1 wahrscheinlich gefunden.

Die Leuchtstofflampen werden momentan nicht über den Arduino gesteuert. Sobald das Relais für die Leuchtstofflampen betätigt wird, dreht der IC Total am Kabel und bleibt kurz darauf stehen.
Fehler Nummer 2 wäre damit sicher festgestellt.

Ich werde es mal mit dem Solid State Relais versuchen, rein aus Neugier ob sich was ändert.
Damit kann ich Viktor93s Angaben dann mit an Sicherheit grenzender Wahrscheinlichkeit bestätigen.

HotSystems:
Wie hast du denn dein Projekt verkabelt ?
Ich vermute hier Wackelkontakte an den Anschlusskabeln und dem Steckbrett.
Deine Fehlermeldungen deuten darauf hin.

Den Verdacht hatte ich auch, deswegen habe ich vorsichtshalber zwei Leitungen 0,5qmm direkt vom "Netzteil" bis zu den Fühlern gelegt. Gemeinsam mit der 5V Zuleitung in einer Twin-Hülse. Da wackelt nix mehr.
Fehler ist aber noch da.

Tiff48317:
.....
Die Leuchtstofflampen werden momentan nicht über den Arduino gesteuert. Sobald das Relais für die Leuchtstofflampen betätigt wird, dreht der IC Total am Kabel und bleibt kurz darauf stehen.
Fehler Nummer 2 wäre damit sicher festgestellt.

Ich werde es mal mit dem Solid State Relais versuchen, rein aus Neugier ob sich was ändert.
.....

Du solltest deine 230 Volt Steuerung komplett von der Kontrollerschaltung trennen.
Also alles weit genug davon entfernen.
Die Spannungsspitzen beim Starten der Leuchtstofflampen werden dich immer ärgern, wenn alles zu dicht beieinander ist.
Und ob das nur durch ein SSRelais zu beseitigen ist, zweifel ich an.

HotSystems:
Du solltest deine 230 Volt Steuerung komplett von der Kontrollerschaltung trennen.
Also alles weit genug davon entfernen.
Die Spannungsspitzen beim Starten der Leuchtstofflampen werden dich immer ärgern, wenn alles zu dicht beieinander ist.
Und ob das nur durch ein SSRelais zu beseitigen ist, zweifel ich an.

Leider "muss" alles in den Aquariumschrank untergebracht werden.
Ich denke, es wird Zeit eine LED Beleuchtung zu besorgen, wenn die nicht so teuer wäre...

Tiff48317:
Leider "muss" alles in den Aquariumschrank untergebracht werden.
Ich denke, es wird Zeit eine LED Beleuchtung zu besorgen, wenn die nicht so teuer wäre...

Das solltest du machen, damit werden deine Probleme kleiner oder gelöst.
Alles in einem Schrank ist ohne Erfahrungen die schlechteste Idee.

Bei mir kommen immer die 230 Volt Schaltkreise weit weg von der Steuerelektronik und schon werden die Probleme kleiner.

HotSystems:
Das solltest du machen, damit werden deine Probleme kleiner oder gelöst.
Alles in einem Schrank ist ohne Erfahrungen die schlechteste Idee.

Bei mir kommen immer die 230 Volt Schaltkreise weit weg von der Steuerelektronik und schon werden die Probleme kleiner.

Wie weit wäre dann rein theoretisch der Mindestabstand?
Und sollte ich im Falle einer LED Beleuchtung das SSR nehmen oder ginge das Standart-Optokoppler-Relais?

Hi

Wenn Du nur schaltest, geht auch ein Relais - Das macht halt 'Klack' beim Schalten.
Solltest aber drauf achten, daß Dieses den Strom (locker) schalten kann, sonst verkleben Dir die Kontakte.

Du könntest den ganzen Schwachstrom-Kram in ein altes PC-Gehäuse packen, das Gehäuse geerdet. Irgendwoher musst Du eh Strom für irgendwelche Netzgeräte her haben und/oder für die jetzt geschaltete Leuchtstofflampe - also 230V kommen ja irgendwie Da an.
Den 230V-Kram lässt Du aus dieser Kiste draußen.

Und: Beim Basteln den Stecker aus der Steckdose draußen lassen.
Auch ist nicht immer gesagt, daß der braune Draht der Böse ist - kann genau so gut, bei verdrehtem Stecker, der Blaue sein !!!
(und Dieser ist im Allgemeinem ungeschaltet, Du hast dadurch dann überall Dauer-Phase anliegen - also da, wo eh die 230V sind)

MfG