iSHEEP (Klappe die Zweite) UPDATE 2016-06-10

Hallo,

schade dass Du nicht den Fehler weiter eingrenzen konntest - im gesamten Programm gibt es keine Schleife die während des Ablaufs durchlaufen wird (und wo er "hängen" bleiben könnte). Denkbar wäre aber z.B. dass die Arduino I2C Bibliothek bei einem kurzen I2C Fehler (kurzfristig gestörtes Signal) hängen bleibt (dort hat man leider mit Schleifen ohne Timeouts gearbeitet). Zum Test reicht es wenn man alle I2C Funktionalität abstellt (IMU, Timer). Wenn der Fehler dann immer noch auftritt kann auch das Arduino Board fehlerhaft sein.

Gruss,
Alexander
 
Board hab ich als erstes getauscht. Ohne Änderung. Dem Thema I2C bin ich noch nicht nach gegangen. Mir fehlt halt einfach die Zeit. Ich stand so kurz vorm Ziel. Die Hardware ist einfach Spitze.
Danke für den Denkanstoß.
 
Wir können einen "Watch-Dog" in den Code einbauen. Funktionsprinzip: Wenn der Mega/Due innerhalb von 8 Sek. nicht die Arduino "loop()" durchläuft wird er resettet. Damit der Mäher nach dem Reset weiss was er gerade gemacht hat (und fortsetzen kann) kann man das "auf Null" setzen bestimmter Variablen beim Code-Start verhindern - also auch z.B. den aktuellen Roboter-Zustand (STOP, TRACKING, AUTO usw.). Den WatchDog mit Übernahme von Variablen habe ich ausprobiert und in einem Test-Programm zusammengefasst und können wir in den Azurit-Code einbauen:

https://github.com/Ardumower/ardumower/blob/master/code/tests/watchdog/watchdog.ino
 
Oben