Home modus wird unterbrochen

michelko

Member
Hallo,
hatte heute mal wieder den Mower fahren lassen. Ich habe jetzt insgesamt ca. 100m Schleifendraht ausgelegt.
Der Mower ist so ca. 3 h rumgekurvt ohne größer Schäden zu verursachen ,-) oder fehler zu Produzieren.
Mir sind nur ein paar Sachen aufgefallen:
Das zurücksetzen nach dem Überfahren der Schleife ist immer sehr kurz. Ich hätte das gerne etwas weiter, aber er reagiert weder auf die Einstellung in der Sektion Motor noch in der Sektion Perimeter. Wenn er über den Ultraschall zurücksetzt wird der Wert scheinbar aber verwendet.
Weiteres Problem ist, dass er beim Home Modus einige Meter fährt und dann auf einmal wieder das normale fahren anfängt (STate Forward).
Woher kann denn das kommen?
Beim Überfahren der Schleife dreht sich manchmal ein Rad beim Zurücksetzten noch langsam weiter, sodass er beim Rücksetzten schon ein bischen dreht. Soll dass so sein?
Das abrupte stoppen beim überfahren der Schleife habe ich auch noch nicht wegbekommen. Kann man das irgendwie geschmeidiger hinbekommen.

Ich habe die letzte Firmware drauf ein 1.2 board mit Odometrie aktiviert sowie sonar und Schleifenempfänger. Imu habe ich dran aber wieder deaktiviert da er sich nur blöd im Kreis gedreht hat. Stimmt wahrscheinlich mit der Kalibrierung was nicht.
 
Hallo,

das mit dem kurzen zurücksetzen stört mich auch und versuche gerade generell den Code zu verstehen um den Ardumower generell besser zu verstehen.

Welche Firmware hast du denn drauf?
1.07a Azurit oder 1.09a Azurit?

Letztere zeigt bei mir ganz andere Symptome.
Verwendest du den Arduino DUE oder Mega?

IMU habe ich auch deaktivert, er hat hier ständig von ost nach west gedreht.
Ich habe den Verdacht, dass der MEGA nicht schnell genug regelt.

Gruß
Thomas
 
Hallo Michael,

bzgl. zurücksetzen.

Unter robot.cpp Zeile 1580 habe ich folgende auskommentierten Eintrag reingenommen und die aktuelle Zeile auskommentiert.

= stateEndTime)) setNextState (STATE_PERI_OUT_ROLL, rollDir);

>>>>

sobald "perimeterInside" erkannt ist, wird er das zurücksetzen beenden.
Nimmt man das raus, scheint das so zu laufen wie gedacht.

Ich vermute aber das

(perimeterInside || (millis() >= stateEndTime)
eigentlich als
(perimeterInside && (millis() >= stateEndTime)
gedacht war.

Leider regnet es grad draußen, um das noch mal verifizieren zu können.

Melde mich, wenn ich näheres herausgefunden habe.

Gruß
Thomas
 
Hallo Thomas, das klingt plausibel. Werde ich heute auch mal testen.
Das Problem mit dem Home Modus scheint nur aufzutreten wenn man ihn manuell auf Home stellt. Wenn er über die Bedingung Home wenn Spannung unter xVolt fährt dann fährt er komplett rum. Komisch.
Weist du zufällig wo der Wert für die MAximale Zeit für geradeaus fahrt im Code versteckt ist? Über die App kann ich nur maximal 80000 eigeben, das ist mir aber zu kurz da er dann ggf. keine ganze Bahn fährt sondern unterwegs wieder abbiegt.

Gruss Michael
 
Hi,

wegen maximale Zeit zur Geradeausfahrt.

Du kannst versuchen in mower.cpp

motorForwTimeMax = 80000; // max. forward time (ms) / timeout

anzupassen.
Dort findet man alle möglichen Default/Systemwerte.

Gruß
Thomas
 
Hallo,
Hatte gestern wieder das problem, dass der mower auf dem weg zur ladestation angehalten hat und sich dann 90 grad von der schleife gedreht hat und dann wieder neu die schleife gesucht hat. Hat vorher aber problemlos ca 4h gemäht. Daher sollte die schleife ja prinzipiell richtig funktionieren.
Das ist auf einem geraden stück passiert und er ist bis dahin sauber dem kabel gefolgt.
Was kann das verursacht haben?
Gruss michael
 
Hallo,
achte mal bei Deinem Schleifen-Sender auf kurze Aussetzer. Am besten kannst Du das wenn Du die LED am Sender beobachtest die die Anzeige für Schleife offen (LED =aus), Schleife aktiv (LED=an), Ladung bzw. Mower in Station (LED=blinkt). Wenn die Schleife aktiv ist muss die LED dauerhaft an sein. Wenn der Mower auf der Fläche ist merkst du solche kurzen Aussetzer nicht da in diesem Modus erst eine Timeout Zeit abläuft bevor der Mower in ERR geht, Bei der Home-Fahrt sieht das etwas anders aus.

Grüße
Jürgen
 
Hallo Jürgen,
ok werde ich machen. Wenn dem so wäre , was kann man dagegen tun?

Ich habe momentan die Abdeckung des Gehäuses nicht drauf weil es in der Kiste schön warm wird. Wie habt ihr das gelöst? Oder sind die Bauteile für die Wärme geeignet?

Gruss michael
 
Oben