Arduino Nano v3 Problem mit Digitalen Ausgang (Relais)

Hallo zusammen,

ich benötige dringend eure Hilfe. Ich habe aktuell ein relative großes Projekt mit einem Arduino Nano.
Ich habe eine Steuerung gebaut zur Pflanzen Überwachung und Steuerung, die Steuerung steuert Licht, Feuchtigkeit, Belüftung, Wasser Menge für die Pflanze und zeichnet auch Werte wie Temperatur Luftfeuchtigkeit und andere werte auf. Das ganze läuft auf eine selbst entworfene Platine, außerdem kommuniziert der Arduino Nano (RX, TX) mit einem ESP8266 damit ich das ganze auch über eine APP steuern kann und live werte bekomme. Ein RTC für die Uhrzeit ist auch mit drauf.

Die gesamte Hardware funktioniert ohne Probleme, das Programm eig. auch bis auf ein Problem welches ich nicht Lösen kann.
Ein Relais lässt sich nicht ansprechen je nach Veränderung im Programm wandert dieses Problem, auch beim expliziten schalten vom Ausgang passiert dieses nicht. Es handelt sich immer um ein Relais Output, einen Hardware defekt vom Arduino kann ich ausschließen da ich es bereits mit mehreren Chips getestet habe(Hardware defekt an der Platine kann ich auch ausschließen).

Relais befinden sich an folgenden IOs
D3, D4, D5, D6, D7, D8 und D12.

Mein Programm nimmt einiges an speicherplatz ein und ich befinde mich schon am Limit vom speicher.

"Sketch uses 29806 bytes (97%) of program storage space. Maximum is 30720 bytes.
Global variables use 1333 bytes (65%) of dynamic memory, leaving 715 bytes for local variables. Maximum is 2048 bytes."
Leider weiß ich nicht weiter, den Sketch habe ich wegen der Größe nicht beigefügt.
Ich weiß das ich den Arduino weit am Limit betreibe und möchte hier auch bald umsteigen auf etwas schnellerem mit Wlan, allerdings sollte es erstmal so funktionieren.

Zeig her dein geheimes Programm und deinen geheimen Schaltplan.

Ist ein wenig schwierig, weil meine Glaskugel wegen des feuchten Wetters etwas beschlagen ist...

Im Ernst:
Welches Relais geht nicht? Alle oder nur ein bestimmtes oder mal dieses, mal jenes?
Wenn es denn das an D12 ist - da liegt auch MISO von der SPI-Schnittstelle.

Speicher ist zwar nicht schön, aber Flash wird zur Laufzeit nicht zusätzlich alloziert - könnte sich also gerade so ausgehen.

Wenn Du den Fehler etwas genauer beschreibst und vielleicht doch Schaltplan und Programm zeigst wird sich die (Zitat) "dringend" benötigte Hilfe vermutlich detaillierter und ausführlicher materialisieren.

Gruß Walter

P.S.: Willkommen im Forum!

Ich frage nur, wie man so naiv sein kann, dass man bei dieser nichtssagenden Beschreibung, eine Lösung erwartet.

Also wo bleibt dein Sketch und ein Schaltbild ?

dann hast ja noch 3% frei um was cooles zu programmieren.

Ich tippe da mal ein Indexproblem eines Arrays oder daß Du zuwenig RAM frei hast. Die angezeigte RAM-Auslastung ist nicht die der Controller während der Ausführung des Sketches besetzt.

Ohne Sketch können wir dir nichts genaues sagen. Einfach als Datei anhängen.

Grüße Uwe

Sobald ich heute Abend zuhause bin werd ich den Sketch einstellen.

Das Problem muss irgendwo im Sketch liegen, allerdings nicht in der Loop da ich den Sketch Teil bereits komplett gelöscht habe und dort nur die Relais ein und aus schalte. Auch dort tritt der Fehler auf, wenn ich dann oben den Bereich vom einbinden der Bibliotheken immer mehr verkleinere wandert irgendwann der Fehler. Der selbe Fehler liegt dann an, allerdings an einem anderen Ausgang.

Ich werde heut Abend versuchen das ganze mit einem Testaufbau und dem Abgespekteb Seketch zu simulieren um das ganze übersichtlicher zu machen.

Meine Vermutung geht auch in die Richtung das irgendwas ausgelastet ist oder der ram nicht ausreicht aber dafür habe ich zu weniger Erfahrung.

Temho:
Das ganze läuft auf eine selbst entworfene Platine, außerdem kommuniziert der Arduino Nano (RX, TX) mit einem ESP8266 damit ich das ganze auch über eine APP steuern kann und live werte bekomme

...
Ich weiß das ich den Arduino weit am Limit betreibe und möchte hier auch bald umsteigen auf etwas schnellerem mit Wlan, allerdings sollte es erstmal so funktionieren.

der ESP8266 ist schneller und hat mehr Speicherplatz. Verlagere dein Programm komplett auf den ESP und nutze den Nano nur mehr als stupide "Porterweiterung", oder noch besser: einen ESP mit ausreichend GPIO's einsetzen.

Sauber programmieren muss man den aber auch :wink:

Und poste es bitte als txt-Datei, da können es dann alle lesen und helfen.
Auch eine genauere Beschreibung welches Relais dann wann und wie nicht funktioniert.
Was für Relais verwendest du und sind da Freilaufdioden vorhanden ?