Sonntag, 22. September 2013

Grund für Neustarts des Arduino Watchdogs

Tatsächlich scheint der Watchdog den Arduino hin und wieder neu zu starten. Bemerkenswerterweise in den letzten zwei Wochen so gegen 3 Uhr nachts. Auf Cosm, wo die Daten hingeschoben werden, steht die Statistik dann für ein paar Minuten still.
Grund nach der Recherche: Die DSL-Verbindung wird dann zwangsunterbrochen und der Arduino kann nicht senden (und die Uhrzeit - jede 10 Minuten empfangen).
Dies führt dazu, dass die entsprechende Funktion im Code für so lange hängt und der Watchdog (8 Sekunden Überwachungszeit) auslöst.
Also werde ich mich in den nächsten Wochen auf die Suche im Code machen, um das Problem zu lösen.

Sonntag, 15. September 2013

und läuft und läuft und läuft... und die Sonne scheint :-D

Um das letzte Foto auf- und abzuwerten hier noch ein Foto.

Mein handwerkliches Geschick ist sichtbar begrenzt. Mal schauen, wie ich das Kästchen schick kriege.

Und wie deutlich im rechten Boilerteil zu sehen (Temperatur oben und unten), scheint in Hannover heute die Sonne: 39,8°C im 500l-Boiler, der an der Solaranlage hängt. Der kleine 300l Boiler hat davon noch nichts abbekommen, weil die Tempretur im Großen noch zu niedrig zum Umwälzen (zwischen den beiden) ist.

Der Vollständigkeit halber:
M4472 steht für den freien Speicher des Arduino Mega 2560.
T142:41 steht für 142 unterbrechungsfreie Stunden des µC plus 41 Minuten :-D.


und läuft und läuft

Es scheint gute Nachrichten zu geben. Der Heizduino läuft seit 123 Stunden und 46 Minuten (Stand heute 9:08 Uhr) ohne Probleme und Abstürze! Das letzte Mal habe ich den Sketch auf den neusten Stand gebracht und die Laufzeit mittels millis() eingebaut, s. Foto.
Wird nun alles gut? :-D

Samstag, 7. September 2013

Bootloader




Der Arduino Mega 2560 ist nun uptodate: Der Bootloader ist v2 und unterstützt damit den Watchdog richtig. Auch ist das !!!-Problem vom Tisch - hat mich vor einem Jahr auch ein paar Tage Nerven und Sucherei gekostet :-)

Auch mein Backup-Arduino Mega, allerdings 1280, ist mit dem Optiboot ausgestattet (aber noch nicht getestet).

Und die gute Ikea-Kiste tut ihren Dienst auf eine schönere Weise, vorher - nachher :-)

Samstag, 31. August 2013

Watchdog Problem gelöst?

Habe gerade den Mega 2560 gegen den Kleinen Mega ausgetauscht. Hoffung ist, dass der Watchdog hier funktioniert. Der große Mega hat ein Bootloader-Problem, vgl.
http://www.gammon.com.au/forum/?id=11635 (erst damit klappte später das Update, die 120 Ohm Variante aus http://www.youtube.com/watch?v=GMt4hLaKjAc war nicht erfolgreich) und
http://forum.arduino.cc/index.php?topic=115531.0

Das Updaten des Bootloader mit dem Duemillanova scheiterte zuerst, daher habe ich kurzen Prozess gemacht. Der Sketch läuft bisher einwandfrei.

Donnerstag, 29. August 2013

Und wieder grüßt das Murmeltier

Worauf läßt das folgende Bild schließen?
Genau, erneuter Ausfall. Und warum?
Das Display war einfach eingefroren. Arduino gab kein Lebenszeichen von sich. Dabei habe ich den Watchdog doch installiert! Beim Reset machte der Arduino keine Anstalten, neu zu starten, erst nach längerer Stromunterbrechung sprang er wieder an.

Und die Erklärung und Konsequenz?
- die zu lange (5m) I2C-Verbindung wieder außer Betrieb nehmen
- den Watchdog überprüfen - dazu gibt es eine versuchte Hilfeanfrage bei http://forum.arduino.cc/index.php?topic=184897.0

OK, am Wochenende wird's versucht...
1) LCD wieder zurück in den Keller
2) Zweites Display im Wohnzimmer über den Raspberry Pi und einer seriellen 433MHz-Schnittstelle
3) Bootloader updaten

Oder?

Dienstag, 27. August 2013

Ein Hoch auf SSR

Es scheint zu laufen! Bisher sind keine Probleme mit dem Display aufgetaucht.
Irgendetwas hat heute das Board aber zum Stillstand gebracht. Nach der Analyse der geg. Temperaturen wird es kein Schaltungvorgang gewesen sein. Und der Mega lief seit 3-4 Tagen ohne Reset o.ä.
Daher habe ich den letzten Schritt unternommen und das System langzeit-tauglich gemacht mit dem Einsatz des Watchdogs.

Die Umsetzung ist trivial und kann nach 5 Sekunden von Google herausgeholt werden. Bei mir wird der Mega jede 8 Sekunden auf den Herzschlag abgehört.

Und da das LCD nun wieder ein paar Meter im Wohnzimmer steht, auch gleich ein Foto...
Es funktioniert auf diese 5m auch prima ohne den P82B715 Extender.
Zur Wand führt nun ein einfaches Telefonkabelchen mit vier Adern. Das Keypad und LCD werden in das Holzkistchen eingebaut, wenn 'mal Zeit ist.

Dienstag, 20. August 2013

Solid State Relais

Das war's! Die alten Relais gehen von Board. Die SSR sind eingebaut. Sie laufen auf Anhieb. Nur die Steuerung erfolgt nicht mehr über das Anlegen von GND, sondern VCC. Aber das zu ändern ist ein Klacks.

Inzwischen bin ich nicht mehr immer optimistisch. Daher: warten wir's also ab. In paar Tagen berichte ich...


Montag, 19. August 2013

AAaaarghhhh!

Seit drei Tagen tauchen schon wieder Probleme mit dem Display und schlussendlich dem Arduino auf. Bevor ich einen Watchdog einbaue, werde ich die Relais auf SSR umstellen. Mehr fällt mir nicht ein :-(

Mittwoch, 14. August 2013

Läuft :-)

und gleich noch ein Foto mit der Steuerung hinterher.

Schöner mag für einige anders buchstabiert werden. Aber für mein erstes produktives Arduinoprojekt (und meinen bisherigen Informationsstand) bin ich sehr zufrieden. Ja, und sie funktioniert! :-)


Fehler gelöst?

Nachdem die Fehlerursache endlich gefunden wurde, gibt es auch die Sonderzeichen wieder :-)
So sieht's aus :-)
Ahja, Fehlerursache? Ein Elko an die PCF8574-Karte reicht schon. Aber die Abstände zwischen Daten- und Stromleitungen beachten!

Zum Display: links der (kleine) 300l-Boiler, rechts der Große.
v=Vorlauftemperatur des Kamins, r= Rücklauftemperatur.
Der Pfeil mit dem WW steht für Quelle des Warmwassers.
Das Uhrenzeichen steht für aktuelle NTP-Zeit.

Freitag, 2. August 2013

Keine Sonderzeichen...

Hier folgt der um Sonderzeichen revidierte Code. Jetzt kommt es spürbar seltener zu Displayproblemen.

#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Ethernet.h>
#include <LCD.h>
#include <Keypad.h>
#include <Keypad_I2C.h>
#include <SPI.h>
#include <EthernetUdp.h> // für die NTP-Abfrage
#include <SD.h> // für die SD-Kartennutzung

Montag, 29. Juli 2013

Aktueller Code für die Heizungssteuerung


#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Ethernet.h>
#include <LCD.h>
#include <Keypad.h>
#include <Keypad_I2C.h>
#include <SPI.h>
#include <EthernetUdp.h> // für die NTP-Abfrage
#include <SD.h> // für die SD-Kartennutzung

Dienstag, 19. März 2013

SD Karte

Es gibt Neuigkeiten: Nunmehr ist das Ethernet-Shield um eine SD-Karte reicher. Alle Daten, die zu COSM gehen, werden auch lokal auf SD gespeichert. Auf diese Weise kann bei Bedarf eine bessere Auswertung der Daten stattfinden, die bei COSM nach Zeitablauf nur reduziert z.V. stehen (keine 20-Sek-Auflösung, sondern Minuten oder Stunden bzw. Tage bei Jahresansicht). Und Spaß hat die Umsetzung auch gemacht ;-)

Freitag, 11. Januar 2013

CAT7

Juju, es funktioniert!
Habe nun die Verdrahtung geändert: die beiden einfachen Telefonleitungen, mit denen dei Signale zum LCD transportiert wurden gegen ein CAT7-Kabel auf der Länge ersetzt, wo auch die Stromleitungen für die Pumpe laufen. Ergebnis: LCD spintn nicht mehr!
HURRA!