ZS-X11D1 (JYQD2021) Treiber und Sunray

Gibt es andere Pins die man verwenden könnte?
Würde ungern auf die 3,3V vom Userswitch gehen weil dann die Bremsfunktion ja geringer sein dürfte?
Mein Mäher ist bei 5V schon an der Grenze wo er die Bremse am steilsten Stück nicht gehalten bekommt.
Oder man müsste noch was dahinter bauen dass dann 5V+ schaltet.

Beim Mähen hatte ich jetzt 2x 6h lang kein einziges Problem, auch Bumber Trigger haben ihn nicht aus dem Konzept gebracht.
Aber manuelles fahren schießt die Treiber bei mir sofort ab.
Hab auch schon bemerkt dass Start/Stop das Problem auslösen kann, aber das kam nur 1x vor.

Den Code kann ich dir nachher zur Verfügung stellen. Bin jetzt nicht am Rechner.

Sehr gerne! :)

Deaktivere ich die Bremsfunktion passiert das nicht.

Meinst du nur in Software deaktiviert oder auch in Hardware die Brake Leitungen entfernt?
Weil wenn der RC Remote Port die Pins schaltet wenn man die App nutzt, dann dürfte das Treiber abschalten ja weiterhin verursacht werden.
Wenn es mit Leitungen dran und nur Software auskommentiert funktioniert, dann dürfte der UserSwitch oder auch andere Pins eventuell ja die gleichen Probleme verursachen und es ist ein Code Problem.
 
Aber manuelles fahren schießt die Treiber bei mir sofort ab.
Ja das hat User @Algo auch so. Ich hatte damit noch nie Probleme.

Gibt es andere Pins die man verwenden könnte?
Da wir den Enable Pin von der Adapter Platine nicht verwenden, könnte man den Pin für die Bremse nehmen und entsprechend im Code anpassen.

Hier ist die versprochene Änderung zum testen (AmRobotDriver.cpp). Die letzten Zeilen in der resetMotorFaults müssen ergänzt werden:
Code:
void AmMotorDriver::resetMotorFaults(){
  if (digitalRead(pinMotorLeftFault) == gearsDriverChip.faultActive) {
    if (gearsDriverChip.resetFaultByToggleEnable){
      digitalWrite(pinMotorEnable, !gearsDriverChip.enableActive);
      digitalWrite(pinMotorEnable, gearsDriverChip.enableActive);
    }
  }
  if  (digitalRead(pinMotorRightFault) == gearsDriverChip.faultActive) {
    if (gearsDriverChip.resetFaultByToggleEnable){
      digitalWrite(pinMotorEnable, !gearsDriverChip.enableActive);
      digitalWrite(pinMotorEnable, gearsDriverChip.enableActive);
    }
  }
  if (digitalRead(pinMotorMowFault) == mowDriverChip.faultActive) {
    if (mowDriverChip.resetFaultByToggleEnable){
      digitalWrite(pinMotorMowEnable, !mowDriverChip.enableActive);
      digitalWrite(pinMotorMowEnable, mowDriverChip.enableActive);
    }
  }
   //Testweise rücksetzen der Bremse für den JYQD2021
  digitalWrite(pinRemoteSwitch, LOW);
  digitalWrite(pinRemoteSpeed, LOW);
  digitalWrite(pinMotorLeftDir, LOW);
  digitalWrite(pinMotorRightDir, LOW);
  //Ende
 
Hier ist die versprochene Änderung zum testen (AmRobotDriver.cpp). Die letzten Zeilen in der resetMotorFaults müssen ergänzt werden:
Wahr wohl nix. Hier noch mal ein Update, das bitte testen:
Code:
//Testweise rücksetzen der Bremse für den JYQD2021
  digitalWrite(pinRemoteSwitch, LOW);
  digitalWrite(pinRemoteSpeed, LOW);
  digitalWrite(pinMotorLeftDir, LOW);
  digitalWrite(pinMotorRightDir, LOW);
  CONSOLE.println("Starting Recovery JYQD2021 Driver. Brake-Pins and Dir-Pins are LOW for 500ms");
  delay(500);
  //Ende
 
die Frage ist, warum schaltet der Treiber überhaupt ab oder aber löst sich die Bremse einfach nur nicht, weil z.B. keine "saubere" Masse anliegt.

Da ich nun eh stärkere Mähmotoren habe, die ich wegen möglichen hohen Strömen nicht über das PCP betreiben kann, überlege ich mir so MOSFET-Triggerschaltungen zu holen(so Zeug kostet ja heute nix mehr), die könnte ich z.B. mit dem enable-Pin des Brushlessadapter aktiveren, so könnte auch die Togglefunktion, also ein Rücksetzen/Ausschalten der Treiber erfolgen.
 
Das ist eine gute Frage. Ich habe schon unter unterschiedlichen Lasten versucht den Treiber zum abschalten zu bewegen. Keine Chance. Beim JYQD 2017 reicht es hingegen das Rad festzuhalten während man PWM drauf gibt. Es muss ein Testcase sein, wo die Bremse im Spiel ist, ohne Bremse scheint es den Treiber nicht zu jucken, welche Last anliegt.
 
Das ist eine gute Frage. Ich habe schon unter unterschiedlichen Lasten versucht den Treiber zum abschalten zu bewegen. Keine Chance. Beim JYQD 2017 reicht es hingegen das Rad festzuhalten während man PWM drauf gibt. Es muss ein Testcase sein, wo die Bremse im Spiel ist, ohne Bremse scheint es den Treiber nicht zu jucken, welche Last anliegt.
Falls Dein Code keine Besserung bringt versuche ich mal den den enable-Pin vom Brushlessadapter an den Stop-Eingang des Treibers anzuschließen und das "JYQD.resetFaultByToggleEnable = true; // reset a fault by toggling enable? " auf true setzen.
Laut der Beschreibung hier kann man das Stop durchaus als Enable-Eingang sehen.


1662548736442.png
 
Verlierst aber einen Freiheitsgrad, es gibt nur einen Enable PIN für beide Motoren. Keine Ahnung wie sich das in Praxis auswirkt. Wieviele Situationen gibt es wo die Motoren separat voneinander gebremst werden sollen
 
Wieviele Situationen gibt es wo die Motoren separat voneinander gebremst werden sollen

Das kommt doch bei jeder Drehung am Hang vor, wenn er da nicht einzeln ein Rad bremst bei einer 180° Drehung dann rollt der Roboter unkontrolliert mit dem anderen Rad weg und verhindert eine saubere Drehung? Wobei das sind ja meist 2x 90°, da könnte dauerhaft RPM anliegen.
 
Verlierst aber einen Freiheitsgrad, es gibt nur einen Enable PIN für beide Motoren. Keine Ahnung wie sich das in Praxis auswirkt. Wieviele Situationen gibt es wo die Motoren separat voneinander gebremst werden sollen
Das kommt doch bei jeder Drehung am Hang vor, wenn er da nicht einzeln ein Rad bremst bei einer 180° Drehung dann rollt der Roboter unkontrolliert mit dem anderen Rad weg und verhindert eine saubere Drehung? Wobei das sind ja meist 2x 90°, da könnte dauerhaft RPM anliegen.
Ihr Beiden habt meinen Beitrag schon richtig gelesen oder? Ich rede von dem Stop Eingang am Treiber und nicht von der Bremse!
 
Das würde ich nicht machen, dieser ist direkt mit dem PWM Eingang verbunden, wenn da HIGH Pegel anliegt, was bei Treiber aktiv der Fall sein wird, gibt dein Motor dann Vollgas. Der muss potentialfrei geschaltet werden
 
Das würde ich nicht machen, dieser ist direkt mit dem PWM Eingang verbunden, wenn da HIGH Pegel anliegt, was bei Treiber aktiv der Fall sein wird, gibt dein Motor dann Vollgas. Der muss potentialfrei geschaltet werden
wie meinst Du das der ist direkt verbunden? Am Brushlessadapter/M4 oder am Treiber selbst?
Meine Meinung war, dass der Enable Pin zwar nur einmal vorhanden ist für beide Antriebsmotoren gleichzeitig, ist ja auch so in der config.h beschrieben.
#define pinMotorEnable 37 // EN motors enable

Warum sollte der dann mit dem PWM Pin eine Verbindung haben?
#define pinMotorLeftPWM 5 // M1_IN1 left motor PWM pin
#define pinMotorRightPWM 3 // M2_IN1 right motor PWM pin
 
Zuletzt bearbeitet:
muss leider gleich in die Arbeit, habe versucht den Fehler mit aufgebockten Rover zu simulieren, leider kam nie das Abschalten eines Treibers (was ja klar war, wenn man was testen will ;-) ...daher könntest Du
@eRacoon
mal bitte folgendes probieren, bei Dir scheint es ja häufiger aufzutreten.

in der AmDriverRobot.cpp mal die letzen Änderungen von EinEinach weglassen mit dem Rücksetzen der Treiber,

stattdessen in der Datei das Rote hinzufügen (natürlich auf Deinen Remoteswitch umändern, ich benutze ja den Userswitch, in der config.h verwende ich zusätzlich zum Ein/Ausschalten der Bremse noch die Variable
#define JYQD_Brake true //use brake funktion of jyqd 2021 Driver
)

// left wheel motor
pinMode(pinMotorEnable, OUTPUT);
digitalWrite(pinMotorEnable, gearsDriverChip.enableActive);
pinMode(pinMotorLeftPWM, OUTPUT);
pinMode(pinMotorLeftDir, OUTPUT);
pinMode(pinMotorLeftSense, INPUT);
pinMode(pinMotorLeftFault, INPUT);
pinMode(pinUserSwitch1, OUTPUT); //Brake für JYQD 2021 bei 0% PWM
digitalWrite(pinUserSwitch1, LOW);

// right wheel motor
pinMode(pinMotorRightPWM, OUTPUT);
pinMode(pinMotorRightDir, OUTPUT);
pinMode(pinMotorRightSense, INPUT);
pinMode(pinMotorRightFault, INPUT);
pinMode(pinUserSwitch2, OUTPUT); //Brake für JYQD 2021 bei 0% PWM
digitalWrite(pinUserSwitch2, LOW);

.....ungefähr bei Zeile 450

//Brake über pinUserSwitch für die JYQD 2021
if ((leftPwm != 0) && (JYQD_Brake == true)){digitalWrite(pinUserSwitch1, LOW);}
if ((rightPwm != 0) && (JYQD_Brake == true)){digitalWrite(pinUserSwitch2, LOW);}


// apply motor PWMs
setMotorDriver(pinMotorLeftDir, pinMotorLeftPWM, leftPwm, gearsDriverChip, leftSpeedSign);
setMotorDriver(pinMotorRightDir, pinMotorRightPWM, rightPwm, gearsDriverChip, rightSpeedSign);
setMotorDriver(pinMotorMowDir, pinMotorMowPWM, mowPwm, mowDriverChip, mowSpeedSign);

...............ungefähr bei Zeile 472 /am Ende der Funktion

digitalWrite(pinMotorMowEnable, enableMow);
}
//Brake über pinUserSwitch für die JYQD 2021
if ((leftPwm == 0) && (JYQD_Brake == true)){digitalWrite(pinUserSwitch1, HIGH);}
if ((rightPwm == 0) && (JYQD_Brake == true)){digitalWrite(pinUserSwitch2, HIGH);}
//ENDE

}
 
also ich habe das gerade mal mit dem Stop Eingang am Treiber getestet, bei mir hat dieser Anschluss am Treiber überhaupt keine Funktion weder mit 5V noch mit GND Pegel. Hab auch extra noch ein Poti angesteckt, nix. Hab zwar einen zs-x11h Treiber, aber auch da ist eigentlich der Pin gleich beschrieben. Komisch...wenn mein Ersatztreiber eintrifft, dann probier ich es da nochmal.

Leider habe ich heute wieder keinen Fehler mit aufgebocktem Rover produzieren können...frustierend
 
Hallo zusammen,
ich behaupte mal, das mit meiner letzten Änderung lässt sich der Treiber im Fehlerfall wieder zu beleben. Ich hatte heute was im Log gesehen, was vielversprechend aussieht:
Code:
08:43:51.289 -> no IMU rotation speed detected for requested rotation => assuming obstacle
08:43:51.289 -> triggerObstacleRotation
08:43:51.323 -> ==> changeOp:EscapeReverse->Mow
08:43:52.351 -> 21:3:4 ctlDur=0.02 op=EscapeReverse->Mow freem=194507 sp=484611A bat=26.87(0.46) chg=0.69(0.05) tg=-3.39,-3.89 x=-3.66 y=-3.67 delta=1.29 tow=542650200 lon=10.43183303 lat=52.44010330 h=106.5 n=4358.42 e=-2450.84 d=1.99 sol=2 age=0.02
08:43:54.339 -> driveReverseStopTime
08:43:54.339 -> continue operation with virtual obstacle
08:43:54.339 -> addObstacle -3.08,-4.02
08:43:54.339 -> ==> changeOp:Mow
08:43:54.388 -> OP_MOW
08:43:54.388 -> Map::startMowing
08:43:54.388 -> findObstacleSafeMowPoint checking 8.93,-0.01
08:43:54.388 -> findPath (-3.68,-3.76) (-2.59,-3.08)
08:43:54.388 -> path finder is enabled
08:43:54.388 -> freem=194363
08:43:54.388 -> starting path-finder
08:43:54.388 -> .finish nodes=204 duration=322
08:43:54.671 -> node pt=-2.59,-3.08
08:43:54.671 -> node pt=-2.48,-3.81
08:43:54.671 -> node pt=-2.48,-4.21
08:43:54.671 -> node pt=-2.88,-4.61
08:43:54.718 -> node pt=-3.28,-4.61
08:43:54.718 -> node pt=-3.68,-4.21
08:43:54.718 -> node pt=-3.68,-3.76
08:43:54.718 -> WARN: PID unmet cycle time Ta=0.36 TaMax=0.07
08:43:54.718 -> WARN: PID unmet cycle time Ta=0.36 TaMax=0.07
08:43:57.358 -> 21:3:9 ctlDur=0.02 op=Mow freem=194507 sp=48474A3 bat=26.89(0.39) chg=0.67(0.05) tg=-3.68,-4.21 x=-3.68 y=-3.77 delta=1.54 tow=542655200 lon=10.43183271 lat=52.44010242 h=106.5 n=4358.30 e=-2450.87 d=1.98 sol=2 age=0.14
08:44:01.569 -> batTemp=0.0  cpuTemp=43
08:44:02.398 -> 21:3:14 ctlDur=0.02 op=Mow freem=194507 sp=484882D bat=26.91(0.34) chg=0.67(0.05) tg=-3.68,-4.21 x=-3.68 y=-3.77 delta=1.53 tow=542660200 lon=10.43183274 lat=52.44010241 h=106.5 n=4358.29 e=-2450.86 d=1.98 sol=2 age=0.13
08:44:07.403 -> 21:3:19 ctlDur=0.02 op=Mow freem=194507 sp=4849BB6 bat=26.93(0.32) chg=0.66(0.05) tg=-3.68,-4.21 x=-3.65 y=-3.68 delta=1.00 tow=542665200 lon=10.43183304 lat=52.44010315 h=106.5 n=4358.40 e=-2450.84 d=2.00 sol=2 age=0.06
08:44:08.828 -> ERROR: odometry error rpm=9.42,-0.00
08:44:09.856 -> motor fault recover counter 1
08:44:09.856 -> Starting Recovery JYQD2021 Driver. Brake-Pins and Dir-Pins are LOW for 500ms
08:44:10.353 -> WARN: PID unmet cycle time Ta=0.55 TaMax=0.07
08:44:10.353 -> WARN: PID unmet cycle time Ta=0.55 TaMax=0.07
08:44:12.409 -> 21:3:24 ctlDur=0.02 op=Mow freem=194507 sp=484AF3F bat=26.93(0.31) chg=0.69(0.05) tg=-3.68,-4.21 x=-3.60 y=-3.61 delta=0.65 tow=542670200 lon=10.43183383 lat=52.44010382 h=106.5 n=4358.48 e=-2450.79 d=2.00 sol=2 age=0.04
08:44:17.448 -> 21:3:29 ctlDur=0.02 op=Mow freem=194507 sp=484C2C8 bat=26.92(0.34) chg=0.68(0.05) tg=-3.68,-4.21 x=-3.61 y=-3.61 delta=0.65 tow=542675200 lon=10.43183382 lat=52.44010385 h=106.5 n=4358.48 e=-2450.79 d=2.00 sol=2 age=0.29
08:44:19.933 -> resetting recoverMotorFaultCounter
08:44:22.453 -> 21:3:34 ctlDur=0.02 op=Mow freem=194507 sp=484D653 bat=26.90(0.40) chg=0.68(0.05) tg=-3.68,-4.21 x=-3.60 y=-3.61 delta=-0.91 tow=542680200 lon=10.43183385 lat=52.44010381 h=106.5 n=4358.48 e=-2450.79 d=1.99 sol=2 age=0.24
08:44:27.490 -> 21:3:39 ctlDur=0.02 op=Mow freem=194507 sp=484E9DC bat=26.89(0.44) chg=0.68(0.05) tg=-3.68,-4.21 x=-3.67 y=-3.93 delta=-1.84 tow=542685200 lon=10.43183292 lat=52.44010113 h=106.5 n=4358.15 e=-2450.85 d=1.99 sol=2 age=1.06
08:44:32.031 -> dumpState:  X=-3.66 Y=-4.29 delta=-0.89 mapCRC=-1521147 mowPointsIdx=156 dockPointsIdx=2 freePointsIdx=2 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
08:44:32.065 -> save state... ok

Zum Vergleich ein alter Log, wo der Treiber ausgestiegen ist und der Rover mit liegen geblieben ist:
Code:
08:34:49.195 -> bumper obstacle!
08:34:49.195 -> triggerObstacle
08:34:49.443 -> ==> changeOp:EscapeReverse->Mow
08:34:51.294 -> 11:29:25 ctlDur=0.02 op=EscapeReverse->Mow freem=219291 sp=2772EFC bat=28.09(0.66) chg=0.65(0.03) tg=-11.75,4.98 x=-10.10 y=2.37 delta=2.09 tow=282909000 lon=10.43173795 lat=52.44015775 h=106.4 n=4366.61 e=-2454.20 d=2.35 sol=2 age=0.09
08:34:52.225 -> driveReverseStopTime
08:34:52.225 -> continue operation with virtual obstacle
08:34:52.356 -> addObstacle -10.42,2.82
08:34:52.356 -> ==> changeOp:Mow
08:34:52.356 -> OP_MOW
08:34:52.356 -> Map::startMowing
08:34:52.356 -> findObstacleSafeMowPoint checking -11.75,4.98
08:34:52.356 -> findPath (-10.07,2.26) (-11.75,4.98)
08:34:52.356 -> path finder is enabled
08:34:52.356 -> freem=214707
08:34:52.356 -> starting path-finder
08:34:52.356 -> .finish nodes=184 duration=93
08:34:52.356 -> node pt=-11.75,4.98
08:34:52.356 -> node pt=-11.01,2.61
08:34:52.356 -> node pt=-10.61,2.21
08:34:52.356 -> node pt=-10.21,2.21
08:34:52.356 -> node pt=-10.07,2.26
08:34:52.356 -> WARN: PID unmet cycle time Ta=0.10 TaMax=0.07
08:34:52.356 -> WARN: PID unmet cycle time Ta=0.11 TaMax=0.07
08:34:56.318 -> 11:29:30 ctlDur=0.02 op=Mow freem=214843 sp=2774286 bat=28.14(0.50) chg=0.64(0.03) tg=-10.21,2.21 x=-10.07 y=2.25 delta=2.08 tow=282914200 lon=10.43173845 lat=52.44015654 h=106.4 n=4366.50 e=-2454.15 d=2.36 sol=2 age=0.08
08:35:01.341 -> 11:29:35 ctlDur=0.02 op=Mow freem=214843 sp=2775610 bat=28.18(0.41) chg=0.64(0.04) tg=-10.21,2.21 x=-10.07 y=2.28 delta=2.09 tow=282919200 lon=10.43173844 lat=52.44015681 h=106.4 n=4366.51 e=-2454.15 d=2.36 sol=2 age=1.13
08:35:06.365 -> 11:29:40 ctlDur=0.02 op=Mow freem=214843 sp=277699A bat=28.18(0.40) chg=0.66(0.03) tg=-10.21,2.21 x=-10.11 y=2.25 delta=-2.89 tow=282924200 lon=10.43173791 lat=52.44015650 h=106.4 n=4366.50 e=-2454.19 d=2.35 sol=2 age=0.09
08:35:11.385 -> 11:29:45 ctlDur=0.02 op=Mow freem=214843 sp=2777D23 bat=28.08(0.54) chg=0.66(0.03) tg=-10.21,2.21 x=-10.11 y=2.24 delta=-2.93 tow=282929200 lon=10.43173790 lat=52.44015642 h=106.4 n=4366.49 e=-2454.19 d=2.35 sol=2 age=0.18
08:35:16.379 -> 11:29:50 ctlDur=0.02 op=Mow freem=214843 sp=27790AE bat=28.11(0.48) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282934200 lon=10.43173804 lat=52.44015674 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:35:21.400 -> 11:29:55 ctlDur=0.02 op=Mow freem=214843 sp=277A437 bat=28.14(0.46) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282939200 lon=10.43173831 lat=52.44015674 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.20
08:35:26.423 -> 11:30:0 ctlDur=0.02 op=Mow freem=214843 sp=277B7C2 bat=28.15(0.46) chg=0.66(0.03) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282944200 lon=10.43173831 lat=52.44015673 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:35:27.122 -> ERROR: odometry error rpm=0.00,0.00
08:35:28.155 -> motor fault recover counter 1
08:35:31.449 -> 11:30:5 ctlDur=0.02 op=Mow freem=214843 sp=277CB4D bat=28.17(0.39) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282949200 lon=10.43173832 lat=52.44015672 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.30
08:35:36.441 -> 11:30:10 ctlDur=0.02 op=Mow freem=214843 sp=277DED7 bat=28.19(0.34) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282954200 lon=10.43173832 lat=52.44015673 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.22
08:35:38.239 -> resetting recoverMotorFaultCounter
08:35:41.099 -> batTemp=0.0  cpuTemp=48
08:35:41.099 -> ERROR: odometry error rpm=0.00,0.00
08:35:41.465 -> 11:30:15 ctlDur=0.02 op=Mow freem=214843 sp=277F260 bat=28.20(0.31) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282959200 lon=10.43173833 lat=52.44015674 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.27
08:35:42.131 -> motor fault recover counter 1
08:35:46.489 -> 11:30:20 ctlDur=0.02 op=Mow freem=214843 sp=27805EB bat=28.20(0.33) chg=0.68(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282964200 lon=10.43173834 lat=52.44015673 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=1.20
08:35:51.510 -> 11:30:25 ctlDur=0.02 op=Mow freem=214843 sp=2781975 bat=28.18(0.37) chg=0.66(0.03) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282969200 lon=10.43173833 lat=52.44015672 h=106.4 n=4366.50 e=-2454.17 d=2.36 sol=2 age=1.20
08:35:52.176 -> resetting recoverMotorFaultCounter
08:35:55.041 -> ERROR: odometry error rpm=0.00,0.00
08:35:56.072 -> motor fault recover counter 1
08:35:56.537 -> 11:30:30 ctlDur=0.02 op=Mow freem=214843 sp=2782CFE bat=28.18(0.38) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282974400 lon=10.43173804 lat=52.44015650 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.30
08:36:01.526 -> 11:30:35 ctlDur=0.02 op=Mow freem=214843 sp=2784089 bat=28.19(0.34) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282979400 lon=10.43173833 lat=52.44015675 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=1.29
08:36:06.145 -> resetting recoverMotorFaultCounter
08:36:06.544 -> 11:30:40 ctlDur=0.02 op=Mow freem=214843 sp=2785414 bat=28.20(0.30) chg=0.66(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.94 tow=282984400 lon=10.43173805 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.35
08:36:09.107 -> ERROR: odometry error rpm=0.00,0.00
08:36:10.137 -> motor fault recover counter 1
08:36:11.570 -> 11:30:45 ctlDur=0.02 op=Mow freem=214843 sp=278679E bat=28.20(0.30) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282989400 lon=10.43173832 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.30
08:36:16.591 -> 11:30:50 ctlDur=0.02 op=Mow freem=214843 sp=2787B28 bat=28.19(0.33) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.28 delta=-2.94 tow=282994400 lon=10.43173831 lat=52.44015675 h=106.4 n=4366.50 e=-2454.18 d=2.36 sol=2 age=0.17
08:36:20.214 -> resetting recoverMotorFaultCounter
08:36:21.612 -> 11:30:55 ctlDur=0.02 op=Mow freem=214843 sp=2788EB6 bat=28.17(0.38) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282999400 lon=10.43173833 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.37
08:36:23.112 -> ERROR: odometry error rpm=0.00,0.00
08:36:24.142 -> motor fault recover counter 1
08:36:26.640 -> 11:31:0 ctlDur=0.02 op=Mow freem=214843 sp=278A240 bat=28.18(0.36) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=283004400 lon=10.43173834 lat=52.44015675 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.42
08:36:31.630 -> 11:31:5 ctlDur=0.02 op=Mow freem=214843 sp=278B5CB bat=28.19(0.32) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283009400 lon=10.43173832 lat=52.44015652 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.38
08:36:34.189 -> resetting recoverMotorFaultCounter
08:36:36.655 -> 11:31:10 ctlDur=0.02 op=Mow freem=214843 sp=278C954 bat=28.19(0.30) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283014400 lon=10.43173832 lat=52.44015652 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:36:37.220 -> ERROR: odometry error rpm=0.00,0.00
08:36:38.251 -> motor fault recover counter 1
08:36:41.275 -> batTemp=0.0  cpuTemp=48
08:36:41.674 -> 11:31:15 ctlDur=0.02 op=Mow freem=214843 sp=278DCDF bat=28.19(0.31) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283019400 lon=10.43173833 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.34
08:36:46.699 -> 11:31:20 ctlDur=0.02 op=Mow freem=214843 sp=278F06A bat=28.18(0.35) chg=0.66(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283024400 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:36:47.929 -> sending encryptMode=0 encryptChallenge=0
08:36:48.294 -> resetting recoverMotorFaultCounter
08:36:51.294 -> ERROR: odometry error rpm=0.00,0.00
08:36:51.692 -> 11:31:25 ctlDur=0.02 op=Mow freem=214843 sp=27903F4 bat=28.16(0.39) chg=0.66(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283029400 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:36:52.325 -> motor fault recover counter 1
08:36:56.717 -> 11:31:30 ctlDur=0.02 op=Mow freem=214843 sp=279177D bat=28.17(0.34) chg=0.67(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283034600 lon=10.43173811 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:37:01.738 -> 11:31:35 ctlDur=0.02 op=Mow freem=214843 sp=2792B08 bat=28.18(0.31) chg=0.65(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283039600 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.49
08:37:02.370 -> resetting recoverMotorFaultCounter
08:37:05.398 -> ERROR: odometry error rpm=0.00,0.00
08:37:06.429 -> motor fault recover counter 1
08:37:06.762 -> 11:31:40 ctlDur=0.02 op=Mow freem=214843 sp=2793E91 bat=28.19(0.30) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283044600 lon=10.43173833 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.61
08:37:11.781 -> 11:31:45 ctlDur=0.02 op=Mow freem=214843 sp=279521A bat=28.18(0.32) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283049600 lon=10.43173832 lat=52.44015654 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.51
08:37:16.468 -> resetting recoverMotorFaultCounter
08:37:16.767 -> 11:31:50 ctlDur=0.02 op=Mow freem=214843 sp=27965A4 bat=28.16(0.37) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283054600 lon=10.43173831 lat=52.44015654 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.58
08:37:19.527 -> ERROR: odometry error rpm=0.00,0.00
08:37:20.558 -> motor fault recover counter 1

Wie man sieht im ersten Log kommt der Rover aus dem ODO-Fehler raus, beim zweiten nicht.

Wie sind eure Erfahrungen mit der Änderungen?

Gruß
Alexander
 
cool, dann werd ich mal Deinen Code übernehmen, das könnte dann wirklich an der Odometrie liegen, habe gesehen, dass ich als einziges noch die Odo-Fehlererkennung auf true hatte. (Overload und fault etc. waren schon lange auf false)
Daher könnte das auch der Grund sein, warum ich den Fehler mit aufgebocktem Rover nicht nachstellen kann, weil ja kein Widerstand vorhanden ist.

Allerdings verstehe ich nicht warum mein Treiber auch schon ausgestiegen ist, als dieser im RC-Modus stand, dann Mähmotor ausgeschalten, wollte weiterfahren, aber eine Seite ist ausgestiegen. Aber wie gesagt, das konnte ich auch nicht nachstellen.

Es schüttet die letzten Tage immer, daher kann ich noch nichts testen. Werde frühestens Montag dazu kommen.
 
So, ich behaupte mal das funktioniert tatsächlich. Hier noch mal der Fall, wo der Treiber ausgestiegen ist und erfolgreich zurückgesetzt wurde
Code:
16:01:43.032 -> bumper obstacle!
16:01:43.032 -> triggerObstacle
16:01:43.066 -> ==> changeOp:EscapeReverse->Mow
16:01:43.829 -> 28:19:36 ctlDur=0.02 op=EscapeReverse->Mow freem=194507 sp=61407C8 bat=26.37(0.56) chg=0.68(0.06) tg=7.24,-31.48 x=7.55 y=-31.42 delta=0.49 tow=568921600 lon=10.43199832 lat=52.43985383 h=107.3 n=4354.39 e=-2453.95 d=2.10 sol=2 age=0.56
16:01:46.083 -> driveReverseStopTime
16:01:46.083 -> continue operation with virtual obstacle
16:01:46.083 -> addObstacle 7.10,-31.51
16:01:46.117 -> ==> changeOp:Mow
16:01:46.117 -> OP_MOW
16:01:46.117 -> Map::startMowing
16:01:46.117 -> findObstacleSafeMowPoint checking 7.24,-31.48
16:01:46.117 -> findObstacleSafeMowPoint checking 7.05,-31.70
16:01:46.117 -> findObstacleSafeMowPoint checking 7.02,-31.90
16:01:46.117 -> findObstacleSafeMowPoint checking 7.08,-32.12
16:01:46.117 -> findPath (7.73,-31.37) (7.07,-32.09)
16:01:46.117 -> path finder is enabled
16:01:46.117 -> freem=194363
16:01:46.117 -> starting path-finder
16:01:46.117 -> .finish nodes=188 duration=746
16:01:46.847 -> node pt=7.07,-32.09
16:01:46.847 -> node pt=6.82,-32.53
16:01:46.847 -> node pt=6.34,-32.83
16:01:46.847 -> node pt=5.84,-32.73
16:01:46.847 -> node pt=5.52,-32.34
16:01:46.847 -> node pt=5.51,-31.83
16:01:46.881 -> node pt=6.26,-30.28
16:01:46.881 -> node pt=6.43,-30.06
16:01:46.881 -> node pt=6.66,-29.93
16:01:46.881 -> node pt=6.96,-29.94
16:01:46.881 -> node pt=7.27,-30.18
16:01:46.881 -> node pt=7.73,-31.37
16:01:46.881 -> WARN: PID unmet cycle time Ta=0.78 TaMax=0.07
16:01:46.881 -> WARN: PID unmet cycle time Ta=0.78 TaMax=0.07
16:01:47.577 -> dumpState:  X=7.77 Y=-31.40 delta=-2.80 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=1 freePointsIdx=1 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:01:47.577 -> save state... ok
16:01:48.838 -> 28:19:41 ctlDur=0.02 op=Mow freem=194507 sp=6141B53 bat=26.40(0.47) chg=0.69(0.06) tg=7.27,-30.18 x=7.77 y=-31.41 delta=-2.80 tow=568926600 lon=10.43200152 lat=52.43985394 h=107.3 n=4354.43 e=-2453.73 d=2.07 sol=2 age=0.47
16:01:53.878 -> 28:19:46 ctlDur=0.02 op=Mow freem=194507 sp=6142EDD bat=26.44(0.39) chg=0.69(0.06) tg=7.27,-30.18 x=7.75 y=-31.40 delta=-2.79 tow=568931600 lon=10.43200131 lat=52.43985395 h=107.3 n=4354.43 e=-2453.73 d=2.08 sol=2 age=0.57
16:01:58.886 -> 28:19:51 ctlDur=0.02 op=Mow freem=194507 sp=6144267 bat=26.45(0.35) chg=0.67(0.06) tg=7.27,-30.18 x=7.75 y=-31.41 delta=2.74 tow=568936600 lon=10.43200124 lat=52.43985392 h=107.3 n=4354.43 e=-2453.73 d=2.09 sol=2 age=0.66
16:02:03.904 -> 28:19:56 ctlDur=0.02 op=Mow freem=194507 sp=61455F0 bat=26.45(0.35) chg=0.71(0.06) tg=7.27,-30.18 x=7.57 y=-30.92 delta=2.06 tow=568941600 lon=10.43199891 lat=52.43985810 h=107.3 n=4354.90 e=-2453.89 d=2.05 sol=2 age=0.71
16:02:08.910 -> 28:20:1 ctlDur=0.02 op=Mow freem=194507 sp=614697A bat=26.45(0.35) chg=0.68(0.06) tg=7.27,-30.18 x=7.32 y=-30.27 delta=2.08 tow=568946800 lon=10.43199472 lat=52.43986413 h=107.3 n=4355.54 e=-2454.17 d=2.10 sol=2 age=0.47
16:02:12.664 -> dumpState:  X=7.13 Y=-30.06 delta=2.46 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=2 freePointsIdx=2 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:12.664 -> save state... ok
16:02:13.925 -> 28:20:6 ctlDur=0.02 op=Mow freem=194507 sp=6147D08 bat=26.41(0.46) chg=0.71(0.05) tg=6.96,-29.94 x=7.03 y=-29.97 delta=2.65 tow=568951800 lon=10.43199073 lat=52.43986682 h=107.2 n=4355.84 e=-2454.44 d=2.12 sol=2 age=1.05
16:02:17.684 -> dumpState:  X=6.75 Y=-29.90 delta=3.07 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=3 freePointsIdx=3 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:17.684 -> save state... ok
16:02:18.944 -> 28:20:11 ctlDur=0.02 op=Mow freem=194507 sp=6149093 bat=26.40(0.49) chg=0.69(0.05) tg=6.43,-30.06 x=6.69 y=-29.94 delta=-2.97 tow=568956800 lon=10.43198561 lat=52.43986714 h=107.2 n=4355.90 e=-2454.79 d=2.12 sol=2 age=0.60
16:02:22.459 -> batTemp=0.0  cpuTemp=49
16:02:22.693 -> dumpState:  X=6.41 Y=-30.05 delta=-2.41 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=5 freePointsIdx=5 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:22.693 -> save state... ok
16:02:23.985 -> 28:20:16 ctlDur=0.02 op=Mow freem=194507 sp=614A41D bat=26.40(0.50) chg=0.68(0.05) tg=6.26,-30.28 x=6.32 y=-30.13 delta=-2.18 tow=568961800 lon=10.43198023 lat=52.43986545 h=107.2 n=4355.68 e=-2455.16 d=2.14 sol=2 age=1.46
16:02:27.732 -> dumpState:  X=6.00 Y=-30.83 delta=-2.05 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=6 freePointsIdx=6 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:27.732 -> save state... ok
16:02:28.993 -> 28:20:21 ctlDur=0.02 op=Mow freem=194507 sp=614B7A8 bat=26.38(0.52) chg=0.69(0.06) tg=5.51,-31.83 x=5.86 y=-31.20 delta=-2.05 tow=568966800 lon=10.43197365 lat=52.43985604 h=107.2 n=4354.67 e=-2455.62 d=2.14 sol=2 age=0.66
16:02:34.031 -> 28:20:26 ctlDur=0.02 op=Mow freem=194507 sp=614CB32 bat=26.38(0.53) chg=0.68(0.05) tg=5.51,-31.83 x=5.53 y=-31.78 delta=-2.01 tow=568971800 lon=10.43196862 lat=52.43985062 h=107.2 n=4354.06 e=-2455.95 d=2.18 sol=2 age=1.57
16:02:37.745 -> dumpState:  X=5.49 Y=-32.05 delta=-1.54 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=7 freePointsIdx=7 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:37.778 -> save state... ok
16:02:39.039 -> 28:20:31 ctlDur=0.02 op=Mow freem=194507 sp=614DEBC bat=26.38(0.54) chg=0.69(0.05) tg=5.52,-32.34 x=5.52 y=-32.17 delta=-1.46 tow=568976800 lon=10.43196841 lat=52.43984721 h=107.2 n=4353.66 e=-2455.98 d=2.15 sol=2 age=1.79
16:02:42.784 -> dumpState:  X=5.57 Y=-32.40 delta=-0.99 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=8 freePointsIdx=8 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:42.784 -> save state... ok
16:02:44.044 -> 28:20:36 ctlDur=0.02 op=Mow freem=194507 sp=614F246 bat=26.37(0.55) chg=0.68(0.05) tg=5.84,-32.73 x=5.64 y=-32.51 delta=-0.89 tow=568981800 lon=10.43197014 lat=52.43984405 h=107.3 n=4353.33 e=-2455.85 d=2.07 sol=2 age=0.67
16:02:47.792 -> dumpState:  X=5.83 Y=-32.71 delta=-0.52 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=9 freePointsIdx=9 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:47.792 -> save state... ok
16:02:49.085 -> 28:20:41 ctlDur=0.02 op=Mow freem=194507 sp=61505D1 bat=26.36(0.55) chg=0.66(0.06) tg=6.34,-32.83 x=5.93 y=-32.77 delta=-0.37 tow=568986800 lon=10.43197434 lat=52.43984174 h=107.3 n=4353.08 e=-2455.58 d=2.06 sol=2 age=0.64
16:02:54.091 -> 28:20:46 ctlDur=0.02 op=Mow freem=194507 sp=615195C bat=26.36(0.55) chg=0.71(0.06) tg=6.82,-32.53 x=6.30 y=-32.80 delta=-0.53 tow=568991800 lon=10.43197995 lat=52.43984145 h=107.3 n=4353.01 e=-2455.18 d=2.04 sol=2 age=0.78
16:02:57.837 -> dumpState:  X=6.50 Y=-32.71 delta=0.46 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=10 freePointsIdx=10 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:02:57.837 -> save state... ok
16:02:59.099 -> 28:20:51 ctlDur=0.02 op=Mow freem=194507 sp=6152CE5 bat=26.37(0.54) chg=0.69(0.06) tg=6.82,-32.53 x=6.62 y=-32.64 delta=0.51 tow=568997000 lon=10.43198433 lat=52.43984283 h=107.3 n=4353.17 e=-2454.88 d=2.04 sol=2 age=0.78
16:03:02.847 -> dumpState:  X=6.82 Y=-32.49 delta=0.79 mapCRC=-1521147 mowPointsIdx=1029 dockPointsIdx=11 freePointsIdx=11 wayMode=4 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:03:02.847 -> save state... ok
16:03:04.140 -> 28:20:56 ctlDur=0.02 op=Mow freem=194507 sp=6154070 bat=26.37(0.53) chg=0.69(0.05) tg=7.07,-32.09 x=6.88 y=-32.43 delta=0.91 tow=569002000 lon=10.43198840 lat=52.43984473 h=107.3 n=4353.41 e=-2454.60 d=2.05 sol=2 age=0.82
16:03:07.856 -> clearObstacles
16:03:09.148 -> 28:21:1 ctlDur=0.02 op=Mow freem=194507 sp=61553F9 bat=26.35(0.56) chg=0.67(0.05) tg=7.21,-32.25 x=7.05 y=-32.09 delta=0.93 tow=569007000 lon=10.43199105 lat=52.43984783 h=107.3 n=4353.75 e=-2454.44 d=2.08 sol=2 age=0.68
16:03:14.154 -> 28:21:6 ctlDur=0.02 op=Mow freem=194507 sp=6156782 bat=26.37(0.49) chg=0.68(0.06) tg=7.21,-32.25 x=7.07 y=-32.04 delta=0.51 tow=569012000 lon=10.43199122 lat=52.43984821 h=107.3 n=4353.79 e=-2454.43 d=2.10 sol=2 age=0.83
16:03:19.194 -> 28:21:11 ctlDur=0.02 op=Mow freem=194507 sp=6157B0B bat=26.40(0.40) chg=0.70(0.06) tg=7.21,-32.25 x=7.07 y=-32.04 delta=0.52 tow=569017000 lon=10.43199122 lat=52.43984820 h=107.3 n=4353.79 e=-2454.43 d=2.09 sol=2 age=0.90
16:03:22.674 -> batTemp=0.0  cpuTemp=49
16:03:24.199 -> 28:21:16 ctlDur=0.02 op=Mow freem=194507 sp=6158E95 bat=26.40(0.40) chg=0.70(0.06) tg=7.21,-32.25 x=7.05 y=-32.03 delta=0.00 tow=569022000 lon=10.43199094 lat=52.43984834 h=107.3 n=4353.81 e=-2454.43 d=2.09 sol=2 age=0.93
16:03:29.205 -> 28:21:21 ctlDur=0.02 op=Mow freem=194507 sp=615A21E bat=26.40(0.39) chg=0.68(0.06) tg=7.21,-32.25 x=7.06 y=-32.03 delta=0.04 tow=569027000 lon=10.43199115 lat=52.43984834 h=107.3 n=4353.81 e=-2454.43 d=2.10 sol=2 age=0.97
16:03:34.245 -> 28:21:26 ctlDur=0.02 op=Mow freem=194507 sp=615B5A8 bat=26.41(0.35) chg=0.68(0.06) tg=7.21,-32.25 x=6.94 y=-32.02 delta=-0.04 tow=569032000 lon=10.43198932 lat=52.43984840 h=107.3 n=4353.82 e=-2454.56 d=2.09 sol=2 age=0.94
16:03:39.256 -> 28:21:31 ctlDur=0.02 op=Mow freem=194507 sp=615C931 bat=26.43(0.32) chg=0.69(0.06) tg=7.21,-32.25 x=6.94 y=-32.00 delta=-0.03 tow=569037000 lon=10.43198932 lat=52.43984863 h=107.3 n=4353.81 e=-2454.56 d=2.09 sol=2 age=1.02
16:03:42.149 -> ERROR: odometry error rpm=0.00,-0.00
16:03:43.175 -> motor fault recover counter 1
16:03:43.175 -> Starting Recovery JYQD2021 Driver. Brake-Pins and Dir-Pins are LOW for 500ms
16:03:43.672 -> WARN: PID unmet cycle time Ta=0.55 TaMax=0.07
16:03:43.672 -> WARN: PID unmet cycle time Ta=0.55 TaMax=0.07
16:03:44.271 -> 28:21:36 ctlDur=0.02 op=Mow freem=194507 sp=615DCBA bat=26.44(0.31) chg=0.67(0.06) tg=7.21,-32.25 x=6.94 y=-32.00 delta=-0.03 tow=569042000 lon=10.43198931 lat=52.43984862 h=107.3 n=4353.81 e=-2454.56 d=2.09 sol=2 age=1.63
16:03:49.281 -> 28:21:41 ctlDur=0.02 op=Mow freem=194507 sp=615F045 bat=26.44(0.29) chg=0.69(0.06) tg=7.21,-32.25 x=6.94 y=-32.03 delta=-0.05 tow=569047000 lon=10.43198934 lat=52.43984835 h=107.3 n=4353.81 e=-2454.56 d=2.09 sol=2 age=0.01
16:03:53.261 -> resetting recoverMotorFaultCounter
16:03:54.290 -> 28:21:46 ctlDur=0.02 op=Mow freem=194507 sp=61603CF bat=26.45(0.28) chg=0.67(0.06) tg=7.21,-32.25 x=6.94 y=-32.02 delta=-0.07 tow=569052200 lon=10.43198935 lat=52.43984841 h=107.3 n=4353.82 e=-2454.56 d=2.09 sol=2 age=1.76
16:03:59.334 -> 28:21:51 ctlDur=0.02 op=Mow freem=194507 sp=6161758 bat=26.45(0.28) chg=0.68(0.06) tg=7.21,-32.25 x=6.94 y=-32.00 delta=-0.06 tow=569057200 lon=10.43198932 lat=52.43984864 h=107.3 n=4353.81 e=-2454.56 d=2.08 sol=2 age=2.08
16:04:04.344 -> 28:21:56 ctlDur=0.02 op=Mow freem=194507 sp=6162AE3 bat=26.45(0.27) chg=0.68(0.05) tg=7.21,-32.25 x=6.94 y=-32.02 delta=-0.06 tow=569062200 lon=10.43198931 lat=52.43984841 h=107.3 n=4353.82 e=-2454.56 d=2.08 sol=2 age=0.06
16:04:09.350 -> 28:22:1 ctlDur=0.02 op=Mow freem=194507 sp=6163E6C bat=26.45(0.27) chg=0.69(0.06) tg=7.21,-32.25 x=6.94 y=-32.00 delta=-0.09 tow=569067200 lon=10.43198934 lat=52.43984863 h=107.3 n=4353.81 e=-2454.56 d=2.09 sol=2 age=0.22
16:04:14.361 -> 28:22:6 ctlDur=0.02 op=Mow freem=194507 sp=61651F6 bat=26.46(0.27) chg=0.68(0.06) tg=7.21,-32.25 x=6.94 y=-32.02 delta=-0.09 tow=569072200 lon=10.43198934 lat=52.43984840 h=107.3 n=4353.82 e=-2454.56 d=2.08 sol=2 age=0.18
16:04:19.402 -> 28:22:11 ctlDur=0.02 op=Mow freem=194507 sp=6166581 bat=26.45(0.31) chg=0.71(0.04) tg=7.21,-32.25 x=6.92 y=-31.99 delta=-0.12 tow=569077200 lon=10.43198912 lat=52.43984865 h=107.3 n=4353.82 e=-2454.55 d=2.09 sol=2 age=1.15
16:04:22.852 -> batTemp=0.0  cpuTemp=49
16:04:24.411 -> 28:22:16 ctlDur=0.02 op=Mow freem=194507 sp=616790A bat=26.43(0.36) chg=0.70(0.05) tg=7.21,-32.25 x=6.92 y=-32.02 delta=-0.12 tow=569082200 lon=10.43198912 lat=52.43984840 h=107.3 n=4353.82 e=-2454.55 d=2.09 sol=2 age=0.08
16:04:28.925 -> clearObstacles
16:04:29.424 -> 28:22:21 ctlDur=0.02 op=Mow freem=194507 sp=6168C94 bat=26.39(0.44) chg=0.68(0.05) tg=7.38,-32.36 x=7.20 y=-32.22 delta=-0.96 tow=569087200 lon=10.43199314 lat=52.43984671 h=107.3 n=4353.60 e=-2454.28 d=2.07 sol=2 age=1.06
16:04:32.609 -> clearObstacles
16:04:33.148 -> dumpState:  X=7.36 Y=-32.34 delta=-0.11 mapCRC=-1521147 mowPointsIdx=1032 dockPointsIdx=11 freePointsIdx=11 wayMode=3 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:04:33.148 -> save state... ok
16:04:34.441 -> 28:22:26 ctlDur=0.02 op=Mow freem=194507 sp=616A01F bat=26.37(0.47) chg=0.69(0.05) tg=7.60,-32.40 x=7.47 y=-32.39 delta=-0.10 tow=569092200 lon=10.43199691 lat=52.43984514 h=107.3 n=4353.45 e=-2454.03 d=2.03 sol=2 age=1.12
16:04:35.404 -> clearObstacles
16:04:38.155 -> dumpState:  X=7.73 Y=-32.37 delta=0.01 mapCRC=-1521147 mowPointsIdx=1033 dockPointsIdx=11 freePointsIdx=11 wayMode=3 op=1 sensor=0 sonar.enabled=1 fixTimeout=70 absolutePosSource=1 lon=10.43 lat=52.44
16:04:38.155 -> save state... ok

Jetzt ist natürlich die Frage, ob wir 500ms brauchen oder reicht es den Brake Pin und Dir Pin einfach kurz zurückzusetzen. Und mein Code ist natürlich quick und durty mit dem delay(500) lege ich natürlich den ganzen Programablauf still. Das kann man deutlich besser machen

Gruß
Alexander
 
Allerdings verstehe ich nicht warum mein Treiber auch schon ausgestiegen ist, als dieser im RC-Modus stand,
Ich vermute mal, wie du das schon vorhin erwähnt hast, das ist Timing Problem . PWM, Brake und und und unglücklich von der Sunray FW im RC Modus geschaltet. Eine bestimmte Kombination mag der Treiber nicht
 
Oben